Lancement automatique de logiciels au démarrage sur EeePC

De Lea Linux
Aller à la navigation Aller à la recherche

Installation

Cette étape ne doit être faite qu'une seule fois. Elle consiste à ajouter dans le programme exécuté à chaque démarrage (un script Shell) quelques lignes qui lanceront automatiquement tous les programmes présents dans un répertoire donné. Pour ma part j'ai choisi de créer un répertoire Autostart dans mon dossier utilisateur.

Il faut donc éditer le script /usr/bin/startsimple.sh avec vi, kate, ou votre éditeur de texte préféré, et y ajouter les lignes suivantes au bon endroit :

for soft in /home/user/Autostart/* ; do
        if [ -x $soft ]; then
                $soft & ;
        fi
done

Explication : pour chaque fichier trouvé dans /home/user/Autostart, s'il est exécutable, alors le lancer. Simple non ?

Ce qui chez moi donne :

#!/bin/sh

sudo /usr/bin/sessreg -d -l :0.0 -u /var/run/utmp user
xhost + si:localuser:root # Allow local user root only to access the diplay

if ! [ -f /home/user/.firstrundone ]; then
	sudo /usr/bin/sessreg -a -l :0.0 -u /var/run/utmp user 
	sudo /usr/bin/firstrunwizard
	if [ $? -eq 0 ]; then
		touch /home/user/.firstrundone
	else
		sudo /bin/kill -USR2 1
	fi	 
elif [ -f /tmp/kdesession -a ! -f /home/user/.easysession ]; then
	sudo /usr/bin/sessreg -a -l :0.0 -u /var/run/utmp user 
	if [ ! -d /home/user/Desktop ]; then
	    if [ -d /home/.Desktop ]; then
		mv /home/user/.Desktop /home/user/Desktop
	    fi
	fi
	[ -f /usr/bin/dispwatch ] && /usr/bin/dispwatch &
	for i in /sys/block/s[dr]?/uevent ; do
		 sudo /bin/sh -c "echo add > $i"
	done
	sudo rm -f /tmp/kdesession /tmp/nologin
	exec startkde
else
	sudo /usr/bin/sessreg -a -l :0.0 -u /var/run/utmp user 
	if [ -d /home/user/Desktop ]; then
	    if [ -d /home/user/.Desktop.bak ]; then
		rm -rf /home/user/.Desktop.bak
	    fi
	    if [ -d /home/user/.Desktop ]; then
		mv /home/user/.Desktop /home/user/.Desktop.bak
	    fi
	    mv /home/user/Desktop /home/user/.Desktop
	fi
	if [ -f /home/user/.easysession ]; then
	 # we are switching from full to easy mode
	 for i in /sys/block/s[dr]?/uevent ; do
		 sudo /bin/sh -c "echo add > $i"
	 done
	fi	
	/opt/xandros/bin/AsusLauncher &
	icewmtray &
	[ -n "$XIM_PROGRAM" ] && $XIM_PROGRAM &
	powermonitor &
	minimixer &
	#eeeweather -g -f SAEZ &
	networkmonitor ath0 eth0 &
	wapmonitor &
	(sleep 3; exec /usr/bin/keyboardstatus) &
	(sleep 8; exec /opt/xandros/bin/start_netserv) &
	(sleep 16; exec /usr/local/bin/asusosd) &
	for soft in /home/user/Autostart/* ; do
		if [ -x $soft ]; then
			$soft & ;
		fi
	done
	sudo rm /tmp/nologin
	[ -f /usr/bin/dispwatch ] && /usr/bin/dispwatch &
	exec icewm
fi

(voir vers la fin du fichier).

Note 1 : votre fichier peut différer de l'exemple ci-dessus ; le mien a été pas mal modifié par TweakEEE notamment.

Note 2 : toujours faire un copie de sauvegarde de ce fichier avant de le modifier. En cas de problème, cela permettra de revenir en arrière facilement, par exemple en utilisant le mode sans échec.

Note 3 : notez les 3 mot-clefs exec que j'ai ajoutés, par exemple sur la ligne :(sleep 3; exec /usr/bin/keyboardstatus) & Cela permet d'économiser de la mémoire (environ 1Mo en tout). En effet, les commandes entre parenthèses démarrent un sous-shell (subshell). Ici le but est d'attendre quelques secondes avant de lancer un logiciel. Le subshell ne se terminera (et donc ne libérera sa mémoire) que lorsque le logiciel sera fermé (ce qui ici n'arrivera qu'à l'extinction de l'EeePC). Utiliser exec permet au logiciel lancé de remplacer en mémoire le subshell, ce qui libère mécaniquement la mémoire qu'il utilisait.

Ajout d'un logiciel à démarrer automatiquement

Pour démarrer un logiciel automatiquement lors du démarrage de votre EeePC, il va maintenant suffire de créer un lien depuis le répertoire Autostart vers l'exécutable du logiciel. Vous pouvez également copier un exécutable dans ce répertoire, ou y créer un script (Shell, Perl ou autre) et le rendre exécutable.

Création d'un lien

En mode graphique

Lancez le gestionnaire de fichiers (onglet travailler). Sélectionnez le répertoire Autostart, puis cliquez sur Fichier / Créer un lien symbolique...

Cliquez sur [Parcourir...], puis sélectionnez "Mon EeePC" et "Tous les systèmes de fichiers" (double cliquez sur ce dernier) :

Déplacez-vous dans les répertoires ("/" puis "usr" puis "bin" dans notre exemple) et localisez l'exécutable voulu (truc : cliquez sur un fichier quelconque du répertoire, puis tapez les premières lettres du nom du fichier recherché, afin de le trouver plus vite) :

Après avoir localisé le fichier, cliquez dessus puis sur [OK].

Note : les fichiers exécutables ont en général pour icone un engrenage bleu.

Enfin cliquez sur [OK] et c'est fini !

En ligne de commande

Vous devez d'abord trouver l'exécutable à lancer. En général, les exécutables sont dans /bin ou /usr/bin, mais il y en a aussi dans /opt. Nous allons utiliser la commande which afin de localiser les exécutables :

/home/user/.tweakeee/initial.backup> which firefox
/usr/bin/firefox
/home/user/.tweakeee/initial.backup> which pidgin
/usr/bin/pidgin

Ensuite, rendez vous dans le répertoire Autostart, et utilisez la commande ln afin de créer le lien :

/home/user> cd Autostart
/home/user/Autostart> ln -s /usr/bin/pidgin .
/home/user/Autostart> ln -s /usr/bin/skype .
/home/user/Autostart> ls -l
total 0
lrwxrwxrwx 1 user user 15 2008-06-14 16:10 pidgin -> /usr/bin/pidgin
lrwxrwxrwx 1 user user 14 2008-06-14 08:06 skype -> /usr/bin/skype

C'est tout ! Au prochain démarrage, Pidgin et Skype se lanceront automatiquement.

Vous pourrez par la suite ajouter dans Autostart autant de liens ou de scripts que vous le voulez.

Création d'un script

Le but de cet article n'étant pas d'expliquer la création de scripts Shell, Perl ou autres, je vais simplement donner un exemple de script que vous pouvez utiliser si vous désirez lancer un logiciel (ici Pidgin) après une certaine attente (afin par exemple d'attendre que la connection internet s'établisse).

Si vous désirez créer un script plus compliqué, je vous renvoie aux articles Shell, Perl ou Python, et je vous propose de lire les nombreux exemples que vous pouvez trouver sur le disque dur de l'EeePC.

Nous allons créer un fichier texte dans Autostart, et le nommer pidgin.sh. Voici son contenu, je pense qu'il parle de lui même :

#!/bin/sh
sleep 12
/usr/bin/pidgin

Ensuite, rendez ce fichier exécutable par la commande chmod +x pidgin.sh, ou dans le gestionnaire de fichiers : clic droit / propriétés / onglet "droits d'accès" puis activez les checkboxes "exécution" ; cliquez sur [OK].

Copyright

Copyright © 6/2008, Jean-Christophe Cardot

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 4.0 :
https://creativecommons.org/licenses/by-sa/4.0/

Retour à la page EeePC