Centos7 安装VNC步骤
一.安装
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/[email protected] /etc/systemd/system/vncserver@:1.service
或者再增加一个窗口:
cp /lib/systemd/system/[email protected] /lib/systemd/system/vncserver@:2.service
编辑vi/etc/systemd/system/vncserver@:1.service,设置用户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
5、