Anthonix.fr – High Tech/Informatique : Tutoriels & actualité, insolite, geek !
31Oct/103

[Astuce] [Linux] Lancer une application dans un espace de travail en console

Nous allons voir comment lancer plusieurs applications au démarrage de session et ranger ces fenêtres dans leurs espace de travail respectifs (espace que nous attribuons...) 🙂

Dans le cadre de cette astuce, nous allons juste placer la messagerie dans l'espace de travail numéro 2 et TweetDeck dans l'espace de travail numéro 3 et le tout au démarrage de session.

Avant toute chose, il faut installer le paquet devilspie qui permet d'interagir avec les bureaux et les fenêtres (sous n'importe quel environnement graphique : gnome, kde, etc...) : apt-get install devilspie

Configuration du script

Maintenant nous allons créer le fichier bash qui se lancera à l'ouverture de session, il contiendra les applications à lancer ainsi que l'appel à devilspie : touch ~/.open_apps.sh

Nous pouvons maintenant l'éditer via l'éditeur de votre choix et le remplir comme ceci :

#!/bin/bash # pour spécifier que l'interpréteur de commande est bash
evolution &
tweetdeck & # c'est un alias...
firefox &
skype &
amsn &
# etc...
devilspie & # permet de lancer l'application permettant faire le tri dans les espaces de travail

Le fichier peut maintenant être enregistré. À savoir que les "&" à la suite des applications permettent de revenir sur le shell sans le bloquer sur le lancement de l'application.

À noter qu'il ne faut pas oublier d'autoriser ce script à l'exécution via la commande chmod 777 ~/.open_apps.sh

Il faut maintenant se rendre dans Système > Préférences > Applications au démarrage et l'ajouter dans les Programmes au démarrage.

Configuration de devilspie

Pour le configurer, vous pouvez utiliser l'interface graphique en utilisant le paquet gdevilspie.

Dans notre cas, nous allons configurer ça manuellement en console.

Pour se faire, il faut créer le dossier ~/.devilspie avec la commande mkdir (pour paramètrer uniquement votre session en cours...) ou dans /etc/devilspie pour que les paramètres s'appliquent à tous les utilisateurs.

À l'intérieur de ce dossier, il suffit de créer des fichiers du style evolution.ds, etc..

Pour déplacer Evolution vers un autre espace de travail (dans notre cas, le numéro 2), il faut ajouter dans le fichier cette règle :

( if
( begin
( is ( application_name ) "evolution" ) ; test sur le nom d'application
)
( begin
( maximize ) ; Maximiser la fenêtre de l'application
( set_workspace 2 ) ; préciser sur quel espace de travail doit être basculer la fenêtre
)
)

Faire de même avec Tweetdeck en remplaçant le test du nom d'application par "tweetdeck" et le numéro de l'espace de travail par 3.

Voilà, dès l'ouverture de session, le script va être exécuté.

Ce script va lancer les diverses applications et devilspie. Ce dernier s'occupera de déplacer et maximiser les fenêtres.

Posted by antho