centos7 vnc 无法systemctl启动

1.centos7 vnc 无法systemctl启动

  • 报错如下:Failed to start Remote desktop service (VNC)

2.解决办法

  • 错误服务脚本名

    • vncserver@1.service
  • 正常服务脚本名

    • vncserver@:1.service
      • 注意1前面的冒号,:1整体是需要当作端口参数传入到vncserver@:1.service脚本中的,不能为纯数字

      • %i 将被:1这个端口参数所替代,所以这里容易被大家忽略,造成服务无法使用systemctl启动

[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=/usr/sbin/runuser -l appadmin -c "/usr/bin/vncserver %i -geometry 1280x1024"                                     
ExecStart=/usr/sbin/runuser -l appadmin -c "/usr/bin/vncserver %i"                                                          
PIDFile=/home/appadmin/.vnc/%H%i.pid                                                                                        
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

3.参考链接