安装
安装 tigervnc
apt install tigervnc-standalone-server tigervnc-tools
设置 vnc 密码
vncpasswd
添加文件 nano ~/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
最后一行的
exec startxfce4
是因为使用了 Xfce 桌面环境,如果是其他桌面环境,请参照下面的配置:
- startxfce4:启动 Xfce 桌面环境
- gnome-session:启动 GNOME 桌面环境
- startkde:启动 KDE 桌面环境
- lxsession:启动 LXDE 桌面环境
- mate-session:启动 MATE 桌面环境
为文件添加执行权限
chmod u+x ~/.vnc/xstartup
启动
启动一个会话
# -fg 标识前台运行,如果不加就是后台运行
vncserver -fg -depth 24 -geometry 1920x1080 -localhost no :1
如果提示这个会话1已经运行,可能是由于某些残留的锁文件导致的。你可以手动删除这些文件:
rm -f /tmp/.X1-lock
rm -f /tmp/.X11-unix/X1
查看会话列表
vncserver -list
关闭一个会话
vncserver -kill :1
添加服务
添加服务文件 nano /etc/systemd/system/vncserver@.service
[Unit]
Description=VNC Server
After=syslog.target network.target
[Service]
Type=simple
User=root
PAMName=login
PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -fg -depth 24 -geometry 1920x1080 -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
启动服务并设置开机自启
systemctl daemon-reload
systemctl start vncserver@1.service
systemctl enable vncserver@1.service
注意
官方的Ubuntu桌面系统是基于GNOME的,GNOME是单用户模式,所以当一个用户已经登陆桌面时,再用这个桌面启动vnc会话,连接后显示的就是黑屏。只有将登录桌面的用户先注销,再启用vnc才可以正常使用。