Ich habe einen Raspberry Pi 2 und habe den Beitrag auf Raspberrypi.org verfolgt, aber Tight VNC Server wird beim Neustart nicht gestartet. Es scheint keinen Fehler zu geben.
Wie kann ich TightVncServer beim Pi Reboot starten lassen?
Ich habe einen Raspberry Pi 2 und habe den Beitrag auf Raspberrypi.org verfolgt, aber Tight VNC Server wird beim Neustart nicht gestartet. Es scheint keinen Fehler zu geben.
Wie kann ich TightVncServer beim Pi Reboot starten lassen?
Antworten:
Dazu können Sie ein wenig Linux-Cleverness verwenden.
Unsere erste Aufgabe wird es sein, die Datei /etc/rc.local zu bearbeiten. Diese Datei kann Befehle enthalten, die beim Start ausgeführt werden. Wenn wir uns die Datei ansehen, können wir sehen, dass dort bereits wenige Einträge vorhanden sind.
#!/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
Die ersten Zeilen mit einem Rautezeichen (#) sind Kommentare. Diese dienen nur dazu, jemandem, der die Datei liest, zu erklären, was los ist.
Die Codezeilen nach unten haben eindeutig etwas mit der IP-Adresse des Computers zu tun. Tatsächlich handelt es sich um ein kurzes Skript, das überprüft, ob der Raspberry Pi eine IP-Adresse hat, und wenn dies der Fall ist, druckt es diese aus. Wenn Sie sich erinnern, können Sie die IP-Adresse auf dem Bildschirm sehen, wenn der Pi so hochfährt
My IP address is 10.1.1.8
Raspbian GNU/Linux 7 raspberrypi tty1
raspberrypi login:
Dieses Skript in rc.local ist der Code, der für den Ausdruck der IP-Adresse verantwortlich ist!
Wir werden den folgenden Befehl in rc.local einfügen;
su - pi -c '/usr/bin/tightvncserver :1'
Dieser Befehl wechselt den Benutzer zum Benutzer 'pi' mit su - pi. Das su steht für 'Benutzer wechseln'. Der Bindestrich (-) stellt sicher, dass die Umgebung des Benutzers pi (wie alle seine Einstellungen) korrekt verwendet wird und pi der Benutzer ist.
Die Option -c gibt an, dass der nächste Teil der Zeile der Befehl sein wird, der ausgeführt wird, und der Teil innerhalb der Anführungszeichen ('/ usr / bin / tightvncserver: 1') der Befehl ist.
Der Befehl führt in diesem Fall die Datei tightvncserver aus, die sich im Verzeichnis / usr / bin befindet, und gibt an, dass die Desktopsitzung 1 (: 1) gestartet werden soll.
Dazu bearbeiten wir die Datei rc.local mit dem folgenden Befehl.
sudo nano /etc/rc.local
Fügen Sie unsere Zeilen hinzu, damit die Datei wie folgt aussieht:
#!/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
(Wir können der Datei auch einen eigenen Kommentar hinzufügen, damit zukünftige Leser wissen, was los ist.)
Das sollte es sein. Sie sollten nun in der Lage sein zu testen, ob der Dienst beim Neustart des Pi durch einen Neustart gestartet wird.
Wenn das oben Genannte etwas langwierig klingt, können Sie hier eine ausführlichere Begründung lesen .
Bevor Sie beginnen, stellen Sie sicher, dass Ihr Pi über Ethernet \ WLAN mit dem Internet \ Netzwerk verbunden ist.
Öffnen Sie das Terminal und geben Sie die folgenden Befehle ein:
Abrufen der Pi-IP-Adresse für die Remoteverbindung (zur späteren Verwendung)
hostname -I
Installieren Sie TightVncServer
sudo apt-get update
sudo apt-get install tightvncserver
tightvncserver
Bei der ersten Ausführung müssen Sie ein Kennwort eingeben und überprüfen. Es ist nicht erforderlich, nur ein Ansichtskennwort einzugeben.
So konfigurieren Sie den automatischen Start als Dienst, wenn der Pi hochfährt:
Öffnen Sie nano (Texteditor), um eine Datei zum automatischen Starten von Tight VNC Server sudo nano /etc/init.d/tightvncserver zu erstellen
Geben Sie Folgendes ein (oder kopieren und einfügen ):
#!/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
Drücken Sie Strg + x, dann y zum Speichern und Enter, um den gleichen Dateinamen beizubehalten.
Bearbeiten Sie die Berechtigungen dieser Datei, um sie ausführbar und aktiv zu machen:
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
Starten Sie neu, um den Neustart von sudo zu testen
Installieren Sie den vnc-Client für Ihr Betriebssystem und versuchen Sie nach dem Neustart des Pi eine Verbindung herzustellen!
Für Windows: TightVNC-Client zum Beispiel . Server muss nicht installiert werden.
Starten Sie den VNC-Client Connect mit der IP-Adresse oben in diesem Beitrag. Ändern Sie die IP-Adresse für Ihre. Die Portnummer in einer Reihe von Internet-Posts ist nur zweistellig. Dies ist eine kurze Hand und wenn Sie das obige Skript verwenden, läuft Ihr Pi auf Port 1, dann sollten Sie 590 1 verwenden . Wenn 2, dann 590 2 usw.
192.168.1.123:5901
vncserver -geometry 1366x768 -depth 24 -dpi 96
. Ich habe diesen Befehl zuvor verwendet, um den Vollbildmodus zu erhalten. Gibt es eine Möglichkeit, die Zeile in Ihren Code
su $VNCUSER -c '/usr/bin/tightvncserver :1'
wird der Befehl ausgeführt, auf den Sie sich beziehen. Fügen Sie einfach die Optionen an das Ende dieser Zeile an, was zu so etwas wiesu $VNCUSER -c '/usr/bin/tightvncserver :1' -geometry 1366x768 -depth 24 -dpi 96