web-dev-qa-db-fra.com

Comment créer un fichier .sh au démarrage dans Lubuntu 12.04?

Lancer lubuntu desktop sur le netbook samsung n145.

Je suis arrivé jusqu'à /etc/xdg/lxsession/Lubuntu/autostart et j'ai ajouté la ligne

@home/magpie/touchpad_settings.sh

Où le nom de mon fichier est touchpad_settings.sh et il s'exécute et fonctionne s'il est cliqué puis exécuté.

Cela signifiait que je ne pouvais plus me connecter et obtenir mes panneaux, alors je l'ai défait avec mon booter USB et suis venu ici pour voir si quelqu'un pouvait clarifier.

Lubuntu n'utilise pas de gestionnaire de démarrage et il s'agit d'un fichier fait maison, il ne sera donc pas non plus dans les paramètres de session de bureau.

Comme suggéré dans les réponses ci-dessous, j'ai essayé

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/bin/sh /home/magpie/touchpad_settings.sh
exit 0

J'ai aussi essayé les lignes:

/bin/bash /home/magpie/touchpad_settings.sh

et

sh /home/magpie/touchpad_settings.sh

qui n'a pas fonctionné.

3
Magpie

Dans le gestionnaire de fichiers, accédez à /usr/share/applications. Ouvrez-le avec un accès root (Outils -> Ouvrir le dossier actuel en tant que racine)

Open as root

Dans la fenêtre de votre gestionnaire de fichiers d’accès racine, créez un nouveau fichier (Fichier -> Créer nouveau -> Fichier vide).

blank file

Nommez le nouveau fichier touchpad.desktop.

file name

Recherchez le fichier que vous venez de créer, faites un clic droit dessus, modifiez-le avec le bloc-notes.

enter image description here

Dans le bloc-notes, collez ce qui suit:

[Desktop Entry]
Name=Touchpad Autostart
Exec=/home/magpie/touchpad_settings.sh
Type=Application
Terminal=false

Sauvegarde le. Si vous ne pouvez pas l'enregistrer, vous n'êtes pas dans la fenêtre avec un accès root. Recommencez et suivez les instructions à la lettre.

Encore une fois, trouvez votre fichier dans la fenêtre du gestionnaire de fichiers d’accès racine. Cliquez avec le bouton droit et copiez.

Copy

Maintenant, naviguez dans votre fenêtre racine vers le dossier de démarrage automatique:

/etc/xdg/autostart/

Enfin, collez dans le fichier que vous avez créé précédemment.

Autostart File

Si vous avez tout fait correctement, vous devriez voir beaucoup d'autres fichiers à démarrage automatique, mais vous verrez aussi le fichier "Touchpad Autostart"

It's there...

Ce n’est pas le moyen le plus rapide de faire les choses, mais vous sembliez vous battre avec beaucoup d’étapes dans les autres réponses, alors je voulais y aller doucement avec beaucoup de détails. Si votre script ne fonctionne toujours pas après le redémarrage (ne vous contentez pas de vous déconnecter puis de revenir), c'est que votre script pose problème. Peut-être vérifiez-vous?

6
algebralives

Ouvrez /etc/rc.local dans votre éditeur avec la permission du root et ajoutez la commande que vous voulez exécuter au démarrage avant la ligne exit 0 de ce fichier.

Dans ton cas c'est

sh home/magpie/myfile.sh
4
Sarowar

Il y a plusieurs façons de le faire. le plus simple peut-être de suivre ces instructions à l'adresse cette page et celle-ci et de créer un dossier appelé autostart pour aller dans le dossier .config, puis créer une entrée .desktop avec votre éditeur de texte et enregistrez-le dans le dossier de démarrage automatique. L'entrée du bureau devrait avoir les lignes suivantes

  [Desktop Entry]
  Name=script.sh
  Exec=/home/mike/script.sh
  Type=Application
  Terminal=false

Une autre méthode consiste à utiliser le fichier rc.local:

Vous ajoutez généralement le chemin complet de votre script au fichier rc.local à /etc/rc.local; rc.local est exécuté uniquement après le démarrage de tout le reste et doit être rendu exécutable (Sudo chmod +x), s'il ne l'est pas déjà. (Sudo est nécessaire car le script appartient à root et c'est pourquoi certains peuvent le voir comme un problème de sécurité pour que root puisse démarrer le script d'un utilisateur, mais il est raisonnable d'utiliser la méthode rc.local pour les utilisateurs de postes de travail à domicile.)

Cependant, assurez-vous de laisser le exit 0 comme dernière ligne du script rc.local: par exemple, mon fichier rc.local contient l'emplacement d'un script et de deux autres commandes. Si vous voulez vous assurer que votre script est exécuté par /bin/sh ou /bin/bash, placez-le devant le chemin; par exemple. /bin/bash /home/mike/script.

Enfin, utilisez Sudo vi /etc/rc.local ou gksudo gedit /etc/rc.local pour éditer le fichier.

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
# my script here
/bin/bash /home/mike/bin/script
exit 0
1
user76204

Voici la manière la plus simple d’ajouter des programmes de démarrage automatique dans l’environnement LXDE.

  1. faites 'the.sh' pour exécuter le programme souhaité et enregistrez-le dans /home/user/.config/autostart/the.sh (rappelez-vous de le rendre exécutable)
  2. ajoutez maintenant une ligne /home/user/.config/lxsession/LXDE/autostart au fichier @sh /home/user/.config/autostart/the.sh et redémarrez l’ordinateur. c'est tout.

NB! certains programmes doivent être retardés au démarrage, par exemple, le fichier 'conky.sh' doit être

#!/bin/sh

sleep 3
conky

- Alors peut-être que la première façon dont vous avez essayé de lancer automatiquement 'touchpad_settings.sh' nécessite juste un délai dans le fichier .sh.

1
digerydoo

Vous venez d'utiliser un mauvais chemin dans /etc/xdg/lxsession/Lubuntu/autostart:
Dans la ligne:

@home/magpie/touchpad_settings.sh 

le @ sera supprimé et le reste exécuté en tant que commande Shell.

Il utilise un chemin relatif:

home/magpie/touchpad_settings.sh 

Donc, si le répertoire de travail actuel est /home/magpie, le script qu'il exécute est /home/magpie/home/magpie/touchpad_settings.sh

Ajoutez un / pour résoudre ce problème et assurez-vous que le script dispose de l'autorisation d'exécution:

@/home/magpie/touchpad_settings.sh

(@ signifie qu'il sera redémarré s'il se ferme.)

0
Volker Siegel