温馨提示×

ubuntu tigervnc如何迁移

小樊
38
2026-10-10 22:37:34
栏目: 智能运维

在 Ubuntu 上迁移 TigerVNC(包括配置、用户、服务、数据等),通常分为几种场景。下面我按最常见的几种迁移需求给你系统说明。


一、迁移 TigerVNC 到另一台 Ubuntu 机器(整机/用户迁移)

1️⃣ 停止 VNC 服务(源机器)

vncserver -kill :1
# 或
sudo systemctl stop tigervnc@1.service

2️⃣ 备份 TigerVNC 相关文件

用户级配置(最重要)

~/.vnc/

包含:

  • passwd(VNC 密码)
  • xstartup(启动脚本)
  • config(可选)

系统级(如使用了 systemd)

/etc/systemd/system/tigervnc@.service
/etc/tigervnc/

可选:用户桌面环境

~/.config/
~/.local/

3️⃣ 传输到目标机器

rsync -avz ~/.vnc user@new-server:~/
scp /etc/systemd/system/tigervnc@.service root@new-server:/etc/systemd/system/

4️⃣ 目标机器安装 TigerVNC

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

5️⃣ 恢复配置并设权限

chmod 600 ~/.vnc/passwd

如使用了 systemd:

sudo systemctl daemon-reexec
sudo systemctl enable tigervnc@1.service
sudo systemctl start tigervnc@1.service

二、迁移 VNC 用户(多用户环境)

每台机器用户不同 UID,不推荐直接复制 passwd 文件。

✅ 正确做法:

# 目标机器
vncpasswd

再复制:

xstartup
config

三、Docker / 容器化 TigerVNC 迁移

如果是 Docker:

docker commit tigervnc tigervnc-backup
docker save tigervnc-backup > tigervnc.tar

目标机器:

docker load < tigervnc.tar

四、仅迁移 VNC 密码(不安全但简单)

# 源
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

六、示例 xstartup(Ubuntu + XFCE)

#!/bin/sh
unset SESSION_MANAGER
exec startxfce4

如果你能具体说一下:

  • ✅ 是单机重装还是换服务器
  • ✅ 是否使用 systemd
  • ✅ 桌面环境(GNOME / XFCE / KDE)

我可以直接给你一套可复制命令。

0 踩