KDE Connect 和 GSConnect 支持从 Android 设备到 Linux 桌面运行命令。
本文介绍了如何通过 KDE Connect Android 应用程序在您的 Android 设备上单击一下来锁定和解锁您的 Linux 桌面。 您还可以找到 GNOME 3.34 的解决方法,它的会话由 systemd 管理,并使这有点复杂。
KDE Connect 是一种工具,它使运行 Linux 的桌面等设备和 Android 设备能够相互通信。 要使用它,您必须在 Linux 桌面上安装桌面组件,并在 Android 设备上安装 Android 应用程序。 GSConnect 是为 GNOME Shell 桌面创建的 KDE Connect 的完整实现。
值得注意的是,我们将在本文中用于锁定/解锁屏幕的命令与桌面无关,并且适用于使用 logind 的任何桌面环境(和任何 Linux 发行版)。
更重要的是,
解锁屏幕时无需输入密码
. 这是因为我们将在下面使用的锁定/解锁命令不需要超级用户权限; 此外,unlock 命令能够在没有密码的情况下解锁您的会话,因为即使屏幕被锁定,KDE Connect 也能够在您的 Linux 桌面上运行命令。
编辑:看一看显示使用 KDE Connect Android 应用程序和安装在其上的 GSConnect 锁定/解锁屏幕的视频 Fedora 31(使用 GNOME 3.34;我使用 scrcpy 在桌面上显示我的 Android 手机屏幕):
要能够使用您的 Android 设备锁定/解锁您的屏幕,请打开 KDE Connect / GSConnect 并:
- KDE连接:在应用程序插件列表中,确保启用了“运行命令”插件,然后单击
Run commands
配置按钮 - GSConnect:点击你的设备名称,你会发现一个
Commands
侧边栏中的部分
KDE 连接命令 |
下一个,
在桌面上使用 GNOME 3.32 或更早版本(这不适用于 GNOME 3.34 或更高版本!)在 KDE Connect / GSConnect 中添加以下命令:
- 锁屏:
loginctl lock-session
- 解锁屏幕:
loginctl unlock-session
在您的 Linux 桌面上添加这些命令后,它们将显示在 KDE Connect Android 应用程序中,在Run Command
:
由于 GNOME 切换到使用 systemd(使用 GNOME 3.34)管理其会话,这些loginctl lock/unlock
命令自行停止工作,需要会话 ID 来锁定或解锁屏幕。 不过,我设法为此制定了一个解决方法——一个使用的命令(见下文)loginctl
列出所有会话,在会话列表中搜索当前用户,并检索该会话的 ID,然后使用loginctl lock-session
或者unlock-session
后跟会话 ID。
GSConnect 命令 |
所以
如果您将 GSConnect 与 GNOME 3.34(或更新版本)一起使用,请使用以下命令,而不是我上面提到的命令:
- 锁屏:
SESSION=$(loginctl list-sessions | grep $(whoami) | awk '{print $1}'); loginctl lock-session $SESSION