Centos7 安装VNC步骤
一.安装
1. 以root用户运行以下命令来安装vncserver;
yum install tigervnc-server
2. 同样运行以下命令来安装vncviewer;
yum install vnc
3. 停止并禁用防火墙;
systemctl stop firewalld.service
systemctldisable 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=Remotedesktopservice(VNC) After=syslog.targetnetwork.target [Service] Type=forking #Cleananyexistingfilesin/tmp/.X11-unixenvironment ExecStartPre=/bin/sh-c'/usr/bin/vncserver-kill%i>/dev/null2>&1||:' ExecStart=/sbin/runuser-lroot-c"/usr/bin/vncserver%i" PIDFile=/root/.vnc/%H%i.pid ExecStop=/bin/sh-c'/usr/bin/vncserver-kill%i>/dev/null2>&1||:' |
·上述内容中最好设置为root用户,否则可能会看到以下报错:
1 2 3 4 5 6 7 8 9 10 11 |
vncserver@:1.service-Remotedesktopservice(VNC) Loaded:loaded(/usr/lib/systemd/system/vncserver@:1.service;enabled) Active:Failed(Result:exit-code)sinceTue2015-04-1410:09:24CST;1min36sago Process:3258ExecStart=/sbin/runuser-lsysadmin-c/usr/bin/vncserver%i(code=exited,status=1/FAILURE) Process:3254ExecStartPre=/bin/sh-c/usr/bin/vncserver-kill%i>/dev/null2>&1||:(code=exited,status=0/SUCCESS) Apr1410:09:24F1A-VMHOST-SWPEsystemd[1]:StartingRemotedesktopservice(VNC)... Apr1410:09:24F1A-VMHOST-SWPErunuser[3258]:Password: Apr1410:09:24F1A-VMHOST-SWPEsystemd[1]:vncserver@:1.service:controlprocessexited,code=exitedstatus=1 Apr1410:09:24F1A-VMHOST-SWPEsystemd[1]:FailedtostartRemotedesktopservice(VNC). Apr1410:09:24F1A-VMHOST-SWPEsystemd[1]:Unitvncserver@:1.serviceenteredFailedstate. Warning:Unitfilechangedondisk,'systemctldaemon-reload'recommended. |
三.应用
1. 更新systemctl以使其生效;
systemctl daemon-reload
2. 设置vncserver的密码;
vncpasswd root
按提示输入密码以及确认密码
3. 启动该服务用来启用vnc的1号窗口;
systemctlstartvncserver@:1.service或者vncserver:1
关闭1号窗口:
systemctlstopvncserver@:1.service或者vncserver-kill:1
4. 设置为开机自动启动;
systemctlenablevncserver@: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、