要注意的以下几点:
(1)该配置过程分为3步,第1步,ssh连接服务器 第2步,安装图形界面 第3步,配置vncserver
(2)ssh连接:确保正确连接即可。
(3)图形界面:一定要保证图形界面安装完成,出现Transaction check error报错要解决掉再进行下一步,我是通过命令:sudo yum upgrade -y进行解决的。另外,建议把图形界面设置成默认桌面,因为vnc连接要求服务器必须使用的是图形界面,或者需要用vnc的时候再启动图形界面也行。
(4)编辑vnc配置文件:/etc/systemd/system/vncserver@\:1.service,要注意
(5)界面序号,如果是1.service则表示1号桌面,那连接端口就是5901;2号则是5902,依次类推
(6)如果重启服务后,vnc无法连接,则很可能是没有开启vnc服务,重新开启即可,或者加入开机自动启动vnc
在一台Linux客户机上,使用SSH连接,
ssh [email protected]
sudo yum grouplist
sudo yum groupinstall -y "GNOME Desktop"
sudo yum groupinstall "X Window System"
yum grouplist
sudo yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
上面出现报错,
Transaction check error:
file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-common-1:2.02-0.65.el7.centos.2.noarch
运行命令:
sudo yum upgrade -y
备注:一定要确保图形界面安装成功!!!不能出现报错,否则无法连接VNC。
安装完成后,修改默认启动方式为图形化界面
sudo systemctl set-default graphical.target
备注:假设想换回来,使用命令即可 sudo systemctl set-default multi-user.target ,然后重新系统
sudo yum install tigervnc-server -y
rpm -qa|grep tigervnc-server
复制vnc的启动操作脚本, vncserver@:1.service中的:1表示"桌面号",启动的端口号就是5900+桌面号,即是5901,如果再有一个就是2啦,端口号加1就是5902,以此类推:
sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
sudo vim /etc/systemd/system/vncserver@\:1.service
找到其中的
使用cat命令查看,修改成功
cat /etc/systemd/system/vncserver@\:1.service
设置vnc密码,执行su sdn,切换到刚配置文件设置的sdn用户,执行vncpasswd(这一步是在sdn用户下操作),输入两次密码,输入完成后会提示是否设置view-only password(“View-only password”密码,只允许查看,无控制权限。)这个可设可不设:
vncpasswd
sudo systemctl daemon-reload
sudo systemctl start vncserver@\:1.service
可以加入开机启动,下次开机就会自动启动:
systemctl enable vncserver@\:1.service
netstat -lnpt|grep Xvnc
查看端口是否监听,如果开启成功,会有以下输出。 如果没有输出,则很可能是图形界面没有安装成功或者图形界面未启动。
如果只启动了一个vncservice,那这个命令的输出就应该是4行,即两个5901和两个6001,如果超出了,建议使用sudo kill -9 pid杀死多余进程。
防火墙的一些操作命令:
#启动
systemctl start firewalld
#关闭
systemctl stop firewalld
#查看状态
systemctl status firewalld
#开机禁用
systemctl disable firewalld
#开机启用
systemctl enable firewalld
#添加/开启一个端口,开启后重新载入生效(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
#删除端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent
#重新载入新规则
firewall-cmd --reload
#查看端口是否开启
firewall-cmd --zone= public --query-port=80/tcp
#查看所有打开的端口
firewall-cmd --zone=public --list-ports
防火墙可以选择开启或者关闭,如果关闭则不需要设置开启5901端口,如果开启防火墙则需要设置开启5901端口。
查看防火墙状态
firewall-cmd --state
方法1:开启防火墙
启动防火墙并开放5901端口
sudo systemctl start firewalld.service
sudo firewall-cmd --zone=public --add-port=5901/tcp --permanent
方法2:直接关闭防火墙
关闭防火墙,然后再禁止开机启动。
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭SELinux,编辑/etc/selinux/config 文件:
vim /etc/selinux/config
将enforcing改为disabled
修改后如下:
如ip是212.111.333.222,开启的是1号桌面,则连接为212.111.333.222:5901
之后安装提示操作点击continue输入密码之类的即可完成vnc连接
连接成功