zoukankan      html  css  js  c++  java
  • linux 下配置vncserver

       vncserver是使用非常方便和广泛的远程桌面服务,配置也相对简单。 
    下面记录了在centos系统上进行配置vncserver的过程。

    安装

    1. 查看centos下是否已经安装了vncserver

      rpm -qa |grep vnc

    2. 如果未安装vncserver,则进行安装

      yum install vnc vncserver

    vncserver配置

        vnc桌面的启动方式有两种,一种是通过在 /etc/sysconfig/vncservers文件中配置启动,这种方式配置的vnc桌面在服务器启动的时候就被启动,可以直接远程连接;另一种是在机器运行的时候运行vncserver :桌面号 命令来启动,这种方式启动的vnc桌面在机器重启后失效。 
    1. 使用文件来进行配置 
        这种方式只能在root用户下执行。 
        /etc/sysconfig/vncservers的配置:

        # VNCSERVERS="2:myusername"
        # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
        VNCSERVERS="1:root 2:jason"
        VNCSERVERARGS[1]="-geometry 1600x1000 -nolisten tcp -localhost"
        VNCSERVERARGS[2]="-geometry 1600x1000 -nolisten tcp -localhost"
    

    其中指定了 桌面号:用户名,以及相应的配置信息。

    2. 使用vncserver命令来配置 
        这种方式可以在所有用户下进行,每个用户都可以开启多个vnc远程桌面,一个用户的所有vnc桌面都使用相同的密码,但是所有用户的桌面号必须唯一。

        usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>]
        [-geometry <width>x<height>]
        [-pixelformat rgbNNN|bgrNNN]
        [-fp <font-path>]
        [-fg]
        [-autokill]
        <Xvnc-options>...
        vncserver -kill <X-display>
        vncserver -list
    

    可以通过vncserver命令新建桌面

    vncserver :number 桌面号, -name 桌面名(显示在vncviewer上), -depth 色深, -geometry 桌面大小。

    或者删除一个远程桌面

    vncserver -kill :桌面号

    vnc桌面配置

        每个用户的~/.vnc目录下都有一个 xstartup配置文件,来配置vnc使用的是 gnome桌面还是 kde桌面,还有其他的一些信息。 
    如果你是gnome桌面,那么你需要修改/root/.vnc/xstartup的配置文件

        #!/bin/sh
        [ -r /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
        export LANG
        export SYSFONT
        vncconfig -iconic &
        unset SESSION_MANAGER
        unset DBUS_SESSION_BUS_ADDRESS
        OS=`uname -s`
        if [ $OS = 'Linux' ]; then
        case "$WINDOWMANAGER" in
        *gnome*)
        if [ -e /etc/SuSE-release ]; then
        PATH=$PATH:/opt/gnome/bin
        export PATH
        fi
        ;;
        esac
        fi
        if [ -x /etc/X11/xinit/xinitrc ]; then
        exec /etc/X11/xinit/xinitrc
        fi
        if [ -f /etc/X11/xinit/xinitrc ]; then
        exec sh /etc/X11/xinit/xinitrc
        fi
        [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
        xsetroot -solid grey
        xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
        gnome-session gnome #添加这一句是连接时使用gnome 桌面环境
        twm &
    

    vncserver的服务端运行

        vncserver运行:

    service vncserver start

        在运行的时候,每个用户都可以通过vncserer命令开多个vnc远程桌面(通过全局的桌面号来进行区分),且一个用户的所有vnc桌面的密码都相同(通过vncpasswd设置)。 
        每当用户新开一个vnc桌面时,在用户的 ~/.vnc 目录下就会有一个对应的 服务器机器名:桌面号.pid 的进程文件服务器机器名:桌面号.log 的日志文件

    vnc客户端的连接

    a、在linux下,运行vncviewer命令即可,服务器地址的写法形如192.168.1.11:1 
    b、在windows下,运行windows版本的vncviewer即可,用法与linux下相近。

     

     

    在centos7 下安装配置vncserver

    一.安装

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

      yum install tigervnc-server 

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

      yum install vnc

    3. 停止并禁用防火墙

      systemctl stop firewalld.service

      systemctl disable firewalld.service

    二.配置

    1. vncviewer基本上不用配置;

    2. vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:

      cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

      或者再增加一个窗口:

      cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service

    3. 编辑/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 environment
    ExecStartPre=/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.pid
    ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
    • 上述内容中最好设置为root用户,否则可能会看到以下报错:

    vncserver@:1.service - Remote desktop service (VNC)
       Loaded: loaded (/usr/lib/systemd/system/vncserver@:1.service; enabled)
       Active: failed (Result: exit-code) since Tue 2015-04-14 10:09:24 CST; 1min 36s ago
      Process: 3258 ExecStart=/sbin/runuser -l sysadmin -c /usr/bin/vncserver %i (code=exited, status=1/FAILURE)
      Process: 3254 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
    Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Starting Remote desktop service (VNC)...
    Apr 14 10:09:24 F1A-VMHOST-SWPE runuser[3258]: Password:
    Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: vncserver@:1.service: control process exited, code=exited status=1
    Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Failed to start Remote desktop service (VNC).
    Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Unit vncserver@:1.service entered failed state.
    Warning: Unit file changed on disk, 'systemctl daemon-reload' recommended.

    三.应用

    1. 更新systemctl以使其生效;

      systemctl daemon-reload 

    2. 设置vncserver的密码;

       vncpasswd root

      按提示输入密码以及确认密码

    3. 启动该服务用来启用vnc的1号窗口;

      systemctl start vncserver@:1.service  或者 vncserver :1

      关闭1号窗口:

      systemctl stop vncserver@:1.service   或者 vncserver -kill :1

    4. 设置为开机自动启动;

      systemctl enable vncserver@:1.service

      End.           

  • 相关阅读:
    如何在IntelJ下用Maven创建一个Web项目
    Sublime快捷键大全
    Oracle常用数据字典
    POI 操作Excel疑难点笔记
    Oracle常见错误集锦
    SQL注入测试平台 SQLol -6.CHALLENGES挑战
    SQL注入测试平台 SQLol -5.DELETE注入测试
    SQL注入测试平台 SQLol -4.UPDATE注入测试
    SQL注入测试平台 SQLol -3.INSERT注入测试
    SQL注入测试平台 SQLol -2.SELECT注入测试
  • 原文地址:https://www.cnblogs.com/gtarcoder/p/4720663.html
Copyright © 2011-2022 走看看