我重新发帖Gnome 会话无法在远程 X 服务器上启动,在这里,因为我相信这是一个Gnome
问题,而不仅仅是 Ubuntu 的问题。
我有一个 Ubuntu 主机,我可以通过 访问它ssh -Y
。客户端是我的 macOS 笔记本电脑,运行 XQuartz。我可以从主机执行xclock
其他应用程序并在我的笔记本电脑上查看它们。X
我无法运行的是 gnome-session,据我了解,它应该是我从本地控制台登录到计算机时出现的全部内容。 DISPLAY 设置正确,但似乎被忽略。
传递--display="$DISPLAY"
到 gnome-session 会产生:
** (gnome-session-binary:5943): WARNING **: Unknown option --display=localhost:10.0
事实上,我的 gnome-session 手册页没有提到 --display,而 Internet 上的手册页却提到了。所以,我想,它在某个时候被删除了,我还有办法做到这一点吗?
我还发现其他 gnome 应用程序(例如 gnome-software)有一个--display
选项,但它们忽略它并且应用程序在控制台桌面上运行,而不是在我的笔记本电脑上运行。
答案1
我还发现其他 gnome 应用程序(例如 gnome-software)有一个 --display 选项,但它们忽略它并且应用程序在控制台桌面上运行,而不是在我的笔记本电脑上运行。
我假设您也在服务器上运行 Gnome 3,而不仅仅是通过 SSH?我认为它作为 Wayland 会话运行。 Gnome 应用程序可能会WAYLAND_DISPLAY
使用DISPLAY
.查看XDG_SESSION_TYPE
。如果设置为wayland
,Gnome 应用程序将使用 wayland 显示而不是 SSH 显示。尝试使用 来运行它们XDG_SESSION_TYPE=x11
。
事实上,我的 gnome-session 手册页没有提到 --display,而 Internet 上的手册页却提到了。所以,我想,它在某个时候被删除了,我还有办法做到这一点吗?
gnome-session
应该认为DISPLAY
,你不需要--display
。不过,gnome-shell
有选择--display
。
我无法运行的是 gnome-session
我发现 gnome-session 和 libmutter 如果不与本机显示硬件一起运行,通常会出现段错误。检查dmesg
你的服务器。
也许你可以运行env XDG_SESSION_TYPE=x11 gnome-session
,但我怀疑它也会出现段错误。另外,您可以尝试gnome-shell
代替gnome-session
.
我建议使用另一个更轻量级的 SSH 桌面环境,例如 lxde ( lxsession
) 或 xfce ( startxfce4
),或者只是像 openbox ( ) 这样的窗口管理器openbox --sm-disable
。