Page 1 of 1

(RESOLU) entrer une commande automatique à l'allumage

Posted: Mon Jun 12, 2017 12:37 pm
by docmarcus
Bonjour, j'utilise un Raspberry Pi 3B pour réceptionner de la vidéo par IP.
Quand j'allume le raspberry je branche un clavier et j'entre

Code: Select all

omxplayer -o hdmi rtp://224.0.0.1:6004
.
Je voudrais me passer de brancher le clavier, et faire en sorte que le raspberry entre cette ligne de commande à chaque fois qu'il s'allume.
Comment procéder ?
Merci beaucoup.

Re: entrer une commande automatique à l'allumage

Posted: Mon Jun 12, 2017 1:41 pm
by YCN-
Salut,

Ajoute ta commande au .bashrc !
Tu le trouvera dans ton /home/pi/.bashrc

YCN-

Re: entrer une commande automatique à l'allumage

Posted: Mon Jun 12, 2017 6:39 pm
by JumpZero
Bjr
ou l'ajouter a /etc/rc.local qui s'execute au boot (en tant que root)
ou encore une ligne @reboot dans /etc/crontab
.bashrc s'execute après le login du l'utilisateur (sur le Raspberry Pi si le user pi est en auto-login ça revient au même)
--
Jmp0

Re: entrer une commande automatique à l'allumage

Posted: Tue Jun 13, 2017 6:17 am
by docmarcus
Merci de vos réponses, je vais essayer ce matin.
J'avais oublié de préciser, mais le raspberry est sous Raspbian Lite.
Je vous tiens au courant.

Re: entrer une commande automatique à l'allumage

Posted: Tue Jun 13, 2017 7:47 am
by YCN-
@Jumpzero, si j'écris dans crontab :

@reboot touch /boot/ssh

ça va me lancer la commande en root à chaque démarrage ?

YCN-

Re: entrer une commande automatique à l'allumage

Posted: Tue Jun 13, 2017 12:08 pm
by docmarcus
J'ai essayé ce que vous m'avez dit, mais quand je met la carte sd dans un ordi, je n'ai pas le droit d'écriture sur la partition Root, et donc je ne peux pas éditer de fichier à l'intérieur.
Avec Raspbian Lite, comment accéder et éditer au fichier dans .bashrc ?

Re: entrer une commande automatique à l'allumage

Posted: Tue Jun 13, 2017 1:03 pm
by totoharibo
docmarcus wrote:J'ai essayé ce que vous m'avez dit, mais quand je met la carte sd dans un ordi, je n'ai pas le droit d'écriture sur la partition Root, et donc je ne peux pas éditer de fichier à l'intérieur.
Avec Raspbian Lite, comment accéder et éditer au fichier dans .bashrc ?
ton Raspbian lite c'est du Linux (Unix)
Oublie la "fenêtre10" si tu veux modifier des fichiers de la carte SD (sauf le répertoire /boot)

édites en console directement sur le RPi : nano .bashrc
et relancer et voir ce que tu as fait :
./.bashrc

Posts: 3075
Joined: Thu Jan 24, 2013 8:43 am

Re: entrer une commande automatique à l'allumage

Posted: Tue Jun 13, 2017 3:30 pm
by docmarcus
j'ai ouvert la commande

Code: Select all

nano .bashrc
et j'ai entré la ligne que je souhaite avoir au démarrage :

Code: Select all

omxplayer -o hdmi rtp://224.0.0.1:6004
Mais après redémarrage, je dois quand même entrer le Login et le Paswword, et une fois fait, la ligne ne s'est pas écrite automatiquement.
j'ai fait une erreure quelque part ? :cry:

Re: entrer une commande automatique à l'allumage

Posted: Tue Jun 13, 2017 6:08 pm
by JumpZero
YCN- wrote:@Jumpzero, si j'écris dans crontab :

@reboot touch /boot/ssh

ça va me lancer la commande en root à chaque démarrage ?

YCN-
Oui
je ne vais pas détailler le fonctionnement de cron, tu trouveras plein de tuto, c'est un très vieux standard Unix, mais en gros sur Debian, donc Raspbian, chaque utilisateur a une crontab, qu'il peut voir et éditer

Code: Select all

crontab -l
crontab -e
Puis il y a une crontab système (root), celle ci contient un champ de plus pour définir le user qui exécutera la commande. Fais

Code: Select all

cat /etc/crontab
pour voir son contenu
Par contre pourquoi ferais tu un

Code: Select all

touch /boot/ssh
ceci n'est à exécuter qu'une seule fois pour activer le daemon sshd, une fois actif il le reste..
--
Jmp0

Re: entrer une commande automatique à l'allumage

Posted: Tue Jun 13, 2017 6:16 pm
by JumpZero
docmarcus wrote:j'ai ouvert la commande

Code: Select all

nano .bashrc
et j'ai entré la ligne que je souhaite avoir au démarrage :

Code: Select all

omxplayer -o hdmi rtp://224.0.0.1:6004
Mais après redémarrage, je dois quand même entrer le Login et le Paswword, et une fois fait, la ligne ne s'est pas écrite automatiquement.
j'ai fait une erreure quelque part ? :cry:
Quand tu édites un fichier avec nano, une fois que tu as fini tu fais
Ctrl-X
et ensuite Y pour yes (ou O pour oui si tu as configuré tes locales sur Français)
Un message au bas de l’écran te diras quelle touche utiliser.
Ca sauvegarde ton fichier
Si tu veux que ta commande se lance au boot même si personne ne se log, utilises l'une des 2 options que j'ai citées ci-dessus.
Perso je fais tout avec dans /etc/rc.local même si depuis l'arrivée de systemd ce n'est plus le dernier script lancé par init mais ça c'est une autre histoire. Mais attention c'est root qui exécutera la commande et non pas pi ça peut, peut-être changer qq chose, à tester.
--
Jmp0

EDIT:
J'ai oublié: dans /etc/rc.local insérer ta commande à l'avant dernière ligne, avant la commande "exit" et ajouter un & a la fin de ta commande ce qui aura pour effet de lancer ta commande en tache de fond et de rendre la main à rc.local et qu'il puisse finir proprement.

Re: entrer une commande automatique à l'allumage

Posted: Wed Jun 14, 2017 8:41 am
by docmarcus
JumpZero wrote:Bjr
ou l'ajouter a /etc/rc.local qui s'execute au boot (en tant que root)
ou encore une ligne @reboot dans /etc/crontab
.bashrc s'execute après le login du l'utilisateur (sur le Raspberry Pi si le user pi est en auto-login ça revient au même)
--
Jmp0
Quand je l'ajoute à la fin du rc.local et que je redémarre le Rpi, il m'indique un échec, il n'a pas su ouvrir le fichier rc.local

Re: entrer une commande automatique à l'allumage

Posted: Wed Jun 14, 2017 5:25 pm
by JumpZero
Postes ton fichier rc.local et postes aussi le message d'erreur en précisant d'où il vient: lu sur la console, dans un fichier de log..
--
Jmp0
EDIT:
essayé à l'instant sur Pi3B raspbian Jessie standard à jour, ça marche avec ce fichier /etc/rc.local

Code: Select all

[email protected]:~ $ cat /etc/rc.local
#!/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

omxplayer -o hdmi /home/pi/Videos/bigbuckbunny320p.mp4 &
exit 0
Postes ce que j'ai demandé au-dessus, qu'on vois ça de + près, donnes la sortie des commandes ci-dessous

Code: Select all

ls -l /etc/rc.local
cat /etc/rc.local
--
Jmp0

Re: entrer une commande automatique à l'allumage

Posted: Fri Jun 16, 2017 7:20 am
by docmarcus
désolé de répondre si tard, j'ai trouvé pourquoi le rc.local ne fonctionnai pas. je l'avais ouvert avec

Code: Select all

sudo edit...
Alors qu'avec

Code: Select all

sudo nano ...
ça a correctement fonctionné.
Résultat, mon Rpi démarre bien directement sur le flux vidéo, c'est super !!
Merci pour votre aide ça m'a été très utile :)