Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/06/2016, à 22: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 06/10/2016, à 00:49)

Hors ligne

#2 Le 13/06/2016, à 00: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 13/06/2016, à 00: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, à 04: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, à 07: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, à 15: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, à 16: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

cf . https://specifications.freedesktop.org/ … atest.html

Hors ligne

#7 Le 13/06/2016, à 17: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 big_smile


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, à 17: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, à 18: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 résolu, 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, à 20: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, à 21:02)

Hors ligne

#11 Le 11/09/2016, à 21: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, à 21:03)

Hors ligne