下面步骤均在 CentOS-8.2.2004-x86_64-minimal 上验证通过。
一、安装 GNOME 桌面
若采用 minimal 安装的系统,安装 gnome3 桌面,下面命令二选一。
dnf groupinstall "Server with GUI"
dnf groupinstall "workstation"
设置桌面启动优先
systemctl set-default graphical.target
重启主机,即可进入桌面选择界面。
二、进入经典桌面
CentOS 8 默认桌面为 Standard,若要切回类似 CentOS 7 的经典模式,可在登陆界面选择 Classic,然后登入系统即可。可能有两个 Classic,我测得都可以的。
三、安装 xrdp 以供 Windows mstsc 直接远程
安装命令
dnf install tigervnc-server xrdp
放开防火墙(若防火墙已打开)
firewall-cmd --add-port=3389/tcp --permanent
firewall-cmd --reload
启动 xrdp,并设置开机自启
systemctl start xrdp
systemctl enable xrdp
现在应能在 Windows 下通过 mstsc 直接远程 CentOS 主机了,但默认桌面会是 Standard。
四、通过 xrdp 进入经典桌面
在需要登入的用户目录下加个配置文件,例如我的登入用户为 zch,则需要在 /home/zch 目录下做如下操作
vi .Xclients
将如下内容写入到文件中
#! /bin/bash
export GNOME_SHELL_SESSION_MODE=classic
exec gnome-session
给以执行权限
chmod +x .Xclients
然后再次通过 xrdp 登陆 zch 用户,即可进入经典桌面;若依然无法进入,建议删除 zch 目录下的除 .Xclients 以外的 .vnc 等隐藏文件,然后重启主机,再次尝试登陆即可。
五、进入经典桌面,一劳永逸的办法
注意前面 .Clients 文件内容,会发现能否进入经典桌面,其实仅由一个环境变量控制。追加一行内容到 /etc/profile 中,使全部用户默认进入经典桌面。
echo "export GNOME_SHELL_SESSION_MODE=classic" >> /etc/profile
或者
vi /etc/profile
追加一行
export GNOME_SHELL_SESSION_MODE=classic
这样操作后,不需要在登陆界面选择模式了;使用 xrdp 时,也不需要在用户目录下添加 .Xclients 文件了。