远程注销(图形)gnome 会话

dre*_*cko 14 ssh gnome logout gnome-session

我有一个在办公室计算机上运行的(图形)登录会话,我想将其注销以节省一些计算机资源。

我可以通过 ssh 连接到办公信箱,但是当我尝试时,gnome-session-quit我得到了这个:

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

** (gnome-session-quit:18500): WARNING **: Command line `dbus-launch --autolaunch=fca99a51622d1930b068883b00000005 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n

** (gnome-session-quit:18500): WARNING **: Unable to start: Cannot open display: 
Run Code Online (Sandbox Code Playgroud)

有道理,因为我$DISPLAY是空的(因为它是一个无头的 ssh 会话)。当我运行时w,我看到gnome-session正在运行tty7。有没有办法可以假装tty7并启动注销?有一个更好的方法吗?

Jan*_*Jan 15

登录后ssh,运行:

env DISPLAY=:0.0 gnome-session-quit --logout
Run Code Online (Sandbox Code Playgroud)

这将强制在远程机器上注销,就像您从菜单中注销一样(但没有提示)。如果有一个应用程序包含未保存的工作,您可能需要运行gnome-session-quit--force-logout否则会阻止干净的注销。

如果您使用非常旧的 GNOME 版本(<2011),那么您需要

env DISPLAY=:0.0 gnome-session-save --logout
Run Code Online (Sandbox Code Playgroud)

... 因为在 2011gnome-session-save年更名为gnome-session-quit

来源

  • 在办公信箱上,没有“gnome-session-save”,但有一个“gnome-session-quit”(与您的其余答案一起)可以解决问题。我忘了提及它正在运行 Ubuntu 12.04 - 也许这就是原因? (2认同)
  • @muru:相应地更新了答案 (2认同)