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.           

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM