在 Ubuntu 上迁移 TigerVNC(包括配置、用户、服务、数据等),通常分为几种场景。下面我按最常见的几种迁移需求给你系统说明。
vncserver -kill :1
# 或
sudo systemctl stop tigervnc@1.service
~/.vnc/
包含:
passwd(VNC 密码)xstartup(启动脚本)config(可选)/etc/systemd/system/tigervnc@.service
/etc/tigervnc/
~/.config/
~/.local/
rsync -avz ~/.vnc user@new-server:~/
scp /etc/systemd/system/tigervnc@.service root@new-server:/etc/systemd/system/
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
chmod 600 ~/.vnc/passwd
如使用了 systemd:
sudo systemctl daemon-reexec
sudo systemctl enable tigervnc@1.service
sudo systemctl start tigervnc@1.service
每台机器用户不同 UID,不推荐直接复制 passwd 文件。
✅ 正确做法:
# 目标机器
vncpasswd
再复制:
xstartup
config
如果是 Docker:
docker commit tigervnc tigervnc-backup
docker save tigervnc-backup > tigervnc.tar
目标机器:
docker load < tigervnc.tar
# 源
cat ~/.vnc/passwd | base64 > vnc_pass.b64
# 目标
base64 -d vnc_pass.b64 > ~/.vnc/passwd
chmod 600 ~/.vnc/passwd
⚠️ 不建议跨用户使用
| 问题 | 解决 |
|---|---|
| 黑屏 | xstartup 没执行桌面环境 |
| 端口冲突 | :1 已被占用 |
| 权限错误 | passwd 必须是 600 |
| systemd 不生效 | 忘了 daemon-reexec |
#!/bin/sh
unset SESSION_MANAGER
exec startxfce4
如果你能具体说一下:
我可以直接给你一套可复制命令。