#1 Le 14/01/2006, à 02:00
- Skippy le Grand Gourou
[Résolu] Variables d'environnement (anciennement script et raccourcis)
Salut,
EDIT : Modification du titre suite à un changement de but : cf. post #6
Je vais essayer d'être bref : J'ai Firefox 1.5 et Thunderbird 1.5. J'utilise également SCIM pour causer en chinois. Le hic, c'est que les deux premiers ne sont pas compatibles avec SCIM : celui-ci présente un bug qui fait qu'en gros, c'est le premier lancé qui gagne (le suivant ne démarre pas). Or je dois utiliser thunderbird 1.5, donc tant qu'à faire puisque j'aurai des problèmes à ce niveau là autant utiliser aussi firefox...
Ce que je voudrais faire : un script qui me permettrait de lancer SCIM quand je veux, qui fermerait alors thunderbird et firefox si ils sont ouverts (ou au pire qui afficherait un message comme quoi il peut pas se lancer parse qu'ils sont ouverts) et qui remplacerait les cibles des lanceurs et raccourcis de ff et tb. Ensuite quand je fermerais SCIM, tout redeviendrait comme avant (parce que c'était mieux aaaaaaavant... ).
Je rêve ou c'est possible ?
Pour le coup des lanceurs et des raccourcis je verrais bien genre une variable d'environnement définie par le script, et juste un if/else dans la cible des lanceurs, mais je sais pas si c'est faisable (et comment on fait if/else en commande linux)... Pour vérifier s'ils sont ouverts, je pense que ça doit pas être bien compliqué non plus, par contre pour les fermer je sais pas si un kill c'est très propre, et de toute façon comment on chope le numéro du processus avec un script ?
Voilà, j'attends vos idées avec impatience.
Merci.
Dernière modification par Skippy le Grand Gourou (Le 14/01/2006, à 22:09)
Hors ligne
#2 Le 14/01/2006, à 02:13
- nikko
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
Bonsoir,
il est tard alors tu m'excuseras de te renvoyer sur une doc:
http://abs.traduc.org/abs-3.7-fr/
Bonne lecture.
Nikko
Hors ligne
#3 Le 14/01/2006, à 02:22
- Skippy le Grand Gourou
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
Merci, ça m'a l'air très complet. Mais avant de me plonger là-dedans, j'aimerais être sûr que c'est faisable... (Pas obligé de répondre ce soir... )
Hors ligne
#4 Le 14/01/2006, à 02:54
- nikko
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
Si j'ai bien compris,
quand tu lances scim:
--vérifier si ff ou tb tourne
--"sauvegarder" leur état
--démarrer scim
--> script fireScim.sh
quand tu arrêtes scim:
--relancer ff et/ou tb
Tu ne pourras pas faire cette action automatiquement en fermant l'appli, il te faudra faire un script qui l'arrête et qui lances ff / tb.
pour trouver le pid d'un process:
ps -ef |grep firefox
mais il doit y avoir des exemples partout
kill n'est pas méchant en soi, c'est juste une façon d'envoyer des signaux à un processus, signaux qui peuvent être plus ou moins brutaux.
kill -9 par exemple oblige le prog à s'arrêter dans l'instant.
kill -15 lui demande de s'arrêter, mais les développeurs ont toutes latitudes pour terminer proprement le prog.
si j'ai compris correctement, ca doit être faisable.
nb: si tu veux arrêter/redémarrer firefox régulièrement, tu serais peut-être intéressé par l'extension: session saver
Hors ligne
#5 Le 14/01/2006, à 17:50
- Skippy le Grand Gourou
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
C'est exactement ça.
Ok, je vais m'y mettre petit à petit, parce qu'y faut que je révise, aussi...
Pou l'instant, j'ai un petit problème au niveaux des raccourcis. J'ai fait un petit script :
#!/bin/bash
if [ $TRUC ]
then /usr/lib/mozilla-firefox/firefox #1.0.7
else /usr/bin/firefox #1.5
fi
exit
Ca marche très bien quand je l'exécute depuis un terminal, peu importe le répertoire où je fais le test. Par contre, j'ai mis le chemin de ce script comme commande dans le raccourci du tableau de bord de Firefox, mais là ça me lance toujours le 1.5...
C'est quoi le problème ?
Merci.
EDIT : En exportant TRUC depuis le fichier, ça marche. Une histoire d'environnement, donc...
Dernière modification par Skippy le Grand Gourou (Le 14/01/2006, à 18:42)
Hors ligne
#6 Le 14/01/2006, à 20:58
- Skippy le Grand Gourou
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
Bon, en fait je vais pas avoir à me prendre la tête avec ça, puisque que ce n'est en tout et pour tout qu'un problème de variable d'environnement. Je m'explique : pour lancer SCIM, j'ai un fichier .xsession du type :
scim -d
export XMODIFIERS=@im=scim
export GTK_IM_MODULE=scim
gnome-session
Si je mets en commentaire la 3e ligne, je n'ai plus de problème avec Firefox ou Thunderbird, et SCIM est quand même lancé. Le seul truc c'est que SCIM n'est plus "actif" par défaut (je sais pas trop comment le dire, enfin il faut faire clic droit > Méthodes de saisies > SCIM Input Method avant de pouvoir faire ctrl+space (enfin avant que ça serve à quelque chose... ;-D )). Et bien sûr que je ne peux pas écrire en chinois dans FF ou TB, mais ça...
Et exporter manuellement GTK_machin ne change rien.
Ma question se résume donc à : comment exporter GTK_truc dès le démarrage sans qu'elle soit vue par FF & TB ?
Merci.
Hors ligne
#7 Le 14/01/2006, à 21:42
- nikko
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
Salut,
Tu peux garder ton .xsession et créer un script qui lance ff ou tb en exportant GTK_IM_MODULE à vide avant. Ça peut marcher, non?
export GTK_IM_MODULE=''
firefox
Hors ligne
#8 Le 14/01/2006, à 22:08
- Skippy le Grand Gourou
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
MOUHAHAHAAAA !!!!
Ca marche !:cool:
Je remplace les raccourcis vers FF et TB par des raccourcis vers des petits scripts .ff-1.5 et .tb-1.5 qui contiennent simplement :
#!/bin/sh
export GTK_IM_MODULE=
firefox & [ou thunderbird %s &]
et ça fonctionne farpaitement !
(ne pas oublier de changer les droits d'exécution des fichiers : clic droit > Permissions)
J'ai juste pas trop compris à quoi servait le %s, et pourquoi firefox il en veut pas dans mon script (il le prend comme un argument, une page web...), mais ça m'empêchera pas de dormir !
Avec toutes mes galères, va falloir que je fasse un tuto moi...
Encore merci.
Dernière modification par Skippy le Grand Gourou (Le 14/01/2006, à 22:08)
Hors ligne
#9 Le 15/01/2006, à 00:26
- nikko
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
J'allais te dire de regarder le guide sur la prog bash pour voir comment propager les arguments, et de prendre exemple sur /usr/lib/mozilla-firefox/firefox.
Et voici un truc encore plus simple. Mais qui sera perdu à la prochaine install/maj de firefox.
Tu édites /usr/lib/mozilla-firefox/firefox pour lui ajouter export GTK_IM_MODULE= en début de fichier. Ben oui, c'est déjà un script bash, pas la peine d'en créer un autre .
En plus tu pourras lui passer des urls...
Hors ligne
#10 Le 15/01/2006, à 00:34
- Skippy le Grand Gourou
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
Ben oui, bien vu !
Hors ligne
#11 Le 15/01/2006, à 00:59
- Skippy le Grand Gourou
Re : [Résolu] Variables d'environnement (anciennement script et raccourcis)
Attention quand même, ce n'est pas les fichiers thunderbird et firefox qu'il faut modifier (enfin ça marche peut-être aussi, mais ça m'a paru plus logique de faire comme ça), mais le fichier run-mozilla.sh situé dans leurs répertoires respectifs : il suffit effectivement de rajouter la ligne
export GTK_IM_MODULE=
juste après
# ***** END LICENSE BLOCK *****
Hors ligne