当前位置: 首页 > 工具软件 > TigerVNC > 使用案例 >

Linux 安装 TigerVNC

司马自明
2023-12-01

目录

VNC

虚拟显卡技术,主要用于虚拟机 Remote Console 领域,如:VNC(Virtual Network Computing,虚拟网络计算机),它能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上。

VNC 主要由 VNC server 和 VNC viewer 两部分组成。用户需先将 VNC server 安装在被远程操控的计算机上,然后才能在客户端执行 VNC viewer 进行远程操控。但 VNC 仍未能提供硬件图形加速能力,这些虚拟显示设备都是通过使用 CPU 以及内存的方式来对图形数据进行处理的,并没有应用到物理显示设备的功能。

而 VMGL(VMM-Independent Graphics Acceleration)解决了这个问题。VMGL 是一个独立于 Hypervisor 的图形加速系统,采用了前端虚拟化(Front-end virtualization)机制将需要图形处理的数据发送到一个拥有硬件图形加速功能的 VMM 上进行相应的图形数据处理。

Ubuntu 18.04 安装 TigerVNC Server

笔者的 Ubuntu 18.04 本来就是 Desktop,所以直接安装 TigerVNC 服务就可以了。

# 安装
$ sudo apt-get install tigervnc-standalone-server

# 设置 VNC 密码
$ vncpasswd
Passwork:
Verify:
Would you like to enter a view-only password  (y/n)? n

# 启动 VNC
sudo vncserver :2 -localhost no
sudo netstat -ntupl | grep vnc

CentOS7 安装 TigerVNC Server

在 CentOS 中,前提需要安装好 X-Windows 和 GUI。

$ yum groupinstall "X Window System" -y
$ yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y
$ systemctl set-default graphical.target
$ init 6 
# 安装
$ yum install tigervnc-server -y

# 配置
$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
$ vim /etc/systemd/system/vncserver@:1.service
..
# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@.service
# 2. Replace <USER> with the actual user name and edit vncserver
#    parameters in the wrapper script located in /usr/bin/vncserver_wrapper
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service`
...
#ExecStart=/usr/bin/vncserver_wrapper <USER> %i
ExecStart=/usr/bin/vncserver_wrapper root %i

# 设置 VNC 登录密码
$ vncpasswd

# 启动服务
$ systemctl daemon-reload
$ systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service && systemctl status vncserver@:1.service

# 查看 VNC 端口,默认为 5900,会自增 1。
$ netstat -lnpt | grep Xvnc
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      9145/Xvnc
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      9145/Xvnc
tcp6       0      0 :::6001                 :::*                    LISTEN      9145/Xvnc
tcp6       0      0 :::5901                 :::*                    LISTEN      9145/Xvnc

安装 VNC 客户端

笔者的是 OX 操作系统,安装的是 VNC Viewer。直接输入 TigerVNC 的 IP:Port 就可以远程接入了。

问题:A VNC server is already running as :1

解决:

$ vncserver :1

Warning: dev-lib:1 is taken because of /tmp/.X11-unix/X1
Remove this file if there is no X server dev-lib:1
A VNC server is already running as :1

$ rm -rf /tmp/.X11-unix/X1

$ systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service && systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2023-02-04 10:43:51 EST; 78ms ago
 Main PID: 2534 (vncserver_wrapp)
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           └─2534 /bin/sh /usr/bin/vncserver_wrapper root :1

2月 04 10:43:51 dev-lib systemd[1]: Starting Remote desktop service (VNC)...
2月 04 10:43:51 dev-lib systemd[1]: Started Remote desktop service (VNC).
 类似资料: