温馨提示×

CentOS VNC如何切换桌面

小樊
60
2026-08-03 04:12:23
栏目: 智能运维

CentOS 上通过 VNC 切换桌面环境,常见情况分两种:已安装多个桌面VNC 默认只启动一个桌面。下面按实战方式说明。


一、确认系统里有哪些桌面环境

先查看已安装的桌面:

ls /usr/share/xsessions/

常见输出:

gnome.desktop
xfce.desktop
mate.desktop

如果没有内容,说明只装了一种桌面。


二、查看当前 VNC 用的是哪个桌面

VNC 的配置文件一般在:

~/.vnc/xstartup

查看内容:

cat ~/.vnc/xstartup

常见配置示例:

  • GNOME
exec gnome-session
  • XFCE
exec startxfce4
  • MATE
exec mate-session

三、切换 VNC 桌面(最常用方法)

✅ 方法 1:修改 ~/.vnc/xstartup

  1. 停止 VNC:
vncserver -kill :1
  1. 编辑配置文件:
vi ~/.vnc/xstartup
  1. 改成你想要的桌面,例如切换成 XFCE
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4

GNOME

exec gnome-session
  1. 赋予执行权限(很重要):
chmod +x ~/.vnc/xstartup
  1. 重新启动 VNC:
vncserver :1

四、一个 VNC 端口使用不同桌面(进阶)

如果你希望 同一个用户不同端口用不同桌面

vncserver :2 -geometry 1920x1080 -depth 24

然后创建对应配置:

cp ~/.vnc/xstartup ~/.vnc/xstartup-xfce

~/.vnc/xstartup-xfce 里换成 XFCE,再启动:

vncserver :2 -xstartup ~/.vnc/xstartup-xfce

五、Systemd 方式启动 VNC(CentOS 7/8)

如果你是用 systemd 启动的 VNC:

/etc/systemd/system/vncserver@.service

修改其中的:

ExecStart=/usr/bin/vncserver %i -geometry 1920x1080 -depth 24

桌面切换仍然靠 ~/.vnc/xstartup


六、常见问题

❌ VNC 黑屏

  • 没执行权限
  • 桌面未安装
  • xstartup 里缺少 exec

❌ 切换后没变化

  • 没杀掉旧 VNC
  • 改错文件(不是 /etc 下的)

七、推荐组合(稳定)

系统 推荐桌面
CentOS 7 XFCE
CentOS 8 GNOME
服务器 XFCE(轻量)

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 当前 VNC 是 tigervnc / x11vnc
  • ✅ 是否已安装多个桌面

我可以直接给你一份 可用的 xstartup 配置

0