目的
目的是在Ubuntu 18.04 Bionic Beaver Linux上设置VNC服务器。
操作系统和软件版本
- 操作系统:-Ubuntu 18.04仿生海狸
要求
以root或通过特权访问Ubuntu系统sudo
命令是必需的。
困难
介质
约定
使用说明
Ubuntu VNC服务器设置
让我们从安装VNC服务器和Xfce桌面管理器核心文件开始:
$ sudo apt install vnc4server xfce4 xfce4-goodies
一旦安装了VNC服务器,我们就可以通过设置用户密码来开始配置,该密码将由VNC客户端在创建远程连接时使用:
$ vncpasswd
接下来,创建~/.vnc/xstartup
文件以启动Xfce4桌面:
$ mkdir ~/.vnc
$ nano ~/.vnc/xstartup
插入以下内容并保存:
#!/bin/bash
startxfce4 &
最后,使~/.vnc/xstartup
文件可执行文件:
$ chmod +x ~/.vnc/xstartup
在此阶段,我们准备启动VNC服务器。为此,只需运行vncserver
您的主目录中的命令:
$ vnc4server
New 'ubuntu:1 (linuxconfig)' desktop is ubuntu:1
Starting applications specified in /home/linuxconfig/.vnc/xstartup
Log file is /home/linuxconfig/.vnc/ubuntu:1.log
VNC服务器将为您创建的每个新VNC桌面打开一个新端口。您的Ubuntu系统现在应该在端口上监听5901
对于传入的VNC连接:
$ ss -ltn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:6001 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 5 *:5901 *:*
如果你有UFW启用防火墙,打开端口5901
有关传入连接的信息,或参阅以下如何通过SSH协议建立VNC连接的通道:
$ sudo ufw allow from any to any port 5901 proto tcp
Rule added
Rule added (v6)
如果您希望使防火墙规则更严格或允许多个VNC会话使用端口范围,请访问我们的如何打开/允许传入防火墙端口指南了解更多信息。
连接到VNC服务器
现在,您可以使用任何VNC客户端连接到新的Ubuntu VNC服务器。本指南将使用xvnc4viewer
客户。
安装xvnc4viewer
在您的Ubuntu客户端系统上运行:
$ sudo apt install xvnc4viewer
一旦安装了VNC客户端,就可以使用主机名(例如)建立到VNC服务器的新连接。ubuntu-vnc-server
使用以下linux命令:
$ vncviewer ubuntu-vnc-server:1
输入之前在“ Ubuntu VNC服务器设置”部分中创建的密码。
如果一切顺利,将为您提供在远程VNC服务器Ubuntu系统上运行的Xfce4桌面会话:
注意,也可以通过SSH隧道运行安全的VNC客户端/服务器连接。假设您具有SSH用户访问权限(在本例中为username)linuxconfig
用于)到您的VNC服务器。ubuntu-vnc-server
。
首先,在本地端口上创建SSH隧道5901
通往远程端口5901
在您的VNC服务器上。
例:
$ ssh -L 5901:127.0.0.1:5901 -N -f -l linuxconfig ubuntu-vnc-server
上面的命令将打开一个本地端口5901
在本地主机loop-back网络接口上127.0.0.1
:
$ ss -ltn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 128 127.0.0.1:6010 0.0.0.0:*
LISTEN 0 128 127.0.0.1:6011 0.0.0.0:*
LISTEN 0 128 0.0.0.0:38299 0.0.0.0:*
LISTEN 0 128 127.0.0.1:5901 0.0.0.0:*
接下来,使用本地端口5901
通过SSH隧道连接到远程VNC服务器:
$ vncviewer localhost:1
VNC服务器系统启动脚本
尽管当前配置有效,但是为了轻松管理多个VNC桌面会话,可能需要设置一个systemd启动脚本。
创建一个新文件/etc/systemd/system/vncserver@.service
使用您喜欢的文本编辑器,例如纳米:
$ sudo nano /etc/systemd/system/vncserver@.service
打开文件后,请在插入以下行的同时替换linuxconfig
带有您的VNC用户名的用户名7号线和10号线。 (可选)更改屏幕分辨率设置并应用其他vncserver
选项或参数:
[Unit]
Description=Systemd VNC server startup script for Ubuntu 18.04
After=syslog.target network.target
[Service]
Type=forking
User=linuxconfig
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800x600 :%i
PIDFile=/home/linuxconfig/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
接下来,重新加载Systemd:
$ sudo systemctl daemon-reload
启动VNC桌面1
输入:
$ sudo service vncserver@1 start
停止VNC桌面1
执行:
$ sudo service vncserver@1 stop
下列linux命令将启用VNC桌面1
重新启动后开始:
$ sudo systemctl enable vncserver@1
启动VNC桌面2
输入:
$ sudo service vncserver@2 start
等等..