Centos7 安装VNC步骤

2018-03-12 07:39:26 7952

一.安装

1.  以root用户运行以下命令来安装vncserver;

yum install tigervnc-server 

2.  同样运行以下命令来安装vncviewer;

yum install vnc

3.  停止并禁用防火墙;

systemctl stop firewalld.service

systemctl disable firewalld.service

二.配置

1.  vncviewer基本上不用配置;

2.  vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:

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

或者再增加一个窗口:

cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service

编辑vi/etc/systemd/system/vncserver@:1.service,设置用户root相关参数(将文中的“<USER>”替换为你系统的用户名,这里我填写的是root,你可以填写成你的系统登录名),最终内容如下:

1

2

3

4

5

6

7

8

9

10

   

[Unit]

Description=Remote desktop service (VNC)

After=syslog.target network.target

[Service]

Type=forking

# Clean any existing files in /tmp/.X11-unix environment

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

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

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

ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

   

·        上述内容中最好设置为root用户,否则可能会看到以下报错:

1

2

3

4

5

6

7

8

9

10

11

   

vncserver@:1.service - Remote desktop service (VNC)

   Loaded: loaded (/usr/lib/systemd/system/vncserver@:1.service; enabled)

   Active: failed (Result: exit-code) since Tue 2015-04-14 10:09:24 CST; 1min 36s ago

  Process: 3258 ExecStart=/sbin/runuser -l sysadmin -c /usr/bin/vncserver %i (code=exited, status=1/FAILURE)

  Process: 3254 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Starting Remote desktop service (VNC)...

Apr 14 10:09:24 F1A-VMHOST-SWPE runuser[3258]: Password:

Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: vncserver@:1.service: control process exited, code=exited status=1

Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Failed to start Remote desktop service (VNC).

Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Unit vncserver@:1.service entered failed state.

Warning: Unit file changed on disk, 'systemctl daemon-reload' recommended.

   

三.应用

1.  更新systemctl以使其生效;

systemctl daemon-reload 

2.  设置vncserver的密码;

vncpasswd root

按提示输入密码以及确认密码

3.  启动该服务用来启用vnc的1号窗口;

systemctl start vncserver@:1.service  或者 vncserver :1

关闭1号窗口:

systemctl stop vncserver@:1.service   或者 vncserver -kill :1

4.  设置为开机自动启动;

systemctl enable vncserver@:1.service

End.               

 

 

问题处理:

1、  如果远程使用ssh可以正常登录,而在本机登录时提示“module is unknow”,则使用在远程使用“tail -n 100 /var/log/secure”查看错误,我当时是发现以下错误:

PAM unable todlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot openshared object file: No such file or directory

也就是找不到pam_limits.so,看了一下对应目录下也确实没有对应文件,经搜索确认,64位操作系统的对应位置是“/lib64/security/”,这样就可以修改登录文件了。

修改vi/etc/pam.d/login

 

注释掉其中的:

session required/lib/security/pam_limits.so

改为

session required/lib64/security/pam_limits.so

然后再在主机上试着登录就可以解决了,此时登录后就可以输入startx进入图形界面了,此时VNC客户端登录时显示的“Oh no! Something has gone wrong”也不会再出现了。

2、  显示“Oh no!Something has gone wrong”

如果出现提示“Oh no!Something has gone wrong”,则接CTRL+ALT+F2进入命令行模式

如果用命令行登录提示“moduleis unknow”,则使用以下指令查看日志:

tail -n 100 /var/log/secure

在日志中找到这个错误。

 PAM unable todlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot openshared object file: No such file or directory

于是在进入/lib/security/下面看下到底文件在不在。果然没有。

oracle中配置过pam_limits.so

vi /etc/pam.d/login

 

session required /lib/security/pam_limits.so

 

pam_limits.so这个文件系统本省应该有的,会不会是linux版本不一样路径也不一样呢,

 

网上搜了下,64位系统是在/lib64/security/下面

修改vi /etc/pam.d/login

session required /lib64/security/pam_limits.so

 

重启系统

 

终于进去了,问题解决。

3、  查看端口号

查看端口状态:netstat -lnt |grep 590*

4、  查看端口由那个程序占用

lsof -i:5905


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: