参考
安装前说明
- vnc在root用户,或者具有sudo权限的用户下面安装
- vnc可以指定登录用户,也可以使用已有的用户,下面的部分步骤可以跳过
- vnc登录需要输入2次密码:一次vnc密码,一次是系统用户(vncserver开启的用户)密码
安装VNC过程
SELINUX
关闭- 进入vncserver运行用户,此处我选择的是
root
- 编辑
/etc/sysconfig/selinux
文件
将
修改为:SELINUX=enforcing
保存退出。SELINUX=enforcing
- 进入vncserver运行用户,此处我选择的是
- 安装桌面环境
该服务可以解决登录vnc黑屏的问题
# yum install gnome*
- 安装 VNC Server
dnf install tigervnc-server tigervnc-server-module -y
- Create New User and Set VNC Password
vncuser和对应的密码根据需求修改
# useradd vncuser
设置vncuser用户密码,建议与下面vncpasswd一致,方便记忆
# passwd vncuser
进入vncuser用户
# su - vncuser
设置vnc连接时密码
# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
初始化~/.vnc目录下面的log、pid、xstartup文件等
# vncserver
退出vncuser用户,进入到root
# exit
-
Create Systemd Service File for VNC
(1). 创建vi /etc/systemd/system/vncserver@.service
文件(2). 填写文件内容。以下是2种配置方法,选择其中一种进行设置
注意,其中的`vncuser`需要替换为上述步骤4创建的用户名称。 - forking方式 ``` [Unit] Description=Remote Desktop VNC Service After=syslog.target network.target [Service] Type=forking WorkingDirectory=/home/vncuser User=vncuser Group=vncuser ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver -autokill %i ExecStop=/usr/bin/vncserver -kill %i [Install] WantedBy=multi-user.target ``` - simple方式 ``` [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=simple # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver_wrapper vncuser %i ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target ```
保存退出。
- reload the systemd daemon
# systemctl daemon-reload
-
启动vncserver服务,并设置为开机启动
// 启动服务
# systemctl start vncserver@:1.service
// 开机启动
# systemctl enable vncserver@:1.service
// 查看状态
# systemctl status vncserver@:1.service
// 查看端口
# netstat -tunlp | grep 5901
- 配置防火墙,开放端口,不然vnc viewer无法连接
配置开放5901端口
# firewall-cmd --permanent --zone=public --add-port=5901/tcp
重启防火墙
# firewall-cmd --reload
- 通过VNC Viewer连接
- 填写连接地址
- 连接成功
常用命令
停止vnc
# systemctl stop vncserver@:1.service
重启vnc
# systemctl restart vncserver@:1.service