[Ubuntu] VNC连接Linux云服务器 | 实现GNOME图形化

将桌面环境修改为 GNOME 并通过 VNC 远程访问的步骤 & TightVNC 的安装与配置说明:


1. 安装 GNOME 桌面环境

bash 复制代码
sudo apt update
sudo apt install ubuntu-gnome-desktop -y

2. 安装 TightVNC 服务器

bash 复制代码
sudo apt install tightvncserver -y

3. 初始化 VNC Server 并设置密码

首次运行 VNC Server,会提示你设置访问密码:

bash 复制代码
vncserver
  • 输入6~8位密码(超过8位会被截断)。
  • 再次输入密码确认。
  • 是否设置只读密码?输入 n。

4. 停止 VNC Server

bash 复制代码
vncserver -kill :1

5. 修改 xstartup 文件,启动 GNOME 桌面

编辑 ~/.vnc/xstartup 文件:

bash 复制代码
vim ~/.vnc/xstartup

将内容修改为如下(覆盖原有内容):

sh 复制代码
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
gnome-session &

6. 赋予 xstartup 文件可执行权限

bash 复制代码
sudo chmod +x ~/.vnc/xstartup

7. 重启 VNC Server

bash 复制代码
vncserver

8. 查看日志确认端口

终端会输出类似:

复制代码
Log file is /root/.vnc/xxx:1.log

这里的 :1 表示端口号为 5901(VNC 默认端口5900加上桌面编号)。


9. 配置云服务器安全组(放行5901端口)

  1. 登录云服务器管理控制台。
  2. 进入弹性云服务器详情页面。
  3. 选择"安全组"页签,点击"配置规则"。
  4. 在"入方向规则"中,添加一条规则,放行 TCP 端口 5901。

10. 远程连接

使用 VNC Viewer 工具,输入 服务器IP:1(如 192.168.1.100:1),输入你设置的密码,即可远程访问 GNOME 桌面。


可以连接VNC,但无法显示GNOME桌面,常见原因和解决办法如下:


1. GNOME 桌面未正确启动

原因 :有些系统默认不支持直接用 gnome-session 启动完整桌面,或者缺少必要组件。

解决办法

尝试将 ~/.vnc/xstartup 文件内容修改为如下(推荐用 gnome-session --session=gnome-classic &gnome-session --session=gnome &,有时需要加环境变量):

sh 复制代码
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
xrdb $HOME/.Xresources
gnome-session --session=gnome & 

如果还是不行,可以尝试:

sh 复制代码
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
xrdb $HOME/.Xresources
gnome-session --session=gnome-classic &

2. 缺少 xterm 或 gnome-terminal

原因:VNC 启动后没有终端可用,桌面无法正常显示。

解决办法

安装终端:

bash 复制代码
sudo apt install -y xterm gnome-terminal

3. GNOME 依赖未安装全

原因:有些最小化安装的 GNOME 缺少 VNC 需要的组件。

解决办法

安装完整 GNOME:

bash 复制代码
sudo apt install -y ubuntu-gnome-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

4. VNC 兼容性问题

原因:部分 GNOME 版本对 VNC 支持不佳,建议尝试 Xfce 或 MATE 桌面。

解决办法

如果 GNOME 实在无法显示,可以尝试安装 Xfce:

bash 复制代码
sudo apt install -y xfce4

并将 ~/.vnc/xstartup 改为:

sh 复制代码
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &

5. 查看日志

请查看 /root/.vnc/host:5.log 日志文件,里面会有详细报错信息。你可以用以下命令查看:

bash 复制代码
cat /root/.vnc/host:5.log

把日志内容发给我,我可以帮你进一步分析!


建议先尝试第1步修改 xstartup 文件,然后重启 VNC Server:

bash 复制代码
vncserver -kill :5
vncserver :5