目录
1.引言
大家都知道可以通过Xmanger的各种软件远程登录服务器,主要是用的ssh、ftp等服务。但对于图形界面等操作时,其要求很高的网速。往往在一些网速不高,如VPN、WiFi连接时,软件GUI操作过于卡顿,造成体验差的问题。本文通过配置VCN服务器,远程通过VCN访问可以大幅度提高GUI操作流畅度。
本文分为管理者配置部分和普通用户配置部分。
注意:旧版tigerVNC安装及使用可按照步骤2、步骤3进行,新版本特性已经修改,请直接按照步骤4进行。
2.管理者配置VNC(旧版本)
这部分命令需要使用sudo用户或者root用户。
2.1 安装VNC
首先安装vnc-server服务,完成后可见“Complete!”
sudo yum install tigervnc tigervnc-server
2.2 配置
VNC需要对每个用户单独配置,将/lib/systemd/system/vncserver@.service拷贝至/etc/systemd/system/vncserver@:1.service,并打开配置用户名。
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo vi /etc/systemd/system/vncserver@:1.service
将如下两个位置的<USER>替换为用户名,比如用户名为huang。
修改后
重加载:
sudo systemctl daemon-reload
设置防火墙,并重加载:
sudo firewall-cmd --permanent --add-service="vnc-server" --zone="public"
sudo firewall-cmd --reload
如果打印not running,先输入下面命令打开防火墙,再输入上面的命令配置,打印"success"即为成功配置。
sudo systemctl start firewalld
设置开机启动:
sudo systemctl enable vncserver@:1.service
2.3 多用户配置
每一个用户可以单独配置一个vncserver@:[num].service,比如配置第二个用户:
sudo cd /etc/systemd/system/
sudo cp vncserver@:1.service vncserver@:2.service
同样修改里面的用户名。
其他用户也可以直接通过普通用户配置登录,共享一个vncserver@:[num].service。
3. 普通用户配置(旧版本)
此处在各自用户下运行命令
普通用户连接在自己的终端开启一个vnc连接后就可以通过vnc viewer软件或者win自带远程桌面登录了。
3.1 初次连接
在终端输入如下命令,初次使用将设置vnc登录密码,以后可以通过vncpasswd修改vnc登录密码。
注意:vnc登录密码与账户登录密码不同,vnc登录密码只在登录vnc端口是有用,账户登录密码是登录服务器时的密码。
vncserver
查看,已创建一个连接
vncserver -list
图中的“2”即为连接端口,用户连接可以通过VNCview软件或者通过WIN自带的远程桌面登录。本文通过VNCview连接。首先打开VNC软件,输入IP和端口号,连接即可。用户初次连接桌面需要相关配置。
按照提示配置完成即可进入用户界面。
对于新版的VNCviewer,需要在菜单栏点击File->New Connection新建一个连接,输入IP:端口,名字,连接即可:
3.2 常用命令
geometry参数指定分辨率:
vncserver -geometry 1024x768
查看当前所有连接:
vncserver -list
删除连接端口1:
#注意空格
vncserver -kill :1
修改连接密码:
vncpasswd
=================== 2025.01.10 更新===================
4. 新版本tigerVNC安装及使用
新版本与旧版本在使用上最大的区别是,新版本没有vncserver命令,而是通过配置文件实现用户端口的创建,设置开机自启也更方便。
4.1 安装软件
新版的安装包可在sourceforg中下载,目前centos7最高版为1.13.1,并且不在支持更新。以centos7安装1.13.1版本为例,找到如下安装包:
# stable / 1.13.1 / el7 / RPMS / x86_64
tigervnc-1.13.1-1.el7.x86_64.rpm
tigervnc-server-minimal-1.13.1-1.el7.x86_64.rpm
tigervnc-server-1.13.1-1.el7.x86_64.rpm
# stable / 1.13.1 / el7 / RPMS / noarch
tigervnc-selinux-1.13.1-1.el7.noarch.rpm
tigervnc-license-1.13.1-1.el7.noarch.rpm
传入服务器后,按照如下顺序进行安装
yum install tigervnc-server-minimal-1.13.1-1.el7.x86_64.rpm
yum install tigervnc-selinux-1.13.1-1.el7.noarch.rpm
yum install tigervnc-license-1.13.1-1.el7.noarch.rpm
yum install tigervnc-server-1.13.1-1.el7.x86_64.rpm
yum install tigervnc-1.13.1-1.el7.x86_64.rpm
4.2 管理员配置
安装完成后,通过管理员账号修改配置文件创建端口,以及修改默认信息:
# 添加端口,不建议使用vncsession,不方便管理
vim /etc/tigervnc/vncserver.users
# 启动端口服务,:2为创建的端口号
systemctl start vncserver@:2.service
# 开机自动启动
systemctl enable vncserver@:2.service
# 关闭开机启动
systemctl disable vncserver@:2.service
按照其中提示输入端口号:用户名,保存后即可创建端口。之后防火墙放行vnc端口:
firewall-cmd --permanent --add-service="vnc-server" --zone="public"
firewall-cmd --reload
可通过修改如下文件修改默认配置:
vim /etc/tigervnc/vncserver-config-defaults
# session=gnome
# securitytypes=vncauth,tlsvnc
# geometry=2000x1200
# localhost
# alwaysshared
用户也可以通过自己配置$HOME/.vnc/config 实现参数的修改,其中列出了要传递给 Xvnc 的选项。在该文件中每行列出一个选项,可参考vncserver-config-defaults文件配置。
4.3 用户使用
相比旧版本,用户可操作的就比较少,基本为自定义参数,创建密码和修改密码。在初次使用前,需要通过vncpasswd命令创建vnc登陆密码,这与旧版本相同。客户端的登陆与旧版本完全相同,可参考步骤3操作。
注意新版本没有vncserver命令,需要创建端口必须找管理员。
5.问题解决办法(旧版本)
5.1 能连接,灰色界面,有鼠标
修改.vnc/xstartup即可,如下:
vi ~/.vnc/xstartup
将"unset SESSION_MANAGER"和"exec /etc/X11/xinit/xinitrc"两行前面的"#"去掉即可
5.2 能连接,黑色界面,鼠标为方框
更新软件,完成后重新尝试即可。
sudo yum upgrade
sudo service vncserver restart
5.3 参考xstartup配置文件
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
xfce4-panel &
xfsettingsd &
xfwm4 &
xfdesktop &
pcmanfm &
xfce4-terminal &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/etc/X11/xinit/xinitrc
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
注意xstartup 文件可执行文件,如果不是,可通过如下命令添加
chmod +x ~/.vnc/xstartup
=================== 2020.03.30 更新===================
5.4 VNC配置正常,但连接不上
问题描述:VNC连接时,出现Timed out waiting for a response from the computer错误连接不上。
- a. 如果VNC配置正常,就是远程连接不上。那一般是网络不通的问题,首先确定自己的网络可以ping到服务器的ip。如果ping不到,说明网络找不到服务器,自然就连接不上。解决办法:如果是公司、学校等单位,可以使用单位的vpn连接到内网中。
- b. 如果ip可以ping到,还连接不上,这个时候可能是服务器防火墙的问题。可能之前配置防火墙的时候给vnc留的端口过少。 解决办法:使用root权限运行如下命令,让防火墙打开5901-5990的端口,防止新建的端口被防火墙拦截。
/sbin/iptables -I INPUT 1 -p TCP --dport 5901:5990 -j ACCEPT
5.5 VNC连接上,但打不开cadence
问题描述:打开cadence提示:Failed to find either 24-bit TrueColor or 8-bit PseudoColor Visual. 错误。
解决办法:需要在输入vncserver命令创建端口的时候加上输入参数-depth 24,如:
vncserver -depth 24
6.结语
本文讲述了vnc的安装配置过程,并针对一些问题给出了解决办法,希望能够帮到大家。如有问题,欢迎留言。