1.在远程服务器安装、配置
(1) sudo apt update
sudo apt install xfce4 xfce4-goodies
(2) 安装TigerVNC
sudo apt install tigervnc-standalone-server
(3) 配置vnc
vncpasswd
(4) 配置.vnc:
vim ~/.vnc/xstartup
添加:cat .vnc/xstartup
#!/bin/sh
# 启动 D-Bus 会话 (如果未运行)
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
eval $(dbus-launch --sh-syntax --exit-with-session)
fi
# 加载 X 资源 (如果文件存在)
if [ -f $HOME/.Xresources ]; then
xrdb $HOME/.Xresources
else
touch $HOME/.Xresources
fi
# 注销先前的会话管理器和 D-Bus 会话地址
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# 如果可用,启动 VNC 配置工具
if command -v vncconfig >/dev/null 2>&1; then
vncconfig -iconic &
fi
# 启动 consolekit 会话并启动 Xfce4
# exec /usr/bin/startxfce4 --with-ck-launch &
exec /usr/bin/startxfce4 &
(5)创建 Systemd 单元文件
添加cat /etc/systemd/system/vncserver@.service:
# [Unit]
# Description=Remote desktop service (VNC)
# After=syslog.target network.target
#
# [Service]
# Type=simple
# User=jianXX
# PAMName=login
# PIDFile=/home/%u/.vnc/%H%i.pid
# ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
# ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1440x900 -alwaysshared -fg
# # 1920x1080
# # 1280x800
# ExecStop=/usr/bin/vncserver -kill :%i
#
# [Install]
# WantedBy=multi-user.target
#
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
# 用户名和显示编号应根据实际情况进行调整
User=jianXX
Group=jianXX
# 请确保正确的VNC服务器路径(通常为 /usr/bin/vncserver 或 /usr/local/bin/vncserver)
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
(6)sudo systemctl daemon-reload
(7)配置开机自启动 和启动 VNC 服务:
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service
注意:这是是启动标记号为 1 的服务,不同用户对应不同标记号(桌面号)
(8)验证是否启动成功:
sudo systemctl status vncserver@1.service
或者vncserver -list 查看,或者ps aux | grep X
或 查看端口号: sudo netstat -tuln | grep 5901
(9) 在我的情况,并没有启动,可能需要关闭服务器再开机,所以,我手动启动vncserver,执行
vncserver :1,这里1是标记号(桌面号)要跟2中配置的localhost对应。再验证vncserver -list,出现了。
如果要kill某个vncserver,执行例如:vncserver -kill :4
2. 在本地笔记本上安装、配置
(1)我的本地系统是ubuntu系统,安装vnc客户端,执行
sudo apt install tigervnc-viewer
(2)编辑~/.ssh/config ,
添加cat ~/.ssh/config
Host 10.239.XX.XX
HostName 10.239.XX.XX
User jianXX
LocalForward 59000 localhost:5901
注意最后3行,空两个字符。注意看服务器自己启动的桌面号是多少(比如5),这里5091改为5900+5=5905
(3)启动ssh连接,可以在终端执行ssh account@xxx,也可在ssh终端(Xshell、MobaXterm、Asbru)上开一个服务器的连接。
(4)打开TigerViewer,输入配置跟下面一样:
即可登陆服务器。
踩坑:
1.vncserver有不同的软件(tighVncserver,Tigervncserver,realvncserver),但在服务器上只能安装一个,否则容易出现混淆导致错误(可能我的发现不对)。
2.在~/.ssh/config上配置的localhost:5901, 一定要跟服务器启动的Vncserver的标记号一样,才可以。
3. 在/etc/systemd/system/vncserver@.service中配置ExecStart, 要保证添加 -localhost no,否则本地连不上。
4. 如果出现错误,推倒重来,
sudo rm -f /tmp/.X*-lock /tmp/.X11-unix/X*
rm -rf .vnc
rm .Xauthority && touch .Xauthority && chmod 600 .Xauthority
5. 如果执行 1.(7-8)不生效,不用灰心,执行vncserver :1,这里1是标记号(桌面号)要跟2中配置的localhost对应。
6.我参考https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-20-04
,配置过tighVncserver,但是没成功,最后选的Tiger。
参考:
https://blog.csdn.net/qq_36891089/article/details/122048000
https://hychiang.info/blog/2024/install_tigervnc/