Georges Lours wrote:
Bonjour,

Je rappelle ici une question posée sur la liste débutant
C'est un peu long... Mais je récapitule tout ce qui a déjà été fait.

Je viens de me rendre compte qu'il y a une différence selon qu'on lance une application à partir de l'environnement graphique kde (par exemple en cliquant sur une icône) et lorsqu'on la lance à partir d'une console.

Je m'explique
Dans le centre de configuration KDE, j'ai personnalisé les couleurs de mes fenêtres d'application (il semblerait que Christophe Gaubert n'ait pas les mêmes gouts que moi :), mais bref !
Au départ, ces personnalisations ne concernaient que les applications KDE
Depuis quelques temps (sans doute depuis que j'ai mis KDE à jour) je me suis aperçu que firefox était parfois concerné également : quelquefois, il s'ouvre avec les couleurs standards et quelquefois, il s'ouvre avec mes couleurs personnalisées. Aujourd'hui, je m'aperçois que si je lance firefox à partir de kde, soit en cliquant sur une icône, soit en utilisant l'applet "lancer une commande", firefox est lancé avec les couleurs standards. Par contre, si je lance firefox dans une console, il s'ouvre avec mes couleurs perso ! Pareil (couleurs perso) si je lance firefox à partir de la ligne de commande obtenue par Att+F1

Mieux...
J'ai personnalisé quelques touches de mon clavier à partir de l'utilitaire xbindkeys qui me permet donc d'utiliser les touches multimedia de mon clavier : - si je lance xbindkeyx à partir de KDE et, notamment, en utilisant le dossier ~/.kde/autostart, quand j'appuie sur la touche correspondant à firefox, il s'ouvre avec les couleurs standards. - si je lance xbindkeys à partir de la ligne de commande, quand j'appuie sur la touche correspondant à firefox, il s'ouvre avec mes couleurs perso !!!

Alors ma question :
J'aimerais bien que firefox se lance toujours avec mes couleurs perso quand j'appuie sur la touche du clavier correspondant au navigateur. J'aimerais bien AUSSI que xbindkeys soit lancé automatiquement. Comment faire ? En fait, ce qui me faudrait, c'est une astuce pour lancer xbindkeys en ligne de commande, sans passer par l'environnement KDE

J'ai songé à cron, mais ça ne marche pas (je ne dois pas savoir m'en servir) Hier matin, j'ai demandé à cron de lancer
/usr/bin/xbindkeys
à 10h00
Dans /var/log/cron, j'ai eu cette ligne qui s'est rajoutée
Jan 16 10:00:01 bureau crond[3987]: (user) CMD (/usr/bin/xbindkeys)
Mais cela n'a pas lancé xbindkeys (je ne l'avais pas dans la liste des processus de kpm ! En outre, ça ne répondrait pas complètement à mon problème car ça lancerait xbindkeys à une heure donnée et, non tout de suite après l'ouverture de KDE (qui peut intervenir à n'importe quelle heure de la journée). Mais si j'arrivais à faire fonctionner cron, ça résoudrait quand même une part du problème, puisque, quand même, c'est souvent le matin que j'allume mon ordi.

L'idéal serait de trouver une astuce qui permette de lancer xbindkeys au démarrage, comme si on utilisais l'autostart de kde, mais sans utiliser l'autostart de kde :))

Ce qui a déjà été tenté sur débutant
L'icone de kde qui pointe sur firefox pointe sur /opt/firefox/firefox installé à partir du dossier qui est fourni sur http://frenchmozilla.sourceforge.net/
Je n'ai pas installé firefox dans /usr/bin

J'ai tenté une ligne de commande dans /etc/rc.local et ça ne marche pas : /usr/bin/xbindkeys n'est pas lancé
Normal, puisque, Christophe Gaubert m'a appris
«Also, xbindkeys needs to be running in the background to work, so you
will want to make sure it runs when X starts. The best way to do this,
as long as you're logging in via KDM or GDM, is to put xbindkeys in
your ~/.bashrc file.»

Alors j'ai tenté de rajouter /usr/bin/xbindkeys dans ~/.bashrc
Là, j'ai bien cru que c'était bon, mais non !
si je mets /usr/bin/xbindkeys dans .bashrc et si je lance une console, et bien ça semble bon parce que j'ai bien firefox qui est lancé avec mes couleurs persos :)
Mais, 2 problèmes :

- au démarrage suivant, xbindkeys est bien lancé, mais pas dans les conditions qui font que firefox s'ouvre avec mes couleurs. Je me suis dit qu'il fallait peut-être que la commande soit lancée après ouverture complète de kde et j'ai mis "sleep 60" avant "/usr/bin/xbindkeys", puis je ferme ma session et aussitôt en ouvre une autre. Alors, j'ai un écran noir qui dure 60 secondes (j'ai pas mesuré, mais c'est logique) et kde qui démarre après !

- Le second serait facilement surmontable (avec votre aide) : xbindkeys est lancé à chaque fois que j'ouvre une console et, tout à l'heure par exemple, j'avais 3 xbindkeys qui tournaient en même temps. Il suffirait d'un petit script qui vérifie que xbindkeys n'est pas lancé.

Merci pour vos idées...

Cordialement,

Je crois que tu aurais plus de chance si tu résumais ton problème. Pour les couleurs; il y a une option dans lse "KDE Control Center" "Appearance & Theme -> Colors -> apply colors to non KDE applications" (il modifie les resources X ainsi que peut-être gtkrc). Cela peut peut-être t'aider.

Pour xbindkey; je n'ai pas ce programme installé et je me perds un peu dans tes explications. Pour lancer xbinkey; si c'est un programme X il faut que la variable d'environement DISPLAY ainsi que XAUTHORITY soient correctement réglée (Typiquement DISPLAY doit être :0.0 et XAUTHORITY est <home de l'utilisateur qui utilise X>/.Xauthority (ce fichier est le fichier d'autorisation qui permet de se connecter à X); ce qui explique que ça ne marche pas avec cron car il lance xbindkey avec un environnement où ces variables ne sont pas mises. Il est difficille de résoudre ce probleème car il est difficille de savoir qui a lancé X.

Si tu veux un script qui lance xbindkey uniquement si celui-ci n'est pas déjà lancé; voici:

#! /bin/sh
if ! pgrep -x xbindkeys &> /dev/null ;  then
    xbindkeys
fi

tu peux utiliser ps pour voir quelles processus tournent. As-tu convenablement lancer xbindkeys à partir de ~/.kde/Autostart (tu dois mettre un lien symbolique dans ce dossier; je crois):

cd ~/.kde/Autostart
ln -s /usr/bin/xbinkeys xbindkeys

Olive

____________________________________________________
Want to buy your Pack or Services from Mandriva? 
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________

Répondre à