#1 Le 03/11/2020, à 21:55
- john25
Script qui a besoin d'un reboot et appelle un autre script
Bonjour,
j'ai un script qui à un moment donné doit faire redémarrer l'ordinateur puis reprendre là où il en était au redémarrage.
Voici ce que je tente mais qui ne fonctionne pas...
Je lance Script 1.sh ainsi :
$HOME/Script1.sh |& tee -a $HOME/log.log
Voici Script1 :
echo "blabla1"
sleep 3
printf '[Desktop Entry]\n Name=script2\n Exec=sh -c sleep 30 && xfce-terminal --command "$HOME/script2.sh |& tee -a $HOME/log.log"\n Encoding=UTF-8\n Type=Application\n X-GNOME-Autostart-enabled=true\n OnlyShowIn=XFCE;\n StartupNotify=false\n Terminal=false\n Hidden=false\n Comment=test\n GenericName=test' >> $HOME/.config/autostart/test.desktop
sleep 1
echo "blabla2"
sleep 3
xfce4-session-logout
exit
Voici Script2 :
echo "blabla 3"
sleep 3
rm -v $HOME/.config/autostart/test.desktop
sleep 3
echo "blabla 4"
exit
Voyez-vous où ça coince ?
Le script1 fait le travail mais au redémarrage, rien ne se passe...
S'il existe une autre façon de faire que de passer par un .desktop, je suis preneur.
J'aimerai que le script2 se lance dans une fenêtre de terminal (je suis sous xubuntu, vous l'aurez compris)
Dernière modification par john25 (Le 03/11/2020, à 22:24)
Merci par Avance !
Hors ligne
#2 Le 03/11/2020, à 22:18
- Vobul
Re : Script qui a besoin d'un reboot et appelle un autre script
Décris ce que tu cherches à faire.
Comment veux-tu qu'un script reprenne là où il en était après le redémarrage ??
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 03/11/2020, à 22:29
- john25
Re : Script qui a besoin d'un reboot et appelle un autre script
J'ai modifié mon 1er post, j'avais fait une erreur.
Je cherche a lancé script1 dans un terminal,
Quand il a fini, je souhaite qu'il demande à redémarrer, ou redémarre tout seul l'ordi.
Quand l'ordi et l'interface graphique ont redémarré, je souhaite que le script2 se lance dans un terminal.
Seulement à ce redémarrage.
Effectivement, un script ne peut pas reprendre là où il en était mais il peut en lancer un autre une seule fois?
Merci par Avance !
Hors ligne
#4 Le 03/11/2020, à 22:31
- Hizoka
Re : Script qui a besoin d'un reboot et appelle un autre script
Salut,
2 solutions à mes yeux :
- Tu ajoutes une ligne dans le crontab du genre
@reboot sleep 30 && script2
- Tu ajoutes une copies du fichier dans ~/.config/autostart-scripts/
Et dans les 2 cas, il faut que le script 2 efface ce qu'aura fait le script 1
Dernière modification par Hizoka (Le 03/11/2020, à 22:32)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 03/11/2020, à 22:43
- john25
Re : Script qui a besoin d'un reboot et appelle un autre script
Je ne connais pas le fonctionnement de cron, il va me falloir un "man cron".
La 2ieme méthode me paraît plus abordable pour mes petits neurones.
Le dossier ~/.config/autostart/ prend en compte des scripts ?
Il n'y a pas besoin que les fichiers soient sous forme de .desktop ?
Autrement dit, si je dépose script2 dedans, il va l'exécuter au prochain démarrage,
tant que je ne l'ai pas supprimé ?
Merci par Avance !
Hors ligne
#6 Le 04/11/2020, à 09:06
- Hizoka
Re : Script qui a besoin d'un reboot et appelle un autre script
Cron est très important et pratique : https://doc.ubuntu-fr.org/cron
on pourrait même faire un truc du genre :
script.sh
function partie1
{
..
}
function partie2
{
...
}
if [[ $1 == "2" ]]
then
partie2
else
partie1
fi
et dans le crontab script.sh 2 pour lancer la 2e partie, ça évite de passer par un autre fichier.
Attention à ne pas confondre ~/.config/autostart/ qui prend des desktop et ~/.config/autostart-scripts/ qui prend des scripts en tout cas, c'est comme ça sur ma Kubuntu en mode graphique.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#7 Le 04/11/2020, à 11:26
- john25
Re : Script qui a besoin d'un reboot et appelle un autre script
mouais... Désolé mais j'ai compris !
À la lecture de ton lien, j'ai l'impression que passer par cron va pas m'aider à préserver mes neurones de la surchauffe.
Le dossier ~/.config/autostart-scripts/ n'existe pas de base sur Xubuntu.
J'ai essayé de le créé mais, apparement, le système s'en fiche.
J'arrive à lancer un terminal au redémarrage en faisant dans script1:
printf '[Desktop Entry]\n Name=script2\n Exec="$HOME/Bureau/script2.sh"\n
Encoding=UTF-8\n Type=Application\n X-GNOME-Autostart-enabled=true\n OnlyShowIn=XFCE;\n StartupNotify=false\n
Terminal=true\n Hidden=false\n Comment=test\n GenericName=test' >> $HOME/.config/autostart/test.desktop
mais le terminal répond avec une fenêtre genre zenity :
Erreur
Impossible d'exécuter un fils
L'exécution du processus fils " $HOME/Bureau/script2.sh " a échoué
(Aucun fichier ou dossier de ce type)
bouton Fermer
J'imagine que l'erreur est dans le "desktop entry" mais je ne vois pas où.
J'ai essayé
printf '[Desktop Entry]\n Name=script2\n Exec=xfce4-terminal --command "$HOME/Bureau/script2.sh"\n
Encoding=UTF-8\n Type=Application\n X-GNOME-Autostart-enabled=true\n OnlyShowIn=XFCE;\n StartupNotify=false\n
Terminal=false\n Hidden=false\n Comment=test\n GenericName=test' >> $HOME/.config/autostart/test.desktop
mais j'obtiens le même retour.
Edit : je viens de m'apercevoir que logout est suffisant pour tester !
Dernière modification par john25 (Le 04/11/2020, à 11:30)
Merci par Avance !
Hors ligne
#8 Le 04/11/2020, à 11:53
- Sciensous
Re : Script qui a besoin d'un reboot et appelle un autre script
script2.sh a les droits d'execution ?
et remplace $HOME/Bureau/script2.sh par /home/tonuser/Bureau/script2.sh
(ligne Exec)
Dernière modification par Sciensous (Le 04/11/2020, à 11:55)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#9 Le 04/11/2020, à 23:54
- Hizoka
Re : Script qui a besoin d'un reboot et appelle un autre script
Sciensous +1
Je ne peux que te conseiller de relire à tête reposer ce qu'est cron et son fonctionnement car c'est vraiment utile et pas très compliqué pour le coup.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne