方案 1: X2Go

Attention

经实战发现还是跑不了 GUI 程序

下面给你一套从零开始的端到端步骤(Windows 客户端 + Ubuntu 服务器),用 X2Go 建立“独立虚拟桌面”会话,不影响服务器本地桌面。

一、服务器端(Ubuntu)一次性配置

  • 安装 X2Go Server 与轻量桌面(XFCE 推荐)
    • sudo apt update
    • sudo apt install -y x2goserver x2goserver-xsession xfce4 dbus-x11
    • 可选:更顺手的工具和中文字体
      • sudo apt install -y xfce4-goodies fonts-noto-cjk
  • 可选:启用文件夹映射功能(SSHFS)
    • sudo apt install -y sshfs
  • 防火墙(如启用 UFW)
    • sudo ufw allow OpenSSH
  • 确认 SSH 正常
    • systemctl status ssh

说明

  • 选择 XFCE 是因为它与 X2Go 兼容性最好、资源占用低。后续在客户端把 Session type 设为 XFCE 即可。
  • x2go 会话是虚拟图形会话,不会占用/干扰物理显示器上的 GNOME/KDE 会话。

二、Windows 客户端安装与首连

  • 安装 X2Go Client(官网下载安装包)
  • 新建会话(右上角“新建会话/New session…”)
    • Session name:随意命名(例如 Ubuntu-XFCE)
    • Host:服务器 IP/域名
    • Login:你的服务器用户名
    • SSH port:默认 22(如有改动填对应端口)
    • Session type:从下拉框选择 XFCE(若无该项,可选 “Custom desktop” 并填 startxfce4)
    • 音频:勾选 “Enable sound support”(默认 PulseAudio)
    • 共享剪贴板:默认开启(可在 “Settings -> Clipboard mode” 调整)
    • 分辨率:建议先选 “Fullscreen” 或自定义分辨率
    • 连接质量:Connection -> “WAN” 或 “ADSL” 更稳(弱网时可调低画质)
    • 文件夹映射(可选):Shared folders -> 添加本地文件夹(服务器需已安装 sshfs)
    • 认证方式:
      • 密码:直接输入密码
      • SSH 密钥:勾 “Use RSA/DSA key for ssh connection”,选择你的 .ppk(若是 OpenSSH 私钥,可用 PuTTYgen 转换为 .ppk)
  • 双击会话连接。首次会提示接受服务器指纹,输入密码/使用密钥后即可进入 XFCE 桌面。

三、日常使用小贴士

  • 断线重连:直接再次连接同名会话即可恢复之前的桌面和程序状态。
  • 结束会话:在 XFCE 里“注销/Log out”,或在 X2Go 客户端里“Terminate”。命令行也可:
    • 列表:x2golistsessions
    • 终止:x2goterminate-session <SESSION_ID>
  • 性能优化
    • Connection 里选 “WAN/ADSL”,Image quality 适当调低;禁用桌面合成器(XFCE 设置 -> Window Manager Tweaks 里关闭 compositor)可降延迟。
  • 文件夹映射
    • 若映射失败:确认服务器安装了 sshfs,用户具备 FUSE 权限(现代 Ubuntu 默认可用),然后重连。
  • 声音
    • 默认通过 PulseAudio 隧道转发。若无声音,服务器上安装 pulseaudio 或(在 22.04+/24.04 默认 PipeWire 环境中)确保 pipewire-pulse 运行;重连会话后再试。
  • 输入法/中文
    • 服务器安装并配置 ibus/fcitx(如 sudo apt install -y fcitx5 fcitx5-chinese-addons),并在会话内切换。
  • 多显示器
    • 可用“全屏(所有显示器)”或指定分辨率;多屏跨显示时性能会略降,弱网建议用单屏或较低分辨率。

四、常见问题排查

  • 连接后黑屏/闪退
    • 确认服务器已安装 xfce4 和 dbus-x11
    • Session type 选择 XFCE 或自定义命令 startxfce4
  • 无法连接
    • 检查能否 SSH 登录(端口、IP、账号、密钥)
    • UFW/云安策略放行 22 端口
  • 剪贴板不同步
    • 在 X2Go 客户端设置里把 Clipboard mode 设为“双向/Bidirectional”,并尽量避免一次性复制超大数据
  • GNOME/KDE 兼容性
    • X2Go 对 GNOME/Wayland 支持不佳,推荐用 XFCE 作为会话桌面;这不会影响服务器本地继续用 GNOME/KDE/Wayland

五、一键安装命令汇总(服务器端)

  • 最简可用
    • sudo apt update && sudo apt install -y x2goserver x2goserver-xsession xfce4 dbus-x11
  • 可选增强
    • sudo apt install -y xfce4-goodies sshfs fonts-noto-cjk