【实战笔记】OCI Ubuntu 24.04 + TigerVNC + XFCE + Chrome 开机自启全记录
OCI Ubuntu 24.04 + TigerVNC + XFCE + Chrome 开机自启全记录
- 1. 更新系统 & 安装软件(root)
- 2. 创建专用用户
- 3. 切到 vncuser,配置 VNC 会话
- 4. 启动 VNC 并验证端口(vncuser)
- 5. 防火墙 & OCI 安全列表
- 6. 安装 Google Chrome(root)
- 7. 配置 systemd 开机自启(root)
- 8. 一键重启测试
环境
Oracle Cloud Infrastructure Ubuntu 24.04 LTS
目标:重启后 TigerVNC 自动拉起,外网直连 XFCE + Chrome 无需人工干预
1. 更新系统 & 安装软件(root)
sudo apt update && sudo apt -y upgrade
sudo apt -y install xfce4 xfce4-goodies xfce4-session
sudo apt -y install tigervnc-standalone-server tigervnc-common tigervnc-tools
2. 创建专用用户
sudo adduser vncuser
sudo usermod -aG sudo vncuser
3. 切到 vncuser,配置 VNC 会话
su - vncuser
vncpasswd # 设置登录密码
mkdir -p ~/.vnc
cat > ~/.vnc/xstartup <<'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export XDG_RUNTIME_DIR=/run/user/$(id -u)
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
exec startxfce4
EOF
chmod +x ~/.vnc/xstartup
4. 启动 VNC 并验证端口(vncuser)
vncserver :1 -localhost no -geometry 1280x800 -depth 24
ss -ltnp | grep 5901
应看到 0.0.0.0:5901
。
5. 防火墙 & OCI 安全列表
5.1 实例本机 iptables(root)
sudo iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
sudo apt install -y iptables-persistent
sudo netfilter-persistent save
5.2 OCI 控制台
路径:虚拟云网络 → 子网 → 安全列表 → 入站规则
新增:
方向 | 源 CIDR | 协议 | 端口范围 |
---|---|---|---|
Ingress | 0.0.0.0/0 | TCP | 5901 |
6. 安装 Google Chrome(root)
sudo apt install -y wget gnupg
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/googlechrome-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/googlechrome-keyring.gpg] https://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
sudo apt update
sudo apt install -y google-chrome-stable
7. 配置 systemd 开机自启(root)
sudo tee /etc/systemd/system/vncserver@.service >/dev/null <<'EOF'
[Unit]
Description=VNC Server for user vncuser
After=network.target[Service]
Type=forking
User=vncuser
Group=vncuser
WorkingDirectory=/home/vncuser
PIDFile=/home/vncuser/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1280x800 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure[Install]
WantedBy=multi-user.target
EOFsudo systemctl daemon-reload
sudo systemctl enable --now vncserver@1.service
sudo systemctl status vncserver@1.service
看到 active (running)
即成功。
8. 一键重启测试
sudo reboot
等待 1-2 分钟,外网用 xxx.xxx.xxx.xxx:1
连接,无需任何手动操作即可进入带 Chrome 的 XFCE 桌面。