Je souhaite exécuter un script qui modifie le mappage de mon clavier à partir des applications de démarrage. Le script se trouve dans mon dossier personnel et il dispose des autorisations 755.
J'ai créé une nouvelle entrée dans Système -> Préférences -> Applications de démarrage et j'ai essayé les commandes suivantes :
/bin/bash /home/myuser/myscript.sh
/sbin/sh /home/myuser/myscript.sh
/home/myuser/myscript.sh
Aucun d'eux n'a fonctionné. Les mêmes commandes fonctionnent correctement lorsque je les exécute manuellement à partir d'un terminal.
Je connais d'autres façons d'exécuter un script au démarrage, mais je veux savoir pourquoi cette méthode ne fonctionne pas pour moi.
Réponse acceptée :
Scripts de démarrage, liés aux paramètres du clavier ou du pavé tactile, ou inclure wmctrl
ou xrandr
les commandes ont souvent besoin d'une "petite pause" avant de s'exécuter. S'ils s'exécutent trop tôt, avant que le bureau ne soit complètement chargé, ils cassent ou "manquent leur cible".
Pour résoudre ce problème, vous devez ajouter :
/bin/bash -c "sleep 10 && /home/myuser/myscript.sh"
à vos applications de démarrage. Peut-être avez-vous besoin de jouer un peu avec le sleep 10
valeur à optimiser.
Remarque
Le script n'existe probablement que d'une ou deux commandes, vous pourriez incluez-les dans votre commande de démarrage, avec la même syntaxe. De cette façon, vous n'avez pas besoin d'un script séparé.