您的位置: 消费周刊网 > 科技 > 正文

Centos 7 环境下VNC的配置

2020-08-14 07:48:33来源:阅读:
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的配置

推荐阅读:江苏生活网

滚动推荐
48:33Centos 7 环境下VNC的配
三、如果出现VNC连接上去黑屏或无法连接,则手工kill掉VNC进程的[详细]
04:122014年最佳国产旗舰机评选
IT之家(www.ithome.com):【投票】2014年最佳国产旗[详细]
38:25温湿度传感器在远程智能监护中的应用
新型的远程监控技术-远程智能婴儿看护器,让这成为可能,父母可以通过远程[详细]
37:32小米全球第三家旗舰店 武汉楚河汉街
小米全球第三家旗舰店落户武汉楚河汉街,这是全国第500家小米之家,也是[详细]
07:31自拍手机怎么选?搭载3200万摄像
如今,拍照已经成为手机中一个重要功能了,对于很多女性朋友来说,自拍甚至[详细]
55:42湿度传感器的类型以及信号调理的原理
湿度是空气中水蒸气量的术语。相对湿度(RH)定义为在给定温度下水蒸气的[详细]
46:59都是2000元内,都是骁龙855,
随着IQOO neo的继任者IQOO NEO 骁龙855版本在今天正式[详细]