zoukankan      html  css  js  c++  java
  • CentOS 7.5 安装配置tigervnc-server

    系统版本:

    [root@s10 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.5.1804 (Core) 
    

    1.安装 Gnome 包

    [root@s10 ~]# yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y

    2.更新系统的运行级别 (此步骤不是必须)
    自动进入图形界面,那么我们需要更改系统的运行级别,输入下面的命令来启用图形界面。

    [root@s10 ~]# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

    3.安装vnc软件包

    [root@s10 ~]# yum -y install tigervnc-server 
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * epel: mirrors.aliyun.com
     * extras: mirrors.163.com
     * updates: mirrors.cn99.com
    http://mirrors.163.com/centos/7.5.1804/virt/x86_64/libvirt-latest/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
    正在尝试其它镜像。
    To address this issue please refer to the below wiki article 
    
    https://wiki.centos.org/yum-errors
    
    If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
    
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 tigervnc-server.x86_64.0.1.8.0-13.el7 将被 安装
    --> 解决依赖关系完成
    
    依赖关系解决
    
    =============================================================================================================================================================================================
     Package                                            架构                                      版本                                             源                                       大小
    =============================================================================================================================================================================================
    正在安装:
     tigervnc-server                                    x86_64                                    1.8.0-13.el7                                     base                                    215 k
    
    事务概要
    =============================================================================================================================================================================================
    安装  1 软件包
    
    总下载量:215 k
    安装大小:509 k
    Downloading packages:
    tigervnc-server-1.8.0-13.el7.x FAILED                                          
    http://mirrors.cqu.edu.cn/CentOS/7.6.1810/os/x86_64/Packages/tigervnc-server-1.8.0-13.el7.x86_64.rpm: [Errno 14] curl#56 - "Recv failure: Connection reset by peer"/s |    0 B  --:--:-- ETA 
    正在尝试其它镜像。
    tigervnc-server-1.8.0-13.el7.x86_64.rpm                                                                                                                               | 215 kB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      正在安装    : tigervnc-server-1.8.0-13.el7.x86_64                                                                                                                                      1/1 
      验证中      : tigervnc-server-1.8.0-13.el7.x86_64                                                                                                                                      1/1 
    
    已安装:
      tigervnc-server.x86_64 0:1.8.0-13.el7                                                                                                                                                      
    
    完毕!
    

    4.关闭防火墙

    [root@s10 ~]# systemctl stop firewalld
    [root@s10 ~]# systemctl disable firewalld
    

    5.复制配置文件

    [root@s10 ~]# cp /lib/systemd/system/vncserver@.service  /etc/systemd/system/vncserver@:1.service
    

    6.修改配置文件

    [root@s10 ~]# vim /etc/systemd/system/vncserver@:1.service 
    
      1 # The vncserver service unit file
      2 #
      3 # Quick HowTo:
      4 # 1. Copy this file to /etc/systemd/system/vncserver@.service
      5 # 2. Replace <USER> with the actual user name and edit vncserver
      6 #    parameters appropriately
      7 #    (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
      1 # The vncserver service unit file
      2 #
      3 # Quick HowTo:
      4 # 1. Copy this file to /etc/systemd/system/vncserver@.service
      5 # 2. Replace <USER> with the actual user name and edit vncserver
      6 #    parameters appropriately
      7 #    (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
      1 # The vncserver service unit file
      2 #
      3 # Quick HowTo:
      4 # 1. Copy this file to /etc/systemd/system/vncserver@.service
      5 # 2. Replace <USER> with the actual user name and edit vncserver
      6 #    parameters appropriately
      7 #    (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
      8 #     PIDFile=/home/<USER>/.vnc/%H%i.pid)
      9 # 3. Run `systemctl daemon-reload`
     10 # 4. Run `systemctl enable vncserver@:<display>.service`
     11 #
     12 # DO NOT RUN THIS SERVICE if your local area network is
     13 # untrusted!  For a secure way of using VNC, you should
     14 # limit connections to the local host and then tunnel from
     15 # the machine you want to view VNC on (host A) to the machine
     16 # whose VNC output you want to view (host B)
     17 #
     18 # [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB
     19 #
     20 # this will open a connection on port 590N of your hostA to hostB's port 590M
     21 # (in fact, it ssh-connects to hostB and then connects to localhost (on hostB).
     22 # See the ssh man page for details on port forwarding)
     23 #
     24 # You can then point a VNC client on hostA at vncdisplay N of localhost and with
     25 # the help of ssh, you end up seeing what hostB makes available on port 590M
     26 #
     27 # Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
     28 #
     29 # Use "-localhost" to prevent remote VNC clients connecting except when
     30 # doing so through a secure tunnel.  See the "-via" option in the
     31 # `man vncviewer' manual page.
     32 
     33 
     34 [Unit]
     35 Description=Remote desktop service (VNC)
     36 After=syslog.target network.target
     37 
     38 [Service]
     39 Type=forking
     40 
     41 # Clean any existing files in /tmp/.X11-unix environment
     42 ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
     43 ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
     44 PIDFile=/home/<USER>/.vnc/%H%i.pid
     45 ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
     46 
     47 [Install]
     48 WantedBy=multi-user.target
    

    将第43、44行中的<USER>修改为root或者你想通过vnc登录的账号,如tom 或jerry 如下所示:

    43 ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
    44 PIDFile=/root/.vnc/%H%i.pid
    

    7.重新加载systemd服务

    [root@s10 ~]# systemctl daemon-reload
    

    8.设置VNC密码

    [root@s10 ~]# vncpasswd
    Password:
    Verify:
    Would you like to enter a view-only password (y/n)? y
    Password:
    Verify:
    

    9.启动VNC服务

    [root@s10 ~]# systemctl start  vncserver@:1.service
    [root@s10 ~]# systemctl enable  vncserver@:1.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/vncserver@:1.service.
    [root@s10 ~]# systemctl status vncserver@:1.service
    ● vncserver@:1.service - Remote desktop service (VNC)
       Loaded: loaded (/etc/systemd/system/vncserver@:1.service; disabled; vendor preset: disabled)
       Active: active (running) since 二 2019-04-02 15:02:08 CST; 7s ago
      Process: 29678 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
      Process: 29675 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
     Main PID: 29705 (Xvnc)
       CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
               ‣ 29705 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop s10.sangame.com:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport...
    
    4月 02 15:02:04 s10.sangame.com systemd[1]: Starting Remote desktop service (VNC)...
    4月 02 15:02:08 s10.sangame.com systemd[1]: Started Remote desktop service (VNC).

    查看VNC服务端口启动状态:

    [root@s10 ~]# netstat  -tunpl |grep  :590
    tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      4334/qemu-kvm       
    tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      29705/Xvnc          
    tcp        0      0 0.0.0.0:5903            0.0.0.0:*               LISTEN      5876/qemu-kvm       
    tcp        0      0 0.0.0.0:5904            0.0.0.0:*               LISTEN      5644/qemu-kvm       
    tcp        0      0 0.0.0.0:5905            0.0.0.0:*               LISTEN      5710/qemu-kvm       
    tcp6       0      0 :::5901                 :::*                    LISTEN      29705/Xvnc          
    

    10.测试连接

      

    点击连接并输入密码:

      

    如下所示:

      

    一切看上去都没有问题。接下来可以体验一下VNC服务。  

    千里之行始于笔下
  • 相关阅读:
    How to build Linux system from kernel to UI layer
    Writing USB driver for Android
    Xposed Framework for Android 8.x Oreo is released (in beta)
    Linux Smartphone Operating Systems You Can Install Today
    Librem 5 Leads New Wave of Open Source Mobile Linux Contenders
    GUADEC: porting GNOME to Android
    Librem 5 – A Security and Privacy Focused Phone
    GNOME and KDE Join Librem 5 Linux Smartphone Party
    Purism计划推出安全开源的Linux Librem 5智能手机
    国产系统之殇:你知道的这些系统都是国外的
  • 原文地址:https://www.cnblogs.com/caoshousong/p/10642772.html
Copyright © 2011-2022 走看看