OVH Cloud OVH Cloud

Appel à un script (dans .bash_profile) qui ne se lance pas

18 réponses
Avatar
Olivier V
Bonjour,

J'ai un script nommé "clavier_perso" qui contient :
#!/bin/bash
xkbcomp ~/.xkb/frperso.xkb "$DISPLAY"

Il est exécutable, je peux le lancer dans un shell, il n'y a pas de
problèmes de droit, et il finit bien sur une ligne vide.

Jusque là, j'ai toujours fait appel à lui dans mon $HOME/.bash_profile.

Mais depuis mon passage à Kubuntu 8.04, il ne se lance plus, alors que son
appel est toujours dans mon .bash_profile ... sous Kubuntu 7.10, il se
lançait avec la même commande !

Je suis obligé de le lancer à la main dans un shell ou en cliquant sur une
icône de raccourci.

Des idées pour résoudre ce problème bizarre ?

Merci.

Olivier V

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Mon .bash_profile

# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi

PATH=/usr/local/texlive/bin/i386-linux:$HOME/bin:$HOME/bin/binperso
$HOME/bin/convertisseurs:$HOME/bin/convertisseurs/recupere
$HOME/bin/latex:"${PATH}"
PATH=$HOME/bin/portable:"${PATH}"
export PATH

#Montage en "user" pour unison-gtk_mount
mount /media/wind

# Autoriser kdeinit en root
xhost + local:root

# clavier_perso
clavier_perso

8 réponses

1 2
Avatar
Olivier V
Pour "comment se connecte-il ?",
je précise que je suis Kubuntu 8.04 (donc kde) ...
Je n'en sais pas vraiment plus sur le fonctionnement interne ...

Pour le test que vous me suggérez, je le fais dès que j'ai la machine qui
pose problème sous la main ...

Olivier V
Avatar
Olivier V
Dominique MICOLLET a écrit :

Première chose à faire :
- insérer dans .bash_profile la ligne
echo "Je passe par .bash_profile" > /tmp/trace
- insérer dans votre shell
echo "Je passe par clavier_perso" >> /tmp/trace

(Noter le >> si vous n'êtes pas familier des redirections).



Dans mon /tmp/trace, j'ai les deux lignes :
Je passe par .bash_profile
Je passe par clavier_perso

et pourtant ça fonctionne pas.

Si je lance ensuite "clavier_perso" à la main, j'ai :
Je passe par .bash_profile
Je passe par clavier_perso
Je passe par clavier_perso

Et ça fonctionne ... Incompréhensible !

J'ai juste une idée (sans solution ...) : les paramètres claviers de
l'utilisateur sont peut-être chargés après le .bash_profile, ce qui aurait
pour effet d'écraser mes modifications ... ?

Olivier V
Avatar
Dominique MICOLLET
Lucas Levrel wrote:


À Dominique : si on met echo "truc" tout seul (sans redirection), la
sortie n'est-elle pas dirigée dans .xsession-errors ?



Voilà une question à laquelle je suis bien incapable de répondre.....

--
Dominique MICOLLET
Adresse email : enlever deux francs
Avatar
Cumbalero
Olivier V a écrit :

Dans mon /tmp/trace, j'ai les deux lignes :
Je passe par .bash_profile
Je passe par clavier_perso




ajoute aussi un env >> /tmp/trace dans ton script et compare avec un env
tapé en ligne de commande, ça te permettra de vérifier que toutes t es
variables d'environnement sont OK, et peut-être pointer le problème.

A+
JF
Avatar
Lucas Levrel
Le 14 mars 2009, Olivier V a écrit :

Si je lance ensuite "clavier_perso" à la main, j'ai :
Je passe par .bash_profile
Je passe par clavier_perso
Je passe par clavier_perso



Deux fois ???

J'ai juste une idée (sans solution ...) : les paramètres claviers de
l'utilisateur sont peut-être chargés après le .bash_profile, ce qui aurait
pour effet d'écraser mes modifications ... ?



Et si tu postais clavier_perso ?

--
LL
Avatar
Lucas Levrel
> > si on met echo "truc" tout seul (sans redirection), la
> sortie n'est-elle pas dirigée dans .xsession-errors ?



J'ai testé et la réponse est oui : echo 'test' dans mon .profile écrit
test dans .xsession-errors .

--
LL
Avatar
Olivier V
Lucas Levrel a écrit :

Le 14 mars 2009, Olivier V a écrit :

Si je lance ensuite "clavier_perso" à la main, j'ai :
Je passe par .bash_profile
Je passe par clavier_perso
Je passe par clavier_perso



Deux fois ???



Oui, et c'est normal, j'ai bien précisé que je n'ai que deux lignes :
Je passe par .bash_profile
Je passe par clavier_perso

PUIS si je relance clavier_perso à la main, j'en ai 3 :
Je passe par .bash_profile
Je passe par clavier_perso
Je passe par clavier_perso

Et si tu postais clavier_perso ?



Il était dans le premier message, mais le revoilà :

#!/bin/bash
xkbcomp ~/.xkb/frperso.xkb "$DISPLAY"

et frperso.xkb :

// Fichier de base généré par : setxkbmap -print
// charger le nouveau fichier par : xkbcomp frperso.xkb "$DISPLAY"
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(azerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols "perso" {
include "pc(pc105)+fr+compose(rwin)"
key <KPMU> {
type= "CTRL+ALT",
symbols[Group1]= [ multiply, XF86_ClearGrab ]
};
key <KPDL> { [ comma, comma, comma,
comma ] };
};
xkb_geometry { include "pc(pc105)" };
};

Olivier V
Avatar
Lucas Levrel
Le 16 mars 2009, Olivier V a écrit :

Oui, et c'est normal, j'ai bien précisé que je n'ai que deux lignes :
PUIS si je relance clavier_perso à la main, j'en ai 3 :



> Et si tu postais clavier_perso ?

Il était dans le premier message, mais le revoilà :



Désolé, je n'étais pas bien réveillé !

Ceci dit, en relisant les messages il y a un non-dit : le contenu de
/tmp/trace que tu donnes, l'as-tu obtenu en tapant . .bash_profile, ou
juste après t'être connecté ? (Sinon, efface-le avant de te
reconnecter.)

Pour tester ton idée d'écrasement, essaye de te connecter en failsafe.
Autre test : mets clavier_perso dans .bashrc *le temps du test*
(j'expliquai dans un autre message pourquoi il vaut mieux ne pas le mettre
là, mais c'est juste le temps du test).

--
LL
1 2