J'ai un Raspberry Pi 2 et j'ai suivi le post sur Raspberrypi.org mais Tight VNC Server ne démarre pas au redémarrage. Il ne semble pas y avoir d'erreur.
Comment faire démarrer TightVncServer sur Pi Reboot?
J'ai un Raspberry Pi 2 et j'ai suivi le post sur Raspberrypi.org mais Tight VNC Server ne démarre pas au redémarrage. Il ne semble pas y avoir d'erreur.
Comment faire démarrer TightVncServer sur Pi Reboot?
Réponses:
Pour ce faire, vous pouvez utiliser un peu d'intelligence Linux.
Notre première tâche sera de modifier le fichier /etc/rc.local. Ce fichier peut contenir des commandes qui s'exécutent au démarrage. Si nous regardons le fichier, nous pouvons voir qu'il y a déjà peu d'entrées dedans;
#!/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
Le premier ensemble de lignes avec une marque de hachage (#) devant elles sont des commentaires. Ceux-ci sont juste là pour expliquer ce qui se passe à quelqu'un qui lit le fichier.
Les lignes de code vers le bas ont clairement quelque chose à voir avec l'adresse IP de l'ordinateur. En fait, il s'agit d'un court script qui vérifie si le Raspberry Pi a une adresse IP et si c'est le cas, il l'imprime. Si vous vous souvenez, vous pouvez voir l'adresse IP imprimée sur l'écran lorsque le Pi démarre comme ça
My IP address is 10.1.1.8
Raspbian GNU/Linux 7 raspberrypi tty1
raspberrypi login:
Ce morceau de script dans rc.local est le code responsable de l'impression de l'adresse IP!
Nous ajouterons la commande suivante dans rc.local;
su - pi -c '/usr/bin/tightvncserver :1'
Cette commande fait passer l'utilisateur en utilisateur «pi» avec su-pi. Le su signifie «changer d'utilisateur». Le tiret (-) s'assure que l'environnement de l'utilisateur pi (comme tous ses paramètres) est utilisé correctement et pi est l'utilisateur.
L'option -c déclare que la prochaine partie de la ligne sera la commande qui sera exécutée et la partie à l'intérieur des guillemets ('/ usr / bin / tightvncserver: 1') est la commande.
La commande dans ce cas exécute le fichier tightvncserver qui se trouve dans le répertoire / usr / bin et spécifie que nous devons démarrer la session de bureau 1 (: 1).
Pour ce faire, nous éditerons le fichier rc.local avec la commande suivante;
sudo nano /etc/rc.local
Ajoutez nos lignes pour que le fichier ressemble à ce qui suit;
#!/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
(Nous pouvons également ajouter notre propre commentaire dans le fichier pour permettre aux futurs lecteurs de savoir ce qui se passe)
Ça devrait être ça. Vous devriez maintenant pouvoir tester que le service démarre lorsque le Pi démarre en redémarrant.
Si ce qui précède semble un peu long, n'hésitez pas à consulter un raisonnement plus complet ici .
Avant de commencer, assurez-vous que votre Pi est connecté à Internet \ réseau via Ethernet \ wifi.
Ouvrez le terminal et entrez les commandes suivantes:
Obtenir l'adresse IP Pi pour la connexion à distance (pour une utilisation ultérieure)
hostname -I
Installer TightVncServer
sudo apt-get update
sudo apt-get install tightvncserver
tightvncserver
La première fois que cela est exécuté, vous devez entrer un mot de passe et le vérifier. Pas besoin de saisir un mot de passe en lecture seule.
Pour configurer le démarrage automatique en tant que service lorsque le Pi démarre:
Ouvrez nano (éditeur de texte) pour créer un fichier pour démarrer automatiquement le serveur Tight VNC sudo nano /etc/init.d/tightvncserver
Tapez ce qui suit (ou copiez et collez ):
#!/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
Appuyez sur Ctrl + x, puis sur y pour enregistrer et sur Entrée pour conserver le même nom de fichier.
Modifiez les autorisations de ce fichier pour le rendre exécutable et actif:
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
Redémarrez pour tester le redémarrage de sudo
Installez le client vnc pour votre système d'exploitation et essayez de vous connecter une fois que le Pi a redémarré!
Pour Windows: TightVNC Client par exemple . Pas besoin d'installer de serveur.
Démarrez The VNC Client Connect en utilisant l'adresse IP en haut de ce message. Modifiez l'adresse IP de la vôtre. Le numéro de port dans un certain nombre de publications Internet n'est répertorié que sur 2 chiffres. C'est une tâche courte et si vous utilisez le script ci-dessus, votre pi s'exécute sur le port 1, alors vous devez utiliser 590 1 . Si 2, alors 590 2 etc.
192.168.1.123:5901
vncserver -geometry 1366x768 -depth 24 -dpi 96
. J'ai déjà utilisé cette commande pour obtenir le plein écran. Existe-t-il un moyen d'ajouter la ligne dans votre code?)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
est ce qui exécute la commande à laquelle vous faites référence. Ajoutez simplement les options à la fin de cette ligne, ce qui entraînera quelque chose commesu $VNCUSER -c '/usr/bin/tightvncserver :1' -geometry 1366x768 -depth 24 -dpi 96