我已经安装了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-xorg
和ubuntu
;ubuntu-xorg
我不知道gnome-classic-xorg
是什么)。
最后 - 在 VNC 上退出测试很困难。通过 ssh 登录并将运行级别降至 3 然后再升回 5 更简单:
# systemctl isolate multi-user.target
# systemctl isolate graphical.target
您可以runlevel
在执行每个命令后运行以确认运行级别已从 5 变为 3,然后从 3 变为 5。完成此操作后,您可以再次运行 vnc 查看器。