Raspberry Pi

5) Zprovoznění vzdáleného přístupu

Tohle jsem se snažil zprovoznit několik dní. Chci RasPi používat tak, aby nebylo závislé na připojení klávesnice, myši a monitoru (nebo televize). Prostě aby po zapnutí napájení k destičce začalo samo pracovat a v případě potřeby abych se k takto běžícímu systému mohl připojit přes síť a provádět v něm úpravy.

Pro vzdálený přístup k pracovní ploše se používá VNC.

Tento VNC je třeba nainstalovat na RasPi i na počítač, ze kterého se bude k RasPi přistupovat.

V terminálu se pro instalaci zadají postupně následující dvě řádky příkazů. Občas je třeba někde něco potvrdit. 
Už si to přesně nepamatuju ale nebyl v tom žádný problém:

sudo apt-get update
 
sudo apt-get install x11vnc

Tím je program x11vnc nainstalovaný.
Po jeho spuštění příkazem:

x11vnc -forever
už je možné se k RasPi připojit vzdáleně přes síť (nastavení je popsáno níže).

A teď přichází na řadu to, s čím jsem nemohl dlouho pohnout:
Jak to zařídit, aby se ten program x11vnc spouštěl automaticky po startu systému?

Tady je řešení. Vychází z těchto internetových stránek. Protože program pro vzdálenou správu plochy, který tam doporučují (TightVNC), dělal na Raspíčku problémy (rozhodil mi automatické přihlašování), upravil jsem si ten návod tak, aby se místo TightVNC spouštěl ten program x11vnc.

Postup:
Do terminálu zadat toto:

sudo nano /etc/init.d/vncserver
... tím se spustí jednoduchý textový editor a vytvoří se  soubor vncserver v adresáři /etc/init.d/

Do toho editoru se zkopírují tyto řádky:
#!/bin/sh
# /etc/init.d/vncserver

### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO


# Customised by Stewart Watkiss
# http://www.penguintutor.com/linux/tightvnc
# Set the VNCUSER variable to the name of the user to start tightvncserver under

VNCUSER='pi'
case "$1" in
  start)
    su $VNCUSER -c '/usr/bin/x11vnc -forever'
    echo "Starting VNC server for $VNCUSER "
    ;;
  stop)
    pkill x11vnc
    echo "vncserver stopped"
    ;;
  *)
    echo "Usage: /etc/init.d/vncserver {start|stop}"
    exit 1
    ;;
esac
exit 0


... pak se soubor uloží stiskem kláves Ctrl+X , Y , Enter
Nějaké komentáře jsem nechal takové, jaké byly v tom článku o TightVNC. Další komentáře (mezi INIT INFO) jsem musel přidat, protože jinak začalo RasPi hlásit nějaké chyby při vykonávání dalších příkazů.  Nerozumím tomu, ale vysvětlení těch komentářů je tady:
 http://wiki.debian.org/LSBInitScripts/

Potom se tomuto souboru nastaví atribut spustitelnosti:

sudo chmod 755 /etc/init.d/vncserver

Další příkaz provede automatickou úpravu několika souborů, která má za následek, že se program vncserver bude spouštět automaticky po startu systému:

sudo update-rc.d vncserver defaults

Tím je to hotové. Po restartu se program x11vnc sám spustil a k Raspíčku bylo možné přistupovat z jiných počítačů v síti pomocí klientských aplikací VNC.

Jen pro kontrolu stačí po restartu RasPi kouknout do menu  "Start" -> System Tools -> Task Manager.  Pokud VNC opravdu běží, tak by se měl zobrazit v seznamu procesů jako proces x11vnc.

Připojení z WindowsXP je možné třeba přes program:
http://www.realvnc.com/products/vnc/

Připojení z PDA (WindowsMobile 6.1) přes WiFi se mi povedlo programem VNC Viewer:
http://www.pdasoft.cz/modules.php?name=News&file=article&sid=2824


Pro nastavení připojení na klientských počítačích je třeba zadat IP adresu Raspíčka.
Ta se zjistí pomocí příkazu v jeho terminálu:

sudo ifconfig eth0

IP adresa je zobrazena za položkou inet addr
Tímto příkazem se také zjistí MAC adresa Raspíčka (položka HWaddr)

 

Port, který využívá VNC, a který je také potřeba zadat při nastavení okolních počítačů, je defaultně 5900

Takže v mém případě jsem v programu realVNC na WindowsXP nastavoval toto :


A na PDA na programu VNC Viever jsem zadával toto:
  (na PDA je oddělovač IP adresy a portu dvojitá dvojtečka, jinak je to to samé)

 


Doplnění 16.8.2012 - Vzdálený přístup přes program PuTTY

Po nějakém čase od první instalace jsem zjistil, že k Raspíčku je možné se vzdáleně připojit hned při prvním spuštění. Není tedy potřeba připojovat USB klávesnici a televizi k RasPi. Stačí připojit napájení a Ethernetový kabel mezi RasPi a router.

Potom se použije program PuTTY, který se postará o jednoduchý vzdálený přístup.
Tady je webová stránka toho programu:
    http://www.chiark.greenend.org.uk/~sgtatham/putty/

Pro nastavení PuTTY je třeba znát IP adresu Raspíčka. Ta se dá zjistit v nastavení routeru. 
Já používám router TP-Link  (TP-WR340GD) a tam je IP adresa RasPi vidět tady:

 

 

IP adresa Raspíčka se pak vloží do nastavení v programu PuTTY

 

Po připojení k RasPi se objeví terminál, do kterého jdou po přihlášení zadávat příkazy.
Přihlašovací údaje pro systém Raspbian-Wheezy (2012-07-15) byly tyto:
login : pi
password : raspberry
Po přihlášení je možné spustit úvodní nastavovací menu pomocí příkazu sudo raspi-config:

 

Dál je možné nainstalovat všechny potřebné programy a třeba i ten x11vnc, který je popsaný výše.

 


úvodní strana webu AstroMiK.org

poslední úprava stránky 29.10.2012