ubuntu

如何在Ubuntu上共享TigerVNC屏幕

小樊
37
2025-11-05 02:41:38
栏目: 智能运维

如何在Ubuntu上共享TigerVNC屏幕(远程控制/访问)

TigerVNC是一款轻量、高效的VNC服务器,适用于Ubuntu系统的远程桌面共享。以下是详细配置步骤,涵盖安装、密码设置、桌面环境配置、服务启动及安全加固等关键环节:

1. 安装TigerVNC服务器

打开终端,执行以下命令更新软件包列表并安装TigerVNC服务器及依赖:

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

安装完成后,系统会提示确认安装,输入Y继续。

2. 设置VNC连接密码

运行vncpasswd命令设置专用于VNC连接的密码(与系统用户密码无关):

vncpasswd

3. 配置桌面环境启动脚本(关键步骤)

TigerVNC需要通过~/.vnc/xstartup文件指定启动的桌面环境(如GNOME、Xfce)。若文件不存在,手动创建:

nano ~/.vnc/xstartup

根据桌面环境选择配置

保存文件(Ctrl+OEnterCtrl+X),并赋予执行权限:

chmod +x ~/.vnc/xstartup

注意:若未安装桌面环境(如GNOME),需先执行sudo apt install ubuntu-desktop(GNOME)或sudo apt install xfce4(Xfce)。

4. 启动TigerVNC服务器

使用以下命令启动VNC服务器,指定显示编号(如:1,对应端口5901=5900+1):

vncserver :1 -geometry 1920x1080 -depth 24 -localhost no

5. 配置防火墙允许VNC连接

若系统启用了ufw防火墙,需开放VNC端口(默认5901对应:1会话):

sudo ufw allow 5901/tcp
sudo ufw enable  # 若未启用防火墙,可跳过

验证端口是否开放:

sudo ufw status

应显示5901/tcp ALLOW

6. (可选)设置开机自启动

为避免每次重启系统后手动启动VNC服务器,可创建systemd服务文件:

sudo nano /etc/systemd/system/vncserver@:1.service

粘贴以下内容(将your_username替换为实际用户名):

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=your_username
Group=your_username
WorkingDirectory=/home/your_username
PIDFile=/home/your_username/.vnc/%H:1.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 -localhost no :1
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target

保存并退出,执行以下命令启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

验证服务状态:

sudo systemctl status vncserver@:1.service

应显示active (running)

7. 使用VNC客户端连接

在本地计算机(Windows/macOS/Linux)上安装VNC客户端(如TigerVNC ViewerRealVNC Viewer),打开客户端并输入:

服务器IP地址:1  # 如192.168.1.100:1(对应:1会话)

点击“连接”,输入之前设置的VNC密码,即可远程控制Ubuntu桌面。

8. (可选)增强安全性——SSH隧道

为避免直接暴露VNC端口(默认5901),可通过SSH隧道加密连接:
在本地计算机执行以下命令(替换your_usernameyour_server_ip):

ssh -L 5901:localhost:5901 -N -f -l your_username your_server_ip

然后,在VNC客户端中输入localhost:1,即可通过SSH隧道安全连接。

常见问题排查

通过以上步骤,即可在Ubuntu上成功共享TigerVNC屏幕,实现远程控制或访问。

0
看了该问题的人还看了