KDE Con​​nect / GSConnect:如何使用 Android 设备锁定/解锁 Linux 桌面

KDE Con​​nect 和 GSConnect 支持从 Android 设备到 Linux 桌面运行命令。
本文介绍了如何通过 KDE Con​​nect Android 应用程序在您的 Android 设备上单击一下来锁定和解锁您的 Linux 桌面。 您还可以找到 GNOME 3.34 的解决方法,它的会话由 systemd 管理,并使这有点复杂。

KDE Con​​nect 是一种工具,它使运行 Linux 的桌面等设备和 Android 设备能够相互通信。 要使用它,您必须在 Linux 桌面上安装桌面组件,并在 Android 设备上安装 Android 应用程序。 GSConnect 是为 GNOME Shell 桌面创建的 KDE Con​​nect 的完整实现。

值得注意的是,我们将在本文中用于锁定/解锁屏幕的命令与桌面无关,并且适用于使用 logind 的任何桌面环境(和任何 Linux 发行版)。

更重要的是,
解锁屏幕时无需输入密码
. 这是因为我们将在下面使用的锁定/解锁命令不需要超级用户权限; 此外,unlock 命令能够在没有密码的情况下解锁您的会话,因为即使屏幕被锁定,KDE Con​​nect 也能够在您的 Linux 桌面上运行命令。

编辑:看一看显示使用 KDE Con​​nect Android 应用程序和安装在其上的 GSConnect 锁定/解锁屏幕的视频 Fedora 31(使用 GNOME 3.34;我使用 scrcpy 在桌面上显示我的 Android 手机屏幕):

要能够使用您的 Android 设备锁定/解锁您的屏幕,请打开 KDE Con​​nect / GSConnect 并:

  • KDE连接:在应用程序插件列表中,确保启用了“运行命令”插件,然后单击 Run commands 配置按钮
  • GSConnect:点击你的设备名称,你会发现一个 Commands 侧边栏中的部分
KDE 连接命令

下一个,
在桌面上使用 GNOME 3.32 或更早版本(这不适用于 GNOME 3.34 或更高版本!)在 KDE Con​​nect / GSConnect 中添加以下命令:

  • 锁屏: loginctl lock-session
  • 解锁屏幕: loginctl unlock-session

在您的 Linux 桌面上添加这些命令后,它们将显示在 KDE Con​​nect Android 应用程序中,在
Run Command

由于 GNOME 切换到使用 systemd(使用 GNOME 3.34)管理其会话,这些
loginctl lock/unlock

命令自行停止工作,需要会话 ID 来锁定或解锁屏幕。 不过,我设法为此制定了一个解决方法——一个使用的命令(见下文)
loginctl

列出所有会话,在会话列表中搜索当前用户,并检索该会话的 ID,然后使用
loginctl lock-session

或者
unlock-session

后跟会话 ID。

GSConnect 命令
GSConnect 命令

所以
如果您将 GSConnect 与 GNOME 3.34(或更新版本)一起使用,请使用以下命令,而不是我上面提到的命令:

  • 锁屏:
SESSION=$(loginctl list-sessions | grep $(whoami) | awk '{print $1}'); loginctl lock-session $SESSION