Toujours nouveau avec linux et en cours d'exécution Ubuntu 12.10
J'ai une clé sans fil (ae2500) qui a des problèmes connus qui ont été partiellement résolus à l'aide de ndiswrapper. Cependant, pour l'utiliser, je dois exécuter les mêmes scripts à chaque redémarrage, ce qui permet de désinstaller et de réinstaller le pilote. J'ai créé un fichier .sh à exécuter à chaque fois pour simplifier les choses, mais je dois toujours me connecter à Sudo.
Il y a trois solutions que je cherche et bien que toutes ne soient pas nécessaires pour résoudre ce problème particulier, j'aimerais quand même les connaître toutes à des fins d'apprentissage.
Toute information supplémentaire susceptible de m'aider à cet égard que je ne pensais pas demander (y compris la rationalisation de mes commandes) ou des connaissances générales serait grandement appréciée. Voici le contenu du fichier. J'ai à peu près juste fait comme je l'aurais entré.
cd ~/ndiswrapper-1.58rc1
Sudo modprobe -rf ndiswrapper
Sudo rm /etc/modprobe.d/ndiswrapper.conf
Sudo rm -r /etc/ndiswrapper/*
Sudo depmod -a
Sudo make uninstall
Sudo make
Sudo make install
Sudo ndiswrapper -i bcmwlhigh5.inf
ndiswrapper -l
Sudo modprobe ndiswrapper
Pour qu'un fichier soit exécuté au démarrage, vous voulez essentiellement mettre le fichier .desktop dans /etc/xdg/autostart/
Voici comment configurer un fichier .desktop pour votre fichier à partir de la ligne de commande:
Sudo mv file.sh /usr/bin
Cela déplace le chemin du fichier shell vers /usr/bin
.
Ensuite aller à
/usr/share/applications
Ensuite, vous voulez créer un fichier .desktop afin de taper
Sudo -H gedit file.desktop &
Le & signifie que vous pouvez toujours utiliser le terminal tout en laissant le fichier ouvert. Pratique si vous avez la mémoire d'un poisson rouge comme moi.
Dans gedit, écrivez:
[Desktop Entry]
Name=myfileName
Exec=/usr/bin/file.sh
Type=Application
Terminal=false
Vous pouvez le fermer maintenant si vous le souhaitez. Vous pouvez égayer avec une icône en ajoutant la ligne icon=path/to/icon
aussi si cela vous tente.
Maintenant, pour que ce fichier fonctionne au démarrage, vous devez en enregistrer une copie dans
/etc/xdg/autostart/
Cela devrait fonctionner à condition que le script (myfile.sh) fonctionne déjà, c'est-à-dire.
Vous pouvez essayer de placer votre fichier.sh dans /etc/init.d/ et utiliser update-rc.d
update-rc.d file.sh defaults
Pour l'exécuter à la connexion (je suis sur 12.04, donc cela pourrait être légèrement différent), il suffit de cliquer sur le menu en haut à droite (avec les options d'arrêt) et de cliquer sur Applications de démarrage ...
Cliquez ensuite sur Add
, donnez-lui un nom et une description, puis accédez à l'emplacement du script bash. déconnectez-vous, puis reconnectez-vous et cela devrait fonctionner.
Si vous le faites de cette façon, je suggérerais de changer Sudo
en gksudo
dans votre script afin qu'il demande ensuite les privilèges Sudo dans une interface graphique de Nice, plutôt que de rester assis sur le terminal pour le demander. .
J'ai une suggestion alternative aux autres réponses: utiliser crontab
en tant que root exécuter crontab et ajouter un travail comme tel
@reboot/path/to/your/script
http://en.wikipedia.org/wiki/Cron#Predefined_scheduling_definitions
C'est comme ça que je réglerais ce problème. Je ne suis pas disposé à dire que c'est meilleur ou pire que d'autres réponses et je serais heureux de recevoir des commentaires.
[Ceci est une combinaison de la réponse de pie et de ma propre expérience.]
Pour obtenir un script .sh (ou tout autre script) à exécuter au démarrage, vous voulez;
Ouvrez le bloc-notes ou tout autre éditeur de texte et tapez:
[Desktop Entry]
Name=yourScriptName
Exec=/usr/bin/yourScript.sh
Type=Application
Terminal=false
Type:
cd ~/Desktop
Le ~ signifie la maison, il devrait maintenant dire quelque chose comme:
userName@computerName:~/Desktop$
Ensuite:
Sudo mv yourScript.sh /usr/bin
(il est généralement recommandé de le mettre dans /usr/local/bin
afin qu'il puisse être exécuté directement par la commande yourScript.sh au lieu de "/ chemin/vers/script").
Sudo cp scriptName.desktop /usr/share/applications
Sudo mv scritptName.desktop /etc/xdg/autostart
C'est ça!
Je suis sur lubuntu 17.04 et cela fonctionne très bien pour moi,
J'espère que ce fut une explication utile et claire :).
Wessel