通过命令行控制 lightdm 和桌面会话

通过命令行控制 lightdm 和桌面会话

使用 linux 桌面系统(lightdm 登录管理器、openbox、lxde 或 unity 桌面),如何通过命令行(甚至通过 SSH)进入和退出会话(例如从 lightdm 登录并从桌面会话注销)?

例如,我喜欢从 LXDE 会话注销,然后在没有通过 SSH 连接鼠标或键盘的机器上登录 Unity 会话。

答案1

您正在寻找的是远程桌面软件[数据]
在没有键盘的机器上,您将运行服务器,在另一台机器上运行客户端。
有许多[1],[2]可以随时间而变化。一个好的开始可以是 nomachine 的免费版本[1]

要退出简单会话,您必须找到相关命令并通过 ssh 连接调用它,例如在 gnome 中:

gnome-session-quit --logout --no-prompt

sudo service lightdm restart请记住,您随时可以使用、 或stop和 之后的命令重新启动登录管理器start,但这将关闭整个会话lightdm(而不仅仅是当前会话)。

要从远程运行图形应用程序,只需连接ssx -X 以启用 X11 转发,或者-Y,然后运行命令即可。

答案2

经过几天尝试所有的解决方案后,唯一对我有用的是:

killall Xorg

答案3

如果使用 systemd,您可以使用loginctlsystemd 登录管理器通过 SSH 从 CLI 注销任何桌面会话。

在您的示例中,使用loginctl list-sessions来识别 LXDE 会话的 ID,然后loginctl terminate-session ID

但我认为通过 CLI SSH 启动 Unity(或其他)会话的具体细节取决于桌面管理器,例如 lightdm(可能根据配置自动启动欢迎程序)。其他人可以回答这个问题。或者您可以使用正确的环境变量启动特定于会话的命令,例如X=:0 openbox-session,但这可能缺乏会话管理。

相关内容