Ho un Raspberry Pi 2 e ho seguito il post su Raspberrypi.org ma Tight VNC Server non si avvia al riavvio. Non sembra esserci alcun errore.
Come faccio ad avviare TightVncServer su Pi Reboot?
Ho un Raspberry Pi 2 e ho seguito il post su Raspberrypi.org ma Tight VNC Server non si avvia al riavvio. Non sembra esserci alcun errore.
Come faccio ad avviare TightVncServer su Pi Reboot?
Risposte:
Per fare questo puoi usare un po 'di intelligenza Linux.
Il nostro primo compito sarà quello di modificare il file /etc/rc.local. Questo file può contenere comandi che vengono eseguiti all'avvio. Se guardiamo il file possiamo vedere che ci sono già poche voci in là;
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
Il primo gruppo di righe con un segno di hash (#) davanti a loro sono commenti. Questi sono lì solo per spiegare cosa sta succedendo a qualcuno che legge il file.
Le righe di codice verso il basso hanno chiaramente a che fare con l'indirizzo IP del computer. In realtà sono uno script breve che controlla se Raspberry Pi ha un indirizzo IP e se lo fa, lo stampa. Se ricordi, puoi vedere l'indirizzo IP stampato sullo schermo quando il Pi si avvia in questo modo
My IP address is 10.1.1.8
Raspbian GNU/Linux 7 raspberrypi tty1
raspberrypi login:
Questo pezzo di script in rc.local è il codice responsabile della stampa dell'indirizzo IP!
Aggiungeremo il seguente comando in rc.local;
su - pi -c '/usr/bin/tightvncserver :1'
Questo comando cambia l'utente in modo che sia l'utente "pi" con su - pi. Il su sta per 'switch user' il trattino (-) si assicura che l'ambiente pi dell'utente (come tutte le sue impostazioni) sia usato correttamente e pi sia l'utente.
L'opzione -c dichiara che il prossimo pezzo della riga sarà il comando che verrà eseguito e la parte all'interno delle virgolette ('/ usr / bin / tightvncserver: 1') è il comando.
Il comando in questo caso esegue il file tightvncserver che si trova nella directory / usr / bin e specifica che dovremmo iniziare la sessione desktop 1 (: 1).
Per fare ciò modificheremo il file rc.local con il seguente comando;
sudo nano /etc/rc.local
Aggiungi nelle nostre linee in modo che il file sia simile al seguente;
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# Start tightvncserver
su - pi -c '/usr/bin/tightvncserver :1'
exit 0
(Possiamo anche aggiungere il nostro commento nel file per far sapere ai futuri lettori cosa sta succedendo)
Questo dovrebbe essere. Ora dovresti essere in grado di verificare che il servizio si avvii al riavvio del Pi.
Se quanto sopra sembra un po 'lungo, sentiti libero di dare un'occhiata a un ragionamento più completo qui .
Prima di iniziare assicurati che il tuo Pi sia connesso a Internet \ rete via Ethernet \ wifi.
Apri il Terminale e inserisci i seguenti comandi:
Ottieni l'indirizzo IP Pi per la connessione remota (da utilizzare in seguito)
hostname -I
Installa TightVncServer
sudo apt-get update
sudo apt-get install tightvncserver
tightvncserver
Al primo avvio, è necessario inserire una password e verificarla. Non è necessario inserire una password di sola visualizzazione.
Per configurare l'avvio automatico come servizio all'avvio del Pi:
Apri nano (editor di testo) per creare un file per l'avvio automatico. Server VNC stretto sudo nano /etc/init.d/tightvncserver
Digita quanto segue (o copia e incolla ):
#!/bin/sh
# /etc/init.d/tightvncserver
# 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/tightvncserver :1'
echo "Starting TightVNC server for $VNCUSER"
;;
stop)
pkill Xtightvnc
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
Premi Ctrl + x, quindi y per salvare e Invio per mantenere lo stesso nome file.
Modifica le autorizzazioni di questo file per renderlo eseguibile e attivo:
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
Riavvia per testare il riavvio di sudo
Installa il client vnc per il tuo sistema operativo e prova a connetterti una volta riavviato Pi!
Per Windows: ad esempio il client TightVNC . Non è necessario installare il server.
Avviare il client VNC Connect utilizzando l'indirizzo IP dalla parte superiore di questo post. Cambia l'indirizzo IP per il tuo. Il numero di porta in un numero di post Internet è elencato solo come 2 cifre. Questa è una scorciatoia e se stai usando lo script sopra il tuo pi è in esecuzione sulla porta 1, allora dovresti usare 590 1 . Se 2, quindi 590 2 ecc.
192.168.1.123:5901
vncserver -geometry 1366x768 -depth 24 -dpi 96
. Ho usato quel comando prima per ottenere lo schermo intero. Esiste un modo per aggiungere la riga nel tuo codice?)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
è ciò che esegue il comando a cui ti riferisci. Basta aggiungere le opzioni alla fine di quella riga, che si tradurrà in qualcosa di similesu $VNCUSER -c '/usr/bin/tightvncserver :1' -geometry 1366x768 -depth 24 -dpi 96