Note, that this recipe is not updated long time and could be outdated!
Got it.

VNC: attālinātā pieslēgšanās ar grafisko klientu

Izvēlieties aprakstu:

Vispārīgs apskats

Linux grafiskās vides darbību nodrošina klienta-servera arhitektūrā, kur serveri sauc par X-logu serveri (izplatītākais ir X.org), bet klientu — par X-logu pārvaldnieku (izplatītākie ir Unity, Gnome un KDE).

Kad lietotājs piesakās datoram grafiskajā vidē (režīmā), tiek izveidota jauna X-logu sesija, ko numurē kā 0.to. Ja datoram piesakās vēl kāds lietotājs (piemēram, pārslēdzoties uz citu lietotāja kontu), tad tiek izveidota jauna, 1.ā sesija, utt. Šādas sesijas sauc par lokālajām sesijām. To lietotāja sesiju, kuru dotajā brīdī rāda uz datora ekrāna, un kurā saņem peles, tastatūras u.c. iekārtu darbības, sauc par tekošo grafisko sesiju. Starp tekošajām grafiskajām sesijām var pārslēgties, spiežot taustiņus Ctrl+Alt+F7, ...F8, utt.

Lokālās sesijas var padarīt pieejamas tīklā (eksportēt), izmantojot x11vnc serveri. Šāda iespēja lieti noder attālinātai demonstrācijai, apmācībai vai palīdzībai.

Linux (u.c. Unix-veidīgās sistēmās) var izveidot arī attālinātas sesijas, kuras netiek rādītas uz lokālā, datoram pieslēgtā ekrāna, bet kuras parāda uz cita, tīklam pieslēgta datora ekrāna un vada no tā. Ir īpaši datori (t.s. grafiskie termināļi) kuros nav operētājsistēmas, bet var palaist šādus attālinātos klientus, bet šādus klientus var izveidot, arī palaižot īpašas programmas (piemēram, Remmina) parastā operētājsistēmā.

Attālinātās sesijas uz mērķa datora (X-logu servera) var izveidot, izmantojot vncserver.

Lokālās sesijas koplietošana

Visvienkāršāk pieslēgties attālināti lokālajai X-logu sesijai, eksportējot to tīklā (koplietojot) ar x11vnc serveri.

Uzstādīšana

  1. Uzstāda x11vnc serveri:

    sudo apt-get install x11vnc

Lietošana

  1. Kā parasts lietotājs (tas, kas ir pieteicies X-logu grafiskajā sesijā), pamēģina, vai sesijas eksportēšana izdodas, vienkārši ievadot komandu:

    x11vnc
  2. Ja vēlas, lai sesijas eksportēšana saglabātos, pēc tam, kad klienta programma ir atslēgusies, pievieno papildu parametru *-loop:

    x11vnc -loop
  3. Kad x11vnc serveris ir veiksmīgi palaidies, tas izdod daudzas rindas, kas beidzas ar:

    ....
    The VNC desktop is:      hostname:0
    PORT=5900

Palaišana ar paroli

  1. Saglabā paroli:

    x11vnc -storepasswd

    ievada 2× paroli un apstiprina to saglabāt ~/.vnc/passwd failā

  2. Palaiž ar papildu parametru:

    x11vnc -rfbauth ~/.vnc/passwd

Kļūdu novēršana

  1. Ja sesijas eksportēšana vienkāršā veidā neizdodas, pēta papildu parametrus, un kā root lietotājs ievada kaut ko sekojošu:

    x11vnc -auth `ps wwaux | grep auth|awk '{print $18}'`

    Šī maģiskā komanda palaiž x11vnc serveri, nododot tai X-logu sesijas sīkfailu,   kas parasti atrodas /var/run/xauth/...., kur ... vietā ir nesakarīgs faila nosaukums.

    Maģiskā komanda strādā tikai tad, ja ir atvērta tikai viena X-logu sesija. Ja ir atvērtas vairākas sesijas, X-logu sīkfails jāatrod ar ps wwaux | grep auth un tad var pildīt komandu x11vnc -auth /var/run/xauth/...
  2. Ja, pieslēdzoties serverim, tā žurnālā parādās kļūdas ziņojums rfbProcessClientNormalMessage: read: Connection reset by peer un pieslēgums pārtrūkst, tad mēģina pieslēgties, izmantojot 24-bitu krāsu režīmu.

    Attālinātas X-logu sesijas izveide

    Lai vairāki lietotāji vienlaicīgi (viens otram netraucējot) varētu izmantot neatkarīgas attālinātas grafiskās sesijas, uzstāda vnc4server.

    Uzstādīšana

    1. Uzstāda Gnome bibliotēkas (jo ar Unity attālinātas sesijas nevar palaist):

      sudo apt-get install gnome-core
    2. Uzstāda vnc4server:

      sudo apt-get install vnc4server
    3. Pārliecinās, ka vncserver simboliskā saite norāda uz pareizo implementāciju:

      update-alternatives --config vncserver

      vajadzētu rādīt:

      (/usr/bin/vnc4server). Nothing to configure.

      vai arī nepieciešams izvēlēties vajadzīgo vncserver implementāciju.

    4. Kā parasts lietotājs (piemēram, student) izveido savu VNC servera paroli:

      vncpasswd

      Paroli vēlams vienu vārdu (bez atstarpēm) un līdz 8 burtiem garu

    5. Lai VNC palaistu sesijā Gnome logu pārvaldnieku, izveido vai izmaina failu /.vnc/xstartup:

      #!/bin/sh

      # Uncomment the following two lines for normal desktop:
      unset SESSION_MANAGER
      # exec /etc/X11/xinit/xinitrc
      gnome-session --session=gnome-classic &
      [[ -x /etc/vnc/xstartup ]] && exec /etc/vnc/xstartup
      [[ -r $HOME/.Xresources ]] && xrdb $HOME/.Xresources
      xsetroot -solid grey
      vncconfig -iconic &
      x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
      #x-window-manager &

    Lietošana

    1. Piesakās attālinātajam datoram ar SSH, piemēram, terminālī ievadot komandu:

      ssh inks
    2. Tad palaiž jaunu X logu sesiju, ko VNC serveris eksportēs tīklā:

      vncserver
    3. Parādās  šāds ziņojums:

      New 'X' desktop is hostname:1
      Starting applications specified in /etc/X11/Xsession
      Log file is /home/username/.vnc/hostname:1.log
    4. Šo sesiju var "nokaut" ar komandu:

      vncserver -kill :1

      un būtu jāparādās ziņojumam:

      Killing Xrealvnc process ID xxxx
    5. Lai palielinātu/mainītu noklusēto sesijas izšķirtspēju, palaiž ar papildu parametriem, piemēram:

      vncserver -geometry 1280x1024

    Attālināta pieslēgšanās X-logu sesijai no Linux datora

    Lai pieslēgtos attālināti palaistai vai arī eksportētai (koplietojamai) X-logu sesijai, izmanto Remmina programmu:

    1. Palaiž Remmina Remote Desktop Client programmu
    2. Izveido jaunu savienojumu ar sekojošiem parametriem:
      1. Protocol: VNC — Virtual Network Computing
      2. Server: mērķa datora adresi vai nosaukumu
      3. Ja nepieciešams, norāda arī pieteikšanās vārdu un paroli
        fig02.png
    Pēc noklusēšanas pirmajai attālinātajai/eksportētajai sesijai tiek izmantots 5900 ports, un to var nenorādīt. Ja izmanto citu porta numuru, tad to norāda pēc datora adreses formā adrese:ports

    Attālināta pieslēgšanās X-logu sesijai no Windows datora

    Skatīt VNC: attālināta pieslēgšanās no Windows datora

    X-logu sesijas tunelēšana

    Dažkārt tieša pieeja X logu sesijai nav atļauta, jo to ierobežo ugunssiena. Tad tai var pieslēgties, tunelējot to saur SSH.

    1. Linux lietotāji, skatiet: SSH tuneļa izveide.
    2. Windows lietotāji, skatiet: SSH tuneļa izveide ar Putty.

     

Created by Valdis Vītoliņš on 2008-08-09 10:09
Last modified by Valdis Vītoliņš on 2016-08-01 19:56
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License