zoukankan      html  css  js  c++  java
  • 笔记

    vnc配置解决:

    一、Linux主机安装VNC服务

    1、安装vnc-server

    VNC分为服务端和客户端,linux服务器主机需要安装vncserver,centos7下一般使用tigervnc。
    root下执行命令:

    #yum install -y tigervnc-server

    安装完毕后需要配置。

    2、配置vnc-server

    进入目录

    #cd /lib/systemd/system#ls

    我们会看到有个service叫做vncserver@.service,这就是我们需要的vnc服务。但是需要对它进行配置才可以使用。假设我们当前为root用户配置远程桌面,配置流程如下:

    首先,复制该service,命名为vncserver@:1.service,

    #cp vncserver@.service vncserver@:1.service

    然后修改vncserver@:1.service

    #vi vncserver@:1.service

    看到如下文本:

    [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 < User> -c “/usr/bin/vncserver %i ”
    PIDFile=/home/< User>/.vnc/%H%i.pid
    ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’

    [Install]
    WantedBy=multi-user.target

    这里需要且只需要做一种替换:将< User>替换为需要配置的用户。注意因为root的home目录就是/root/,而不是/home/root/,所以替换后文本如下:

    修改:1.Type=simple;2.%i变成:1;3.<user>变成root

    [Unit]
    Description=Remote desktop service (VNC)
    After=syslog.target network.target

    [Service]
    Type=simple
    # Clean any existing files in /tmp/.X11-unix environment
    ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill :1 > /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 :1 > /dev/null 2>&1 || :’

    [Install]
    WantedBy=multi-user.target

    如果是非root用户,例如用户admin,PIDFile处应该是:

    ExecStart=/sbin/runuser -l admin -c “/usr/bin/vncserver %i ”
    PIDFile=/home/admin/.vnc/%H%i.pid

    最后Esc+:wq保存退出。

    3、启动vnc-server

    在刚才的配置文件中,有这样一段说明:

    # Quick HowTo:
    # 1. Copy this file to /etc/systemd/system/vncserver@:.service
    # 2. Edit and vncserver parameters appropriately
    # (“runuser -l -c /usr/bin/vncserver %i -arg1 -arg2”)
    # 3. Run systemctl daemon-reload
    # 4. Run `systemctl enable vncserver@:.service

    即配置完后,还需执行

    #systemctl daemon-reload#systemctl enable vncserver@:1.service

    然后开启vnc服务

    #systemctl start vncserver@:1.service

    查看启动是否成功

    #systemctl status vncserver@:1.service

    如果现实active即表示开启成功。下面设置下vnc连接密码,
    执行

    #vncpassword

    提示输入密码并确认,这是供远程连接时验证用的,自己设置一下即可。配置好以后可以重启下vnc服务

    #systemctl restart vncserver@:1.service

    4、配置防火墙

    vnc服务虽然开启了,但是如果远程客户端需要连接,还需要为防火墙增加配置以开放端口。一般vnc服务是以590+x作为访问端口,x为配置的service@:x,例如此处的vncserver@:1.service,则端口是5901。
    执行命令

    #vi /etc/sysconfig/iptables

    -A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT

    下方添加配置

    -A INPUT -p tcp -m state –state NEW -m tcp –dport 5901 -j ACCEPT

    然后保存退出,重启防火墙。到这里基本的vnc服务端配置就结束了。

    附加:vnc之后运行错误解决:

    1.vncserver :1

    2.rm -rf /tmp/.X11-unix/X1

    3.systemctl start vncserver@:1.service

    4.systemctl status vncserver@:1.service

    转载:http://www.th7.cn/system/win/201508/127000.shtml

  • 相关阅读:
    Ubuntu下iperf的安装
    frp内网穿透协助内网程序(如微信相关)开发
    Uncaught Error: Call to undefined function mcrypt_get_iv_size() 解决办法
    CentOS安装了iRedMail停用Amavisd + ClamAV + SpamAssassin
    申请Let’s Encrypt通配符HTTPS证书(certbot ACME v2版)
    关于ThinkPHP在Nginx服务器下因PATH_INFO出错的解决方法
    本地开发环境伪装成SSL连接的实现
    Web基础之日志
    Linux基础之防火墙
    面向接口及单例工厂随笔
  • 原文地址:https://www.cnblogs.com/tianziru/p/5500768.html
Copyright © 2011-2022 走看看