#1 Le 12/06/2016, à 21:23
- josran
[Résolu]Echec de lancement d'un script au démarrage
Bonjour,
J'ai écrit ce petit script :
└─ $ ▶ cat /home/tt/NBC/script-ytdl-wo.sh
xfce4-terminal
echo "--"
echo ">>>>>>>>>>"
echo ""
cd /home/tt/NBC/
wget http://www.nbcnews.com/nightly-news
grep -m 5 "http://www.nbcnews.com/nightly-news-netcast/video/nightly-news-full-broadcast-" nightly-news | grep -Po 'href="\K[^"]*' > nbcshort.txt
grep -m 1 -v nbcshort.txt nbcshort_previous.txt > nbcUrl.html
read str2 < nbcUrl.html
echo ">>>>>>>>>>"
echo "--"
echo ""
Qui, normalement, doit se lancer tout seul au démarrage puisque je l'ai inclus dans /etc/init.d :
tt @ ttx ~/NBC
└─ $ ▶ ls /etc/init.d
acpid console-setup killprocs ondemand rpcbind umountfs
alsa-utils cron kmod openvpn rsync umountnfs.sh
anacron cups lightdm plymouth rsyslog umountroot
apparmor cups-browsed lm-sensors plymouth-log saned unattended-upgrades
avahi-daemon dbus mountall-bootclean.sh postfix screen-cleanup urandom
binfmt-support glances mountall.sh pppd-dns script-ytdl-wo.sh uuidd
bluetooth grub-common mountdevsubfs.sh procps sendsigs whoopsie
bootmisc.sh halt mountkernfs.sh rc single x11-common
brltty hddtemp mountnfs-bootclean.sh rc.local skeleton
checkfs.sh hostname.sh mountnfs.sh rcS speech-dispatcher
checkroot-bootclean.sh hwclock.sh networking README thermald
checkroot.sh irqbalance network-manager reboot udev
clamav-freshclam kerneloops ntp resolvconf ufw
Or, au démarrage de Voyager 16.04, le script ne s'exécute pas : aucun terminal ne s'affiche et, surtout, aucun des fichiers n'est créé.
Comme ce script s'exécute sans problème lorsque je le lance à partir du terminal, je ne comprends pas où se trouve mon erreur.
Merci, par avance, de tout éclairage à ce sujet.
Dernière modification par josran (Le 05/10/2016, à 23:49)
Hors ligne
#2 Le 12/06/2016, à 23:05
- bertrand0
Re : [Résolu]Echec de lancement d'un script au démarrage
Les scripts du dossier /etc/init.d ne sont pas exécutés au démarrage. Il est donc normal que ton script ne s'exécute pas. (Ces scripts font partie du système de démarrage System V, et sont liés et appelés via les dossiers rc*.d. De plus ils ont une interface spécifique: ils doivent répondre aux commande start, stop...)
La façon la plus rapide d'ajouter ton script au démarrage, est d'ajouter une ligne dans /etc/rc.local pour l'appeler.
Une façon un peu plus élégante mais moins directe pour lancer ton script au moment de ton choix durant le démarrage consiste à ajouter une unité dans /etc/systemd/system si tu utilises le nouveau système de démarrage systemd, ou bien un fichier conf dans /etc/init si tu utilises encore upstart.
Dernière modification par bertrand0 (Le 12/06/2016, à 23:06)
Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
Buffon, Discours sur le style
Hors ligne
#3 Le 13/06/2016, à 03:49
- josran
Re : [Résolu]Echec de lancement d'un script au démarrage
Bonjour bertrand0 et merci de ta réponse.
Il h'y a pas de répertoire /etc/rc.local sur mon PC, mais des rc.1 à rc6 et un rc.S; rc.S est le seul qui contienne des scripts. Est-ce bien là que je dois ajouter le mien?
Par ailleurs, il y a bien un répertoire /etc.systemd/system mais j'ignore tout de ce que sont les unités dont tu parles; il y a aussi plein de répertoires et fichiers upstart mais ça aussi c'est du "chinois" pour moi. Aussi, je vais m'orienter vers un bouquin du genre "Linux pour les Nuls" (si possible pas trop ancien).
En attendant, si tu avais un tuyau plus directement utilisable, il serait le bienvenu.
Hors ligne
#4 Le 13/06/2016, à 06:48
- lynn
Re : [Résolu]Echec de lancement d'un script au démarrage
Bonjour,
/etc/rc.local n'est pas répertoire mais un fichier. Tu peux laisser ton script là où il est actuellement et mettre une commande de ce genre dans ton rc.local
bash /home/tt/NBC/script-ytdl-wo.sh
Ton script sera lancé à chaque démarrage de ton pc.
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
Hors ligne
#5 Le 13/06/2016, à 14:45
- josran
Re : [Résolu]Echec de lancement d'un script au démarrage
Bonjour bertrand0 et lynn,
J'avais un fichier rc.local sous les yeux et je ne le voyais pas. J'y ai placé l'appel à bash et mon script s'exécute; simplement, entre son exécution et l'installation du bureau Xfce, il se produit une sorte d'écran blanc qui dure une fraction de seconde de telle sorte que je ne vois pas l'exécution des instructions echo.
Mais cela ne me semble, a priori, pas très compliqué à corriger.
Encore une fois merci à tous.
Hors ligne
#6 Le 13/06/2016, à 15:44
- bruno
Re : [Résolu]Echec de lancement d'un script au démarrage
C'est visiblement destiné à être exécuté après le lancement du bureau graphique. Dans ce cas il faut utiliser /etc/xdg/autostart ou ~/.config/autostart
#7 Le 13/06/2016, à 16:35
- bertrand0
Re : [Résolu]Echec de lancement d'un script au démarrage
Bien vu bruno, je n'avais pas lu le script, tu as entièrement raison
Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
Buffon, Discours sur le style
Hors ligne
#8 Le 11/09/2016, à 16:24
- Batman85
Re : [Résolu]Echec de lancement d'un script au démarrage
Bonjour,
J'ai le même souci que josran: je n'arrive pas à exécuter mon script au démarrage. Je précise que je suis sous Lubuntu 16.04
xrandr --newmode $(gtf 1280 720 60 | sed -ne 's/"//g;s/ Modeline //p')
xrandr --addmode DP1 1280x720_60.00
xrandr --output DP1 --mode 1280x720_60.00
Ce script est destiné à forcer la résolution de l'un de mes deux écrans... J'ai la certitude qu'il fonctionne car lorsque je le lance manuellement, il fait ce qui est prévu.
J'ai essayé la solution proposée par bruno. J'ai aussi essayé la solution proposée bertrand0 et par lynn. J'ai aussi essayé d'insérer ces scripts via le mode graphique en suivant ce tuto et celui-ci, rien n'y fait: je suis obligé de lancer mon script manuellement après le lancement de ma section...
Y-a-t-il quelque chose que j'ai mal fait?
Avez vous une idée pour m'aider?
Merci beaucoup de votre aide!
NB: Je préçise en outre que je ne suis pas un spécialiste de l'informatique, et encore moins d'ubuntu/lubuntu. On va dire que je suis juste une petit "amateur du dimanche"...
Merci encore!
Hors ligne
#9 Le 11/09/2016, à 17:06
- erresse
Re : [Résolu]Echec de lancement d'un script au démarrage
Bonjour,
Comme le dit bruno (message #6), tu peux enregistrer ton script dans "~/.config/autostart/" ou ajouter une commande de lancement dans les "Applications au démarrage" qui le lancera là où il se trouve...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#10 Le 11/09/2016, à 19:49
- Batman85
Re : [Résolu]Echec de lancement d'un script au démarrage
Merci erresse pour ta réponse!
Comme je l'avais écrit dans mon post, j'avais déjà essayé la solution de bruno. Pour mon cas ça n'a malheureusement pas marché...
J'ai l'impression (fumeuse?) que mon script est exécuté AVANT que xrandr ne choisisse la résolution parmi les résolutions "standard" proposées... Et donc qu'il écrase la résolution que je voulais... (Voir mon script pour plus d'infos) Cela dit, je n'ai pas les connaissances pour m'assurer de cela
D'un autre coté, après le démarrage, Arandr ne me propose pas la résolution que je souhaitais, même manuellement (signe que mon script n'est pas exécuté?)
Qu'est ce que j'ai raté? Il y a une formule magique à dire?
Des idées?
En tous les cas merci pour votre aide!
Dernière modification par Batman85 (Le 11/09/2016, à 20:02)
Hors ligne
#11 Le 11/09/2016, à 20:02
- Batman85
Re : [Résolu]Echec de lancement d'un script au démarrage
Bon et bien c'est la honte!
Tout fonctionne à présent!
La solution de bruno fonctionne parfaitement (merci erresse pour m'avoir forcé à re-tenter le coup une seconde fois!!!)... En fait, le script s'exécute bien de cette manière, mais il ne faut pas oublier de sauvegarder cette résolution juste après dans LXRandr (pour rappel, je suis sous Lubuntu), car Xrandr reprend (logiquement!) la dernière configuration sauvegardée à chaque démarrage (donc une résolution "standard" par défaut)...
En sauvegardant cette résolution tout fonctionne! Merci 1000 fois pour votre aide!
A bientôt!
NB: Au fait, pas besoin de dire "Abracadabra". J'ai essayé, ça marche pas...
Dernière modification par Batman85 (Le 11/09/2016, à 20:03)
Hors ligne