CentOS7安装vncserver(启动失败及连接黑屏解决办法),交易系统

CentOS7安装vncserver(启动失败及连接黑屏解决办法)


文章摘要: CentOS7安装vncserver(启动失败及连接黑屏解决办法)


文章TAG: vncserver centos7

一.安装
 
以root用户运行以下命令来安装vncserver;
 
yum install tigervnc-server 
 
同样运行以下命令来安装vncviewer;
 
yum install vnc
 
停止并禁用防火墙;
 
systemctl stop firewalld.service
 
systemctl disable firewalld.service
 
二.配置
 
vncviewer基本上不用配置;
 
vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:
 
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
 
或者再增加一个窗口:
 
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service
 
编辑/lib/systemd/system/vncserver@:1.service,设置用户root相关参数,最终内容如下:
 
[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 || :'
1.设置为非root用户报错:
[root@localhost system]# systemctl status -l vncserver@:2.service
vncserver@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset:
disabled)
Active: failed (Result: exit-code) since 一 2016-04-25 19:07:23 CST; 7s ago
Process: 10305 ExecStart=/usr/sbin/runuser -l fang -c /usr/bin/vncserver %i (code=exited,
status=1/FAILURE)
Process: 10291 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || :
(code=exited, status=0/SUCCESS)

4月 25 19:07:23 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
4月 25 19:07:23 localhost.localdomain systemd[1]: vncserver@:2.service: control process
exited, code=exited status=1
4月 25 19:07:23 localhost.localdomain systemd[1]: Failed to start Remote desktop service
(VNC).
4月 25 19:07:23 localhost.localdomain systemd[1]: Unit vncserver@:2.service entered failed
state.
4月 25 19:07:23 localhost.localdomain systemd[1]: vncserver@:2.service failed.
 
2.Type=forking报错,改为Type=simple
 
[root@localhost system]# systemctl start vncserver@:2.service
Job for vncserver@:2.service failed because the control process exited with error code. See
"systemctl status vncserver@:2.service" and "journalctl -xe" for details.
[root@localhost system]# systemctl status -l vncserver@:2.service
● vncserver@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset:
disabled)
Active: failed (Result: exit-code) since 一 2016-04-25 19:09:41 CST; 6s ago
Process: 12367 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited,
status=98)
Process: 12354 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || :
(code=exited, status=0/SUCCESS)

4月 25 19:09:41 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
4月 25 19:09:41 localhost.localdomain systemd[1]: vncserver@:2.service: control process
exited, code=exited status=98
4月 25 19:09:41 localhost.localdomain systemd[1]: Failed to start Remote desktop service
(VNC).
4月 25 19:09:41 localhost.localdomain systemd[1]: Unit vncserver@:2.service entered failed
state.
4月 25 19:09:41 localhost.localdomain systemd[1]: vncserver@:2.service failed.
 
3.vnc viewer客户端连接黑屏
 
 
 
改变xstartup的权限
 
这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。
 
在CentOS中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)
 
所以需要执行:chmod 777 /root/.vnc/xstartup
 
关闭防火墙
 
 
 
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
 
 
 
 
三.应用
 
更新systemctl以使其生效;
 
systemctl daemon-reload 
 
设置vncserver的密码;
 
 vncpasswd root
 
按提示输入密码以及确认密码
 
启动该服务用来启用vnc的1号窗口;
 
systemctl start vncserver@:1.service  或者 vncserver :1
 
关闭1号窗口:
 
systemctl stop vncserver@:1.service   或者 vncserver -kill :1
 
设置为开机自动启动;
 
systemctl enable vncserver@:1.service


vi /usr/bin/vncserver

/1024 找到默认的1024*768修改为 :1680*1050

reboot 重启