• 兰州都市网,欢迎您!
您现在位置:兰州都市网 >> 商讯 >> 正文

Centos 7 环境下VNC的配置!

2021-03-03 10:13:35    来源:    阅读:-

Centos 7 环境下VNC的配置

一、VNC是什么?

( Virtual Network Computing)VNC允许Linux系统可以类似实现像Windows中的远程桌面访问那样访问Linux桌面。

二、检测服务器是否已经安装装了VNC

# rpm -q tigervnc tigervnc-server

如果没有安装,则会直接出现以下信息

package tigervnc is not installed

package tigervnc-server is not installed

如果没有安装X-Windows 桌面的话要先安装Xwindows

# yum check-update

# yum groupinstall "X Window System"

# yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

# unlink /etc/systemd/system/default.target

# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

# reboot

第一步,安装VNC packages:

# yum install tigervnc-server -y

第二步,修改配置信息,在/etc/systemd/system/下建立文件夹vncserver@:1.service 把example config 文件从/lib/systemd/system/vncserver@.service复制到里面

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

然后打开这个配置文件/etc/systemd/system/vncserver@:1.service替换掉默认用户名

找到这一行

ExecStart=/sbin/runuser -l -c "/usr/bin/vncserver %i"

PIDFile=/home//.vnc/%H%i.pid

这里我直接用root 用户登录,所以我替换成

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"

PIDFile=/root/.vnc/%H%i.pid

如果是其他用户的话比如linoxide替换如下

ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"

PIDFile=/home/linoxide/.vnc/%H%i.pid

第三步,重加载 systemd

# systemctl daemon-reload

第四步,为VNC设密码

# vncpasswd

第五步,如果Centos 7 是用iptable防火墙的要输入以下指令:

vim /etc/sysconfig/iptables

在合适位置加上

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT

重启iptable

service iptables restart

如果是用Centos 7 默认防火墙的要输入以下指令:

# firewall-cmd --permanent --add-service vnc-server

# systemctl restart firewalld.service

如果还是有问题可以试试关闭防火墙

1. 停止并禁用防火墙;

2. systemctl stop firewalld.service

3. systemctl disable firewalld.service

第六步,设默认启动并开启VNC

# systemctl enable vncserver@:1.service

# systemctl start vncserver@:1.service

这样基本上Centos 端就设好了,Windows 端要去下一个VNC Viewer 的软件,连接上去了。

Centos 7 环境下VNC的配置

Centos 7 环境下VNC的配置

三、如果出现VNC连接上去黑屏或无法连接,则手工kill掉VNC进程的进行故障处理

1.模拟Kill掉已经启动的VNC服务

1)启动桌面1的服务

[root@testdb ~]# vncserver :1

New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/testdb:1.log

2)手工杀掉已经启动的VNC服务进程

[root@testdb ~]# ps -ef | grep -i vnc | grep -v grep

root 1178 1 0 11:07 pts/2 00:00:00 Xvnc :1 -desktop testdb:1 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn

root 1182 1 0 11:07 pts/2 00:00:00 vncconfig -iconic

[root@testdb ~]# kill -9 1178

3)确认进程已经杀掉

[root@testdb ~]# ps -ef | grep -i vnc | grep -v grep

4)再次启动桌面1的VNC服务,这里可以看到报错

[root@testdb ~]# vncserver :1

Warning: testdb:1 is taken because of /tmp/.X1-lock

Remove this file if there is no X server testdb:1

A VNC server is already running as :1

2.处理过程

很简单,按照错误提示的内容,需要删除/tmp/.X1-lock文件

[root@testdb ~]# rm -f /tmp/.X1-lock

启动尝试,仍然报错

[root@testdb ~]# vncserver :1

Warning: testdb:1 is taken because of /tmp/.X11-unix/X1

Remove this file if there is no X server testdb:1

A VNC server is already running as :1

同样,按照提示的错误,进一步删除/tmp/.X11-unix/X1文件

[root@testdb ~]# rm -f /tmp/.X11-unix/X1

再次启动尝试,OK,启动成功!

[root@testdb ~]# vncserver :1

New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/testdb:1.log

Centos 7 环境下VNC的配置

推荐阅读:新疆之窗

声明:本网转载的文字、图片、音视频等信息,内容均来源于网络,并不代表本网观点,其版权归原作者所有。如果您发现本网转载信息侵害了您的权益,请与我们联系,我们将及时核实处理。
0