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


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

    AutoSAR入门到精通系列讲解
    将从2019年开始更新关于AutoSAR的知识,从入门到精通,博主xyfx和大家一起进步
    雪云飞星

    一.安装

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

    yum install tigervnc-server 

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

    yum install vnc

    停止并禁用防火墙;

    1.  
      systemctl stop firewalld.service
    2.  
      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相关参数,最终内容如下:

    1.  
      [Unit]
    2.  
      Description=Remote desktop service (VNC)
    3.  
      After=syslog.target network.target
    4.  
      [Service]
    5.  
      Type=forking
    6.  
      #Clean any existing files in /tmp/.X11-unix environment
    7.  
      ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
    8.  
      ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
    9.  
      PIDFile=/root/.vnc/%H%i.pid
    10.  
      ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

    1.设置为非root用户报错:

    1.  
      [root@localhost system]# systemctl status -l vncserver@:2.service
    2.  
      vncserver@:2.service - Remote desktop service (VNC)
    3.  
      Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset:
    4.  
      disabled)
    5.  
      Active: failed (Result: exit-code) since 一 2016-04-25 19:07:23 CST; 7s ago
    6.  
      Process: 10305 ExecStart=/usr/sbin/runuser -l fang -c /usr/bin/vncserver %i (code=exited,
    7.  
      status=1/FAILURE)
    8.  
      Process: 10291 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || :
    9.  
      (code=exited, status=0/SUCCESS)
    10.  
      4月 25 19:07:23 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
    11.  
      4月 25 19:07:23 localhost.localdomain systemd[1]: vncserver@:2.service: control process
    12.  
      exited, code=exited status=1
    13.  
      4月 25 19:07:23 localhost.localdomain systemd[1]: Failed to start Remote desktop service
    14.  
      (VNC).
    15.  
      4月 25 19:07:23 localhost.localdomain systemd[1]: Unit vncserver@:2.service entered failed
    16.  
      state.
    17.  
      4月 25 19:07:23 localhost.localdomain systemd[1]: vncserver@:2.service failed.

    2.Type=forking报错,改为Type=simple

    1.  
      [root@localhost system]# systemctl start vncserver@:2.service
    2.  
      Job for vncserver@:2.service failed because the control process exited with error code. See
    3.  
      "systemctl status vncserver@:2.service" and "journalctl -xe" for details.
    4.  
      [root@localhost system]# systemctl status -l vncserver@:2.service
    5.  
      ● vncserver@:2.service - Remote desktop service (VNC)
    6.  
      Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset:
    7.  
      disabled)
    8.  
      Active: failed (Result: exit-code) since 一 2016-04-25 19:09:41 CST; 6s ago
    9.  
      Process: 12367 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited,
    10.  
      status=98)
    11.  
      Process: 12354 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || :
    12.  
      (code=exited, status=0/SUCCESS)
    13.  
      4月 25 19:09:41 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
    14.  
      4月 25 19:09:41 localhost.localdomain systemd[1]: vncserver@:2.service: control process
    15.  
      exited, code=exited status=98
    16.  
      4月 25 19:09:41 localhost.localdomain systemd[1]: Failed to start Remote desktop service
    17.  
      (VNC).
    18.  
      4月 25 19:09:41 localhost.localdomain systemd[1]: Unit vncserver@:2.service entered failed
    19.  
      state.
    20.  
      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

  • 相关阅读:
    鸽巢原理
    springboot websocket sockjs 服务器推送 跨域问题 解决办法
    springboot打war包部署到外部Tomcat下
    springboot项目两种实现restful webservice的方法
    springboot扫描不到webservice
    JPA,Hibernate,ibatis(mybatis)如何选用?
    intellij自动生成实体类以及遇到的问题
    图片加载不出来时,设置默认默认图片
    图片上传预览
    利用layer实现表单完美验证
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/12440975.html
Copyright © 2020-2023  润新知