Centos 7 安装VNC步骤

时间:2024-11-10 08:06:31

Centos7 安装VNC步骤

 

一.安装

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

yum install tigervnc-server 

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

yum install vnc

3.  停止并禁用防火墙;

systemctl stop

systemctl disable

二.配置

1.  vncviewer基本上不用配置;

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

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

或者再增加一个窗口:

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

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

1

2

3

4

5

6

7

8

9

10

[Unit]

Description=Remote desktop service (VNC)

After= 

[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%

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@: - Remote desktop service (VNC)

   Loaded: loaded (/usr/lib/systemd/system/vncserver@:; 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@:: 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@: 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@:  或者 vncserver :1

关闭1号窗口:

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

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

systemctl enable vncserver@:

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//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//login

 

session required /lib/security/pam_limits.so

 

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

 

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

修改vi /etc//login

session required /lib64/security/pam_limits.so

 

重启系统

 

终于进去了,问题解决。

3、  查看端口号

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

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

lsof -i:5905

5、