xshell连接Linux系统(小红帽7.3)服务器,导致服务器黑屏

xshell连接Linux系统(小红帽7.3)服务器,导致服务器黑屏服务器仍然运行,xshell可连接进行操作,但服务器得显示器卡在如下图片上

一.安装

    以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/[email protected] /lib/systemd/system/vncserver@:1.service

    或者再增加一个窗口:

    cp /lib/systemd/system/[email protected] /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 environmentExecStartPre=/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.pidExecStop=/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

温馨提示:答案为网友推荐,仅供参考