如何在Ubuntu 18.04 LT上安装和配置VNC服务器

时间:2020-02-23 14:32:51  来源:igfitidea点击:

虚拟网络计算(VNC)是一种技术,它允许使用远程帧缓冲协议(RFB)远程控制另一台计算机。
在本教程中,我们将介绍如何在Ubuntu 18.04 LT上安装和配置VNC服务器。

VNC在客户端/服务器模型中工作。
VNC客户端安装在本地计算机上,而VNC服务器安装在要管理的远程系统上。
服务器将远程计算机的显示屏幕的复制传输到查看器(客户端)。

在Ubuntu 18.04 LT上安装和配置VNC服务器

通过在终端中运行下面的命令,在Ubuntu 18.04上安装VNC服务器。

sudo apt update
sudo apt -y install vnc4server

第2步:安装桌面环境

确保Ubuntu 18.04上安装了桌面环境。
对于本教程,我们将安装XFCE桌面环境。

sudo apt install xfce4 xfce4-goodies

我们可以选择使用其他桌面环境。

步骤3:配置VNC服务器

完成桌面环境和VNC服务器的安装后。
如下配置Ubuntu 18.04 LTS上的VNC服务器。

1.设置安全访问密码

运行过 vncpasswd命令为VNC服务器设置密码。

$vncpasswd
Password:
Verify:

出现提示时,输入并验证密码。

2.启动VNC服务器

使用命令启动Ubuntu 18.04上的VNC服务器:

$vncserver :1
New 'ubuntu-01:1 (theitroad)' desktop is ubuntu-01:1
Creating default startup script /home/theitroad/.vnc/xstartup
Starting applications specified in /home/theitroad/.vnc/xstartup
Log file is /home/theitroad/.vnc/ubuntu-01:1.log

3.杀死VNC服务器

使用命令杀死VNC服务器:

$vncserver -kill :1
Killing Xvnc4 process ID 20842

4.设置VNC服务器桌面环境

VNC配置文件位于 ~/.vnc/xstartup
使用我们喜欢的文本编辑器进行编辑。

sudo vim ~/.vnc/xstartup

在文件末尾添加以下行。

exec /usr/bin/startxfce4 &

最后启动VNC服务器;显示号码[1]屏幕分辨率[800×600]颜色深度[24]

$vncserver :1 -geometry 800x600 -depth 24 
New 'ubuntu-01:1 (theitroad)' desktop is ubuntu-01:1
Starting applications specified in /home/theitroad/.vnc/xstartup
Log file is /home/theitroad/.vnc/ubuntu-01:1.log

第4步:连接到VNC桌面

我们可以使用VNC客户端和SSH隧道连接到远程桌面。
使用以下命令创建一个SSH隧道到VNC服务器

ssh <username><@vnsserverip>  -C  -L 5901:127.0.0.1:5901

然后安装VNCViewer客户端

sudo apt install tigervnc-viewer

在Arch Linux上,使用:

sudo pacman -S tigervnc

一旦SSH隧道运行,连接到 localhost:5901使用VNC客户端。
提示输入密码时,请输入VNC服务器配置期间创建的密码。

连接后,我们将看到默认的XFCE桌面环境

第5步:配置SystemD

停止当前的VNC服务器实例:

vncserver -kill :1

创建一个用于管理VNC服务器的系统服务单元文件。

sudo vim /etc/systemd/system/Hyman@theitroad

添加:

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=theitroad
Group=theitroad
WorkingDirectory=/home/theitroad
PIDFile=/home/theitroad/.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

不要忘记使用实际的远程用户用户名替换OniTor。
完成后保存文件并退出。

重新加载系统并启动VNC

sudo systemctl daemon-reload
sudo systemctl enable --now Hyman@theitroad

检查状态:

$systemctl status Hyman@theitroad
* Hyman@theitroad - Start TightVNC server at startup
   Loaded: loaded (/etc/systemd/system/Hyman@theitroad; indirect; vendor preset: enabled)
   Active: active (running) since Wed 2016-12-05 11:32:50 PST; 7s ago
  Process: 24161 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :1 (code=exited, status=0/SUCCESS)
  Process: 24154 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
 Main PID: 24168 (Xvnc4)
    Tasks: 63 (limit: 1110)
   CGroup: /system.slice/system-vncserver.slice/Hyman@theitroad
           |-24168 Xvnc4 :1 -desktop ubuntu-01:1 (theitroad) -auth /home/theitroad/.Xauthority -geometry 1280x800 -depth 24 -rfbwait 30000 -rfbauth /home/v
           |-24174 vncconfig -iconic
           |-24176 /bin/sh /etc/xdg/xfce4/xinitrc -- /etc/X11/xinit/xserverrc
           |-24186 xfce4-session
           |-24189 /usr/bin/dbus-launch --sh-syntax --exit-with-session xfce4-session
           |-24190 /usr/bin/dbus-daemon --syslog --fork --print-pid 5 --print-address 7 --session
           |-24194 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
           |-24198 /usr/bin/ssh-agent -s
           |-24202 xfwm4
.....

我们已在Ubuntu 18.04服务器上成功安装和配置VNC服务器。