从命令行启用 Gnome Classic?

从命令行启用 Gnome Classic?

我已经安装了gnome-shell-extensions,但我使用的是 VNC,因此无法按照正常说明登录并在登录菜单中选择“经典”(没有登录菜单)。对于 TigerVNC,X 是从 运行的/etc/X11/Xtigervnc-session,但从那时开始 Gnome 是如何运行的(对我而言)一点也不明显。

背景:我想获得一些接近我在 RHEL8(也在 VNC 上)上看到的桌面的东西。RHEL 使用普通的 Gnome 3,但它默认为可用的经典桌面,所以我宁愿不安装 Mate/whatever 来回到那个点。

答案1

有多种方法可以做到这一点,但大多数方法似乎都不起作用。Red Hat 管理指南 (这里对于 RHEL 7 - RH 文档始终是值得一看的地方)提供了这些命令来在正在运行的会话中从 GNOME 经典切换到 GNOME(第一种)或反之亦然(第二种):

$ gnome-shell --mode=user -r &
$ gnome-shell --mode=classic -r &

第二个在 22.04 上几乎对我有用,但 Gnome 在几秒钟后就崩溃了(通过 vnc;我的所有系统都是无头的)。如果它能工作,它应该能提供一种很好的方法来(非永久地)查看 Classic 的外观。

tigervnc运行/etc/X11/Xtigervnc-session,它运行/etc/X11/Xsession,它从 中获取脚本/etc/X11/Xsession.d/。这些读取各种环境变量,这些环境变量应该为您设置会话。特别是,它们应该读取~/.gnomerc,我认为将这些添加到.gnomerc应该可以启动 Classic:

export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
export GNOME_SHELL_SESSION_MODE=classic

但是,我还是无法让它工作(在 vnc 上)。请注意,您的~/.xsessionrc可能包含

export XDG_CURRENT_DESKTOP=ubuntu:GNOME

您可能需要或不需要删除或注释掉它。

最后,你实际上可以在会话tigervnc本身中设置它(这个有效)。创建一个~/.vnc/tigervnc.conf包含以下内容的会话:

$session = "gnome-classic";

会话必须是下列会话之一/usr/share/xsessions(对于 22.04,我有gnome-classic、、gnome-classic-xorgubuntuubuntu-xorg我不知道gnome-classic-xorg是什么)。

最后 - 在 VNC 上退出测试很困难。通过 ssh 登录并将运行级别降至 3 然后再升回 5 更简单:

# systemctl isolate multi-user.target
# systemctl isolate graphical.target

您可以runlevel在执行每个命令后运行以确认运行级别已从 5 变为 3,然后从 3 变为 5。完成此操作后,您可以再次运行 vnc 查看器。

相关内容