前言:在服务端安装vnc服务,可以方便的远程操作服务器,而不用非要插上显示器才行。所以在服务器上安装vnc是很重要的。在ubuntu20中,默认的显示管理器已经变为gdm3,它可以带来与 GNOME 无缝衔接的体验,强调功能完整性和界面一致性。而之前的lightdm则主要强调低资源占用、快速启动,支持多种桌面技术(如 X11、Wayland),强调灵活性和兼容性。
使用apt安装x11vnc
sudo apt install x11vnc -y
设置vnc服务的密码
sudo x11vnc -storepasswd /etc/x11vnc.pass
或者使用自动化脚本:
expect -c '
spawn sudo x11vnc -storepasswd /etc/x11vnc.pass
expect "password:" {send "HWZygz1314520\n"}
expect "password:" {send "HWZygz1314520\n"}
expect "password" {send "y\n"}
expect eof
'
建立x11vnc.service的systemd文件
sudo vim /lib/systemd/system/x11vnc.service
基于gdm3的systemd配置(或者使用下方基于lightdm的配置)
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 6900 -shared -capslock -nomodtweak
[Install]
WantedBy=multi-user.target
基于lightdm的systemd配置
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 6900 -shared -capslock -nomodtweak
[Install]
WantedBy=multi-user.target
重新加载systemd文件,启动并且开机自启。
sudo systemctl daemon-reload
sudo systemctl start x11vnc
sudo systemctl enable x11vnc