参考:RedHat官方文档:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-tigervnc
1. 系统环境
Oracle Linux Server 7.9
2. 利用yum安装tigervnc-server
2.1. 检查系统是否有安装tigervnc-server软件包
~]# rpm -qa | grep vnc
2.2. 安装tigervnc-server软件包
~]# yum install -y tigervnc-server
检查tigervnc-server是否安装成功:
~]# rpm -qa | grep vnc
gvnc-0.7.0-3.el7.x86_64
tigervnc-server-1.8.0-21.el7.x86_64
tigervnc-license-1.8.0-21.el7.noarch
gtk-vnc2-0.7.0-3.el7.x86_64
tigervnc-server-minimal-1.8.0-21.el7.x86_64
2.3. 为单个用户配置VNC显示
1)我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。创建一个新的VNC配置文件,/lib/systemd/system/vncserver@.service,这是一个配置文件模版,可以拷贝一份出来进行相关修改
~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
(注意) 在 @后面的数字1表示的是显示界面的序列号,对应的端口是port 5900+序列号。对于每一个启动的vncserver服务,端口号5900会自增1。
2)编辑 /etc/systemd/system/vncserver@:1.service
,将USER替换为实际的用户名。保留文件的其余行不变。 -geometry参数指定要创建的VNC桌面的大小;默认情况下,它设置为1024x768。
~]# vim /etc/systemd/system/vncserver@:1.service
在redhat7.9之后,配置文件有所改变:
3)要使更改立即生效,请执行以下命令
~]# systemctl daemon-reload
4)为配置文件中定义的一个或多个用户设置密码。请注意,您需要先从root切换到USER。
~]# su - USER
~]$ vncpasswd
Password:
Verify:
5)设置开机启动图形界面
- 查看当前开机启动模式
systemctl get-default
- 设置开机启动图形界面
systemctl set-default graphical.target
- 设置开机启动字符界面
systemctl set-default multi-user.target
3. 设置防火墙
我们需要配置防火墙来让 VNC 服务正常工作。
~]# firewall-cmd --permanent --add-service vnc-server
success
~]# firewall-cmd --reload
success
4. 启动与关闭VNC服务
4.1. 手动开启VNC
要启动或启用服务,请直接在命令中指定显示编号。上面在为单个用户配置VNC显示中配置的文件用作模板,其中%i由systemd替换为显示编号,使用有效的显示编号,执行以下命令:
~]# systemctl start vncserver@:display_number.service
或者:
~]# vncserver :1
您还可以使服务在系统启动时自动启动。然后,当您登录时,vncserver会自动启动。以root用户身份发出以下命令:
~]# systemctl enable vncserver@:display_number.service
4.2. 设置开机启动VNC
~]# systemctl enable vncserver@:1.service
4.3. 启动VNC
~]# systemctl start vncserver@:display_number.service
4.4. 查看VNC状态
~]# systemctl status vncserver@:1.service
4.5. 关闭VNC服务
两种关闭方法:
~]# systemctl stop vncserver@:display_number.service
或者在开启vncserver的用户下
~]# vncserver -kill :display_number
5. 客户端连接VNC
在Windows下,安装VNC Viewer,输入正确IP地址、窗口号和密码,即可远程。
这里输入1或者5901均可以。
6. 常见问题
1)连接VNC后出现蓝屏。
~]# yum groupinstall "GNOME Desktop Environment" (centos 5.x安装Gnome桌面环境)
~]# yum groupinstall "Desktop" "X Window System" (centos 6.x安装Gnome桌面环境)
~]# yum install -y gnome* (centos 7可用)
修改文件 /root/.vnc/xstartup
~]# cat /root/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/etc/X11/xinit/xinitrc
# Assume either Gnome or KDE will be started by default when installed
# We want to kill the session automatically in this case when user logs out. In case you modify
# /etc/X11/xinit/Xclients or ~/.Xclients yourself to achieve a different result, then you should
# be responsible to modify below code to avoid that your session will be automatically killed
#if [ -e /usr/bin/gnome-session -o -e /usr/bin/startkde ]; then
#vncserver -kill $DISPLAY
#fi
gnome-session &
同时 /root/.vnc/xstartup
脚本的执行权限必须是755.