1. 参考列表
- https://vitux.com/ubuntu-vnc-server/
- https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
- https://www.cnblogs.com/young233/p/10847531.html
2. 安装xfce和TightVNC
sudo apt install xfce4 xfce4-goodies tightvncserver
这个xfce4是windows远程连接ubuntu系统的服务,当它运行时,会默认打开3389端口供客户端进行连接。安装报错的话,可以修改镜像
3. 配置vnc server
以用户“edward”启动vnc sever, 按照提示输入VNC连接密码
$vncserver
4. 配置TightVNC
$vncserver -kill :1
$mv ~/.vnc/xstartup ~/.vnc/xstartup.bekup
$vim ~/.vnc/xstartup
输入以下内容到xstartup文件
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
修改文件可运行,并重启server
$chmod +x ~/.vnc/xstartup
$vncserver
查看进程
$ps -ef | grep Xtightvnc
5. 配置TightVNC服务
在/etc/systemd/system目录下创建文件“vncserver@.service”
$sudo cd /etc/systemd/system
$sudo vim vncserver@.service
文件内容如下:其中edward为当前用户名,要修改为自己的用户名
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=edward
PIDFile=/home/edward/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
多用户VNC, 在/etc/systemd/system目录下创建文件“vncserver@2.service”, 修改里面的User=??
启动命令为:$sudo systemctl start vncserver@2.service
6. 重启服务
重启服务,和查询状态
$sudo systemctl daemon-reload
$sudo systemctl start vncserver@1.service
$sudo systemctl status vncserver@1.service
7. 添加服务到自启动
$sudo systemctl enable vncserver@1.service
8. 防火墙
如果服务器上有开防火墙,记得开放端口。在ubuntu系统中,常用的就是ufw或者iptables。
ufw开放5901端口:
$sudo ufw allow 5901/tcp
$sudo ufw reload #更新防火墙
iptables开放5901端口:
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
iptables-save >/etc/iptables.save #更新防火墙并保存规则
iptables-restore </etc/iptables.save #开机按照保存的规则自启防火墙
9. 客户端登陆vncserver服务
(1)先安装vncviewer来远程登陆,
(2)而后在地址栏输入“主机地址:1”(即主机IP加界面号的方式)
注意要加上:1,其中1 为服务器端启动的连接编号
10. 服务器切换用户图形界面和tty登录
关闭用户图形界面,使用tty登录。
sudo systemctl set-default multi-user.target
sudo reboot
开启用户图形界面。
sudo systemctl set-default graphical.target
sudo reboot