在 Debian13上搭建 XFCE4 + TigerVNC 远程桌面并实现 开机自启

🛠️ 第一步:安装核心组件

首先安装桌面环境、VNC 服务以及解决 dbus 报错的关键依赖。

 
sudo apt update
# xfce4-goodies 包含扩展工具,dbus-x11 解决 "dbus-launch" 报错
sudo apt install -y xfce4 xfce4-goodies tigervnc-standalone-server dbus-x11

👤 第二步:普通用户环境配置

严禁使用 root 运行桌面。请切换到你的普通用户(例如 tom)。

  1. 设置 VNC 密码

     
    su - tom
    vncpasswd
    # 按提示输入两次密码,View-only 选择 n
  2. 配置启动脚本: 创建并编辑 ~/.vnc/xstartup,确保 VNC 知道要启动 XFCE 桌面。

     
    nano ~/.vnc/xstartup

    粘贴以下内容:

     
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    exec startxfce4

    赋予执行权限:

     
    chmod +x ~/.vnc/xstartup

⚙️ 第三步:配置 Systemd 开机自启

为了解决 PID 文件找不到和路径不匹配的问题,我们使用不依赖 PIDFile 的通用配置。

  1. 创建服务文件(需 sudo 权限):

     
    sudo nano /etc/systemd/system/vncserver@.service
  2. 写入优化后的配置(请将 tom 替换为你的实际用户名):

    [Unit]
    Description=Start TigerVNC server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=tom
    Group=tom
    WorkingDirectory=/home/tom
    
    # 预处理:强制清理残留的旧锁文件,防止因断电重启导致的无法启动
    ExecStartPre=-/usr/bin/tigervncserver -kill :%i > /dev/null 2>&1
    # 启动:-localhost no 允许公网连接,:1 对应端口 5901
    ExecStart=/usr/bin/tigervncserver -localhost no -geometry 1920x1080 -depth 24 :%i
    ExecStop=/usr/bin/tigervncserver -kill :%i
    
    [Install]
    WantedBy=multi-user.target
  3. 启用并运行服务

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

🔍 常见问题汇总 (Troubleshooting)

1. 报错:dbus-launch 失败,没有文件或目录

  • 原因:精简版系统缺少 D-Bus 总线工具。

  • 解决:执行 sudo apt install dbus-x11

2. 连接后黑屏或只有一个鼠标

  • 原因:通常是 ~/.vnc/xstartup 脚本没有执行权限,或者没有正确执行 startxfce4

  • 检查:确保运行了 chmod +x ~/.vnc/xstartup

3. 服务显示 activating 然后失败

  • 原因:之前非正常关闭留下了锁文件。

  • 解决:检查并清理 /tmp/.X11-unix/ 目录,或者在 .service 中添加 ExecStartPre 清理命令(已包含在上方教程中)。


🚀 连接方式

  • 客户端:VNC Viewer (RealVNC) 或 MobaXterm。

  • 地址服务器IP:5901 (若服务号为 @1)。

  • 注意:云服务器(如腾讯云/阿里云)需在安全组放行 TCP 5901 端口。

posted @ 2026-03-12 12:45  木子欢儿  阅读(22)  评论(0)    收藏  举报