云计算百科
云计算领域专业知识百科平台

使用 VNC 登录服务器桌面教程

在远程管理 Linux 服务器时,通常使用 SSH 进行命令行操作,但有时我们需要访问服务器的 图形桌面环境。VNC(Virtual Network Computing)是一种远程桌面协议,可以让我们连接到服务器的桌面界面。本教程将介绍 如何通过 VNC 访问 Ubuntu 服务器的桌面,并使用 SSH 隧道增强安全性。


1. 安装 VNC 服务器

1.1 在 Ubuntu 服务器上安装 VNC

首先,确保你的服务器已经安装了 VNC 服务器,我们推荐使用 TigerVNC:

sudo apt update
sudo apt install tigervnc-standalone-server -y

安装完成后,运行以下命令初始化 VNC 服务器:

vncserver

系统会提示你 设置 VNC 访问密码,输入后会创建 VNC 配置文件。


2. 确保 xstartup 配置正确

VNC 服务器默认不会启动完整的 GNOME 桌面环境,我们需要手动修改 xstartup 文件,让它启动 Ubuntu GNOME。

2.1 编辑 xstartup 文件

nano ~/.vnc/xstartup

删除所有内容,然后 替换为以下代码:

#!/bin/bash
xrdb $HOME/.Xresources
export XDG_SESSION_TYPE=x11
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_RUNTIME_DIR=/run/user/$(id -u)
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
gnome-session &

2.2 赋予执行权限

chmod +x ~/.vnc/xstartup


3. 配置 VNC 服务器

3.1 关闭旧的 VNC 会话

如果 VNC 服务器已运行,我们需要先关闭它:

vncserver -kill :2

3.2 重新启动 VNC

vncserver :2

:2 代表 VNC 监听的 5902 端口(:1 代表 5901,以此类推)。


4. 通过 SSH 隧道连接 VNC(推荐)

直接暴露 VNC 端口(5901/5902)是不安全的,我们建议 使用 SSH 隧道 来加密连接。

4.1 在本地电脑(Windows/macOS/Linux)运行

在你的本地终端(Windows PowerShell / macOS 终端 / Linux 终端)运行以下命令:

ssh -L 5905:localhost:5902 -N -f -p 5122 elon@10.16.89.31

  • -L 5905:localhost:5902 → 将本地端口 5905 映射到服务器的 5902
  • -N -f → 仅建立隧道,不打开交互式 Shell
  • -p 5122 → 指定 SSH 端口(如果是默认 22,可以省略)
  • elon@10.16.89.31 → 服务器的 SSH 账户和 IP 地址

4.2 在 VNC Viewer 连接

  • 打开 VNC Viewer(如 TigerVNC Viewer、RealVNC Viewer)。
  • 在地址栏输入:localhost:5
  • 输入 VNC 密码,即可访问服务器桌面。

5. 解决 VNC 黑屏或灰色屏幕

如果 VNC 连接成功但显示黑屏/灰色背景,请按以下步骤检查:

5.1 确保 GNOME 桌面环境完整

sudo apt update
sudo apt install ubuntu-desktop -y

然后 重启服务器:

sudo reboot

5.2 检查日志

cat ~/.vnc/*.log

如果日志中有 Xvnc 或 gnome-session 相关错误,尝试重新启动:

vncserver -kill :2
vncserver :2


6. 服务器防火墙设置

如果无法连接 VNC,可能是 防火墙阻止了端口 5902。执行以下命令:

Ubuntu 防火墙(UFW)

sudo ufw allow 5902/tcp
sudo ufw reload

CentOS 防火墙(firewalld)

sudo firewall-cmd –add-port=5902/tcp –permanent
sudo firewall-cmd –reload


7. 总结

✅ 安装 VNC 服务器:sudo apt install tigervnc-standalone-server -y ✅ 正确配置 xstartup,启动 GNOME 桌面环境 ✅ 使用 SSH 隧道连接(ssh -L 5905:localhost:5902 -N -f -p 5122) ✅ 如果黑屏,检查 ~/.vnc/*.log 并确保 GNOME 桌面完整 ✅ 调整防火墙,确保 5902 端口可用

通过 SSH 隧道 + VNC,你可以安全地访问 Ubuntu 服务器的图形界面。试试看吧!🚀

赞(0)
未经允许不得转载:网硕互联帮助中心 » 使用 VNC 登录服务器桌面教程
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!