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 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