当前位置: 首页 > news >正文

Linux 上安装和配置 VNC 远程桌面

在 Linux 上安装和配置 VNC(Virtual Network Computing)可以让你远程访问图形化桌面环境。以下是详细的安装和配置步骤,适用于主流 Linux 发行版(如 Ubuntu、CentOS、Debian 等)。


1. 安装 VNC 服务器

Ubuntu/Debian

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

CentOS/RHEL

sudo yum install tigervnc-server -y

Fedora

sudo dnf install tigervnc-server -y

Arch Linux

sudo pacman -S tigervnc

2. 设置 VNC 密码

运行以下命令设置 VNC 访问密码(至少 6 位):

vncpasswd

密码会保存在 ~/.vnc/passwd(加密存储)。

⚠️ 注意:此密码仅用于 VNC 连接,不是系统用户密码。


3. 配置 VNC 服务器

(1)创建 VNC 配置文件

nano ~/.vnc/config

添加以下内容(示例配置):

geometry=1920x1080  # 分辨率
depth=24            # 颜色深度(16/24/32)
localhost=no        # 允许远程连接
alwaysshared=yes    # 允许多用户同时连接

(2)选择桌面环境

编辑 ~/.vnc/xstartup 文件,指定要启动的桌面环境(如 GNOME、KDE 或 XFCE):

nano ~/.vnc/xstartup
GNOME(Ubuntu 默认)
#!/bin/sh
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
exec /etc/X11/Xsession ubuntu-xsession
XFCE(轻量级推荐)
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
KDE Plasma
#!/bin/sh
exec startplasma-x11

保存后赋予可执行权限:

chmod +x ~/.vnc/xstartup

4. 启动 VNC 服务器

vncserver :1 -geometry 1920x1080 -depth 24
  • :1 表示显示编号(端口号为 5901:2 对应 5902,依此类推)。
  • 关闭 VNC 服务:
    vncserver -kill :1
    

5. 配置防火墙(如果需要)

Ubuntu/Debian(UFW)

sudo ufw allow 5901/tcp
sudo ufw reload

CentOS/RHEL(Firewalld)

sudo firewall-cmd --add-port=5901/tcp --permanent
sudo firewall-cmd --reload

6. 连接 VNC

使用 VNC 客户端(如 TigerVNC、RealVNC 或 Remmina)连接:

  • 地址: <你的IP>:5901(例如 192.168.1.100:5901
  • 密码: 之前通过 vncpasswd 设置的密码。

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

Systemd 服务(推荐)

创建服务文件:

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

粘贴以下内容(替换 <USER> 为你的用户名):

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target[Service]
Type=forking
User=<USER>
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure[Install]
WantedBy=multi-user.target

启用并启动服务:

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

8. 常见问题

(1)黑屏或无响应

  • 确保 ~/.vnc/xstartup 文件正确配置了桌面环境。
  • 检查日志:
    cat ~/.vnc/*.log
    

(2)连接被拒绝

  • 确认 VNC 服务正在运行:
    ss -tulnp | grep vnc
    
  • 检查防火墙是否放行端口。

(3)提高安全性

  • SSH 隧道加密(推荐):
    ssh -L 5901:localhost:5901 user@your-server-ip
    
    然后在 VNC 客户端中连接 localhost:5901

总结

步骤命令/操作
安装 VNCsudo apt install tigervnc-standalone-server
设置密码vncpasswd
配置桌面编辑 ~/.vnc/xstartup
启动服务vncserver :1
防火墙sudo ufw allow 5901/tcp
开机自启systemctl enable vncserver@1

通过以上步骤,你可以轻松在 Linux 上搭建 VNC 远程桌面环境。如果需要更安全的访问,建议结合 SSH 隧道使用。

相关文章:

  • LangChain4j中的Chat与语言模型API详解:构建高效对话系统的利器
  • 如何将xlsm文件转为xlsx格式
  • Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(四)
  • 期刊论文集合
  • Redis面试——数据结构
  • MySQL 事务隔离级别全解析:从脏读到幻读的防线之战
  • python 列表,元组 操作
  • 06-DevOps-自动构建Docker镜像
  • 常用绑定事件方式有哪几种
  • 最新Spring Security实战教程(十一)CSRF攻防实战 - 从原理到防护的最佳实践
  • 机器视觉--Python补充知识
  • MySQL数据备份
  • 相关无关,线性表示经典强化例题
  • 【远程管理绿联NAS】家庭云存储无公网IP解决方案:绿联NAS安装内网穿透
  • 【C++11】深度剖析 C++11 智能指针:告别内存泄漏
  • Spring开篇
  • 【Leetcode】16. 最接近的三数之和
  • 基于“理采存管用”的数据中台建设方案
  • Linux系统编程学习 day4 进程
  • mpstat指令介绍
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 建设银行南昌分行引金融“活水”,精准灌溉乡村沃土
  • 金砖国家外长会晤落幕,外交部:发出了反对单边霸凌行径的“金砖声音”
  • 《求是》杂志发表习近平总书记重要文章《激励新时代青年在中国式现代化建设中挺膺担当》
  • 中国武术协会原主席张耀庭逝世,曾促成电影《少林寺》拍摄
  • 大型长读长RNA测序数据集发布,有助制定精准诊疗策略