Zarejestruj się na BitBay.net
Home > Linux > VNC on CentOS, Fedora, RedHat

VNC on CentOS, Fedora, RedHat

realvncWSTĘP
Można powiedzieć, że VNC ( Virtual Network Computing) jest programem typu klient-server umożliwiającym korzystanie ze zdalnej maszyny pod kontrolą systemy Windows, Windows CE, Linux, Solaris czy Macintosh nie będąc fizycznie przy tej maszynie. Innymi słowy VNC umożliwia zdalną pracę na komputerze.

INSTALACJA
VNC jest standardowo dołączany do każdej większej dystrybucji Linuxa. Jeśli nie zaznaczyliśmy go przy instalacji (znajduje się w pakietach z grupy System X Window) trzeba doinstalować ręcznie (rpm -ivh vnc-server-4.0-8.i386.rpm lub apt-get install vnc-serverlub yum install vnc-server).

URUCHAMIANIE i KONFIGURACJA

  1. Uruchamianie jako usługa systemowa
    • Edytujemy /etc/sysconfig/vncservers i ustawiamy
      VNCSERVERS="3:username"
      VNCSERVERARGS[3]="-geometry 1024x768 -depth 16"

      gdzie:
      username – użytkownik na prawach którego ma działąć vncserver
      geometry 1024×768 – roździelczość (dostępne opcje: 640×480, 800×600, 1024×768)
      depth 16 – paleta barw (dostępne opcje: 8, 16, 24)

      inne opcje:
      -localhost – połączenie VNC przez tunel ssh
      -nohttpd – wyłączamy możliwość korzystania z vnc przez przeglądarkę

    • przelogowujemy sie na użytkownika na prawach którego ma działać vncserver i ustawiamy hasło dostępowe
      # vncpasswd
    • restartujemy usługę:
      # service vncserver restart

      po restarcie w katalgu domowym usera powstanie plik konfiguracyjny/home/user_name/.vnc/xstartup w który możemy ustawić m.in. które środowisko graficzne ma się uruchamiać dla vnc. Domyślnie jest to xterm:

      #!/bin/sh
      
      # Uncomment the following two lines for normal desktop:
      # unset SESSION_MANAGER
      # exec /etc/X11/xinit/xinitrc
      
      [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
      [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
      xsetroot -solid grey
      vncconfig -iconic &
      xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
      twm &

      Żeby uruchomić gnome, lub kde musimy zakomentować 4 ostatnie linijki i dopisać odpowiednio:
      – gnome-session (dla Gnome)
      – startkde (dla KDE)

      #!/bin/sh
      
      # Uncomment the following two lines for normal desktop:
      # unset SESSION_MANAGER
      # exec /etc/X11/xinit/xinitrc
      
      [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
      [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
      #xsetroot -solid grey
      #vncconfig -iconic &
      #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
      #twm &
      gnome-session
    • uruchamiamy usługę:
      # service vncserver start
    • sprawdzamy czy usługa na pewno jest uruchomiona
      # service vncserver status
      Xvnc (pid 6178) jest uruchomiony...
    • dodajemy do autostartu
      # /sbin/chkconfig vncserver on
    • Możemy także odpalić kilka daemonów vnc dla róznych użytkowników. Wtedy w/etc/sysconfig/vncservers ustawiamy odpowiednio:
      VNCSERVERS="1:tiger 2:albatros 3:leopard"
      VNCSERVERARGS[1]="-geometry 1024x768 -depth 16"
      VNCSERVERARGS[2]="-geometry 800x600 -depth 8"
      VNCSERVERARGS[3]="-geometry 1024x768 -depth 16"
  2. Ręczne odpalanie vncservera
    • # vncserver -geometry 800x600 -depth 24 :1

      za pierwszym razem zostaniemy poproszeni o podanie hasła dla VNC (hasło to powinno być inne niż hasło logowania).  Po podaniu hasła server VNC powinien być odpalony, wyświetli się komunikat:

      Starting applications specified in /root/.vnc/xstartup
      Log file is /root/.vnc/grgamel:1.log
    • Możemy też sprawdzić czy proces vnc jest widoczny:
      # ps -u user_name|grep Xvnc
      6178 ?        00:00:00 Xvnc
    • zatrzymywanie:
      # vncserver -kill :1
  3. KORZYSTANIE
    Odpalamy vncviewer (klienta vnc) i wpisujemy adres ip komputera z którym chcemy się połączyć oraz numer konsoli/wyświetlacza np.: 192.168.0.1:1
    Jeśli nie mamy VNC-klienta możemy skorzystać z przeglądarki internetowej obsługującej JAVĘ. Jako adres podajemy http://192.168.0.1:5801 gdzie 192.168.0.1 to numer IP VNC-servera.

    UWAGI
    Jesli VNC-server uruchamiamy na komputerze na którym działa firewall, musimy odblokować odpowiednie porty. Server VNC akceptuje połączenia na porcie 5900+N, gdzie N oznacza numer wyświetlacza. Przykładowo usługa uruchomiona na wyświetlaczy :1, będzie nasłuchiwała na porcie 5901 kolejna na 5902 itd.
    Protokół stosowany w VNC standardowo transmituje dane przez sieć w postaci jawnej. W celu zabezpieczenia sesji przed podsłuchem można posłużyć się tunelowanie połączeń przez SSH. Powstały także wersje klienta VNC obsługujące połączenia szyfrowane protokołem SSL.
    W kliencie VNC w opcjach można poustawiać kilka rzeczy. Ustawiamy tu poziom kompresji i włączamy kompresję jpg. Naciskamy OK, a następnie wchodzimy w menu jeszcze raz i wybieramy opcję zapisu parametrów połączenia w pliku, np. naszasesja.vnc. Teraz rozłączamy się, i robimy sobie ikonę skrótu do vncwiever.exe. Następnie w jej właściwościach, w linii poleceń dopisujemy na końcu parametr /config naszasesja.vnc. Teraz vncviewer odpalany tym skrótem będzie ładował adres połączenia i ustawienia kompresji od razu przy starcie.

    PRZYDATNE ADRESY:
    http://wiki.centos.org/HowTos/VNC-Server
    http://www.g-loaded.eu/2005/11/10/configure-vnc-server-in-fedora/

Kategorie:Linux Tagi:, , , ,
  1. Fishman
    Styczeń 11th, 2012 at 13:56 | #1

    Dzięki wielkie 🙂 prosty i skuteczny opis który pomógł mi skonfigurować to o co mi chodziło 🙂

  2. andy
    Marzec 9th, 2012 at 19:28 | #2

    chyba najlepszy polski opis w sieci jaki znalazłem. Dwa dni męczylem się, żeby się podłączyc pod Mandrive z Windowsa. Pozdraiwam

  1. Brak jeszcze trackbacków
*