简介

TigerVNC是VNC的一种高性能、平台中立实现(虚拟网络计算),一种客户端/服务器应用程序,允许用户启动远程图形应用程序并与之交互机器。TigerVNC提供运行所需的性能级别3D和视频应用程序,并尝试保持普通外观并尽可能在各种它支持的平台。TigerVNC还提供了其他扩展高级身份验证方法和TLS加密。

下载

tigervnc提供了二进制和软件包两种方式可供选择,对于我们日常使用来说,选择打包好的程序,使用yum或apt管理更加方便,也更加友好。
下载地址:https://sourceforge.net/projects/tigervnc/files/stable/

rhel,fedora,ubuntu等发行版本,可以通过软件源直接下载安装。

在这里插入图片描述对于每个版本的安装包,都提供不同系统的支持,具体的选择,根据你的系统版本来定。
在这里插入图片描述
对于Linux的server来说,需要按系统版本来选择对应的包,我这里选择的是rhel8
在这里插入图片描述

使用

对于一款跨平台的vnc连接软件,通常由两部分组成,我这里用Client和Server来区分。
例如,我现在需要用我的windows去访问一台Linux服务器,那么,我的windows就是Client端,被访问的Linux服务器就是Server端。

client

下载windows适用的vncview软件,并安装。
在这里插入图片描述
在这里输入server端对应的IP和端口,格式为IP:port
例如:

192.169.6.10:1

VNC服务器的默认端口为5900。要访问远程桌面的端口,请将默认端口和用户分配的显示号相加。例如,对于第二个端口:2+5900=5902。
关于vncserver的连接端口,测试发现,直接使用vncserver -list查到的端口也是可以连接的。

回车或者点击ok,输入密码,即可连接。
在这里插入图片描述

server

下载Linux端适用的软件包并安装。对于rhel来说,理论上只需要tigervnc-license,tigervnc-server和tigervnc-server-minimal这几个包,如果有其他安装依赖问题,根据提示下载对应的包即可。

如果您配置的yum源中有tigervnc软件,也可以直接使用yum来安装。

yum install -y tigervnc*

在这里插入图片描述

配置文件

1.配置文件是/etc/systemd/system/ vncserver@.service。可以通过复制 /lib/systemd/system/ vncserver@.service来创建。

~]# cp /lib/systemd/system/ vncserver@.service /etc/systemd/system/ vncserver@.service

没有必要在文件名中包括显示设备编号,SYSTEMD会自动建立正确的实例(把%i自动替换)。对单个用户来讲没有必要对文件改名。对多个用户来讲,每个用户都需要一个唯一的服务文件,这样就需要把用户名字加到文件名里了。

2.修改/etc/systemd/system/ vncserver@.service文件,把USER改成实际用户的名字,其它地方不用改。-geometry参数会指定VNC桌面的大小,默认为1024*768。

ExecStart=/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/home/USER/.vnc/%H%i.pid

3.保存更改。

4.为了使更改生效,应使用以下命令:

~]# systemctl daemon-reload 

服务管理

#启动服务
systemctl start vncserver
# 查看vncserver端口
vncserver -list

设定密码(先切换成对应的用户):

~]# su - USER
~]$ vncpasswd
Password:
Verify:

重要:密码没有加密,有权限查看密码文件的用户可以看到密码。

配置多用户的VNC

如果你想配置多个用户远程登陆,则需要为每个用户都创建一个文件。

  1. 创建多个服务文件

比如 vncserver-USER_1@.service和vncserver-USER_2@.service,USER需要替换成实际的用户。

  1. 分别设定密码:
~]$ su - USER_1
~]$ vncpasswd
Password:
Verify:
~]$ su - USER_2
~]$ vncpasswd
Password:
Verify: 

tigervnc连接排错

一、vnc密码错误

使用ssh登录到server端所在的主机,使用vncpasswd修改密码

~]$ vncpasswd
Password:
Verify: 

二、vncserver端口忘记了

使用vncserver -list命令查看即可
在这里插入图片描述

三、连接很卡,或者画面没有反应

可以使用vncserver -kill命令来杀掉当前的vncserver进程,并使用vncserver命令重新启用一个进程

杀掉当前vnc进程
# vncserver -list

TigerVNC server sessions

X DISPLAY #    PROCESS  ID
:1                     310104
# vncserver -kill :1
Killing Xvnc process ID 310104
# vncserver -list


TigerVNC server sessions

X DISPLAY #    PROCESS  ID

-------------------------------------------------
重新启用进程
# vncserver

四、服务报错

请检查配置文件,一般来说,都是/etc/systemd/system/ vncserver@.service文件有问题。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐