[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: konsole: mauvais fonctionnement de certaines touches ( Home , End )



Patrick Carabin <Patrick.Carabin-spam@pro.tiscali.be> - Thu, Aug 05, 2004:

>                   Je ne sais pas si le « SHELLOPTS » est correct 
> il y a là un mot qui m'inquiète : «emacs»

   C'est le mode de saisie de commandes, lorsque tu tapes une commade,
 tu peux être dans un mode d'édition de la ligne (ou des lignes) qui
 _ressemble_ à emacs, certains shell propose des modes vi.

>             Peut-être devrais-je changer la valeur de «SHELLOPTS» 
> pour que ça fonctionne de façon normale ? Qu'as-tu?

   Les paramètres shell sont beaucoup plus riches que les options que tu
 vois dans SHELLOPTS, par exemple on peut dire au shell de faire
 certaines actions lorsqu'on presse certaines touches.

   Je n'utilise normalement pas bash, mais voici les options SHELLOPTS
 que j'ai par défaut :
    SHELLOPTS=braceexpand:emacs:hashall:histexpand:history: \
        interactive-comments:monitor

> Personnellement, je ne pense pas avoir modifié qqch, mais il y a 
> des programmes qui modifient les fichiers sans prévenir 
> l'utilisateur...

   As-tu des fichiers de configuration bash dans ton home ? As tu
 modifié les fichiers de configuration bash dans /etc ?

   Chez moi, bash dans xterm fonctionne normalement.

> Le mainteneur de konsole ( contacté en premier ), m'a répondu que 
> c'était un problème termcap/terminfo [?] et qu'il fallait 
> contacter Debian...:

   Oui, j'ai lu sa réponse la première fois. Je ne suis pas sûr du tout
 que ce soit le cas, puisque tu utilise TERM=xterm dans un xterm et que
 ça ne fonctionne pas alors que chez moi ça fonctionne.

> Après installation de xterm, j'ai tapé « xterm » et l'écran dans 
> lequel je me retrouve fonctionne comme konsole ( Home et End ne 
> fonctionnent pas, l'écran explose en rouge... )

   Tu constates par toi-même que le problème dépasse konsole/xterm,
 c'est un problème de ton shell.

   Si tu souhaites continuer les investigations, essaie avec un autre
 shell (par exemple tcsh, csh, ksh, ou zsh).


   Pour info, la valeur de TERM est ajustée par le terminal X que tu
 utilises pour refléter le type de terminal qu'il émule aux yeux des
 applications qui fonctionnent dedans (par débaut bash).
   Lorsque tu presses la touche "Home" sous X sur un xterm, c'est xterm
 qui comprend que la touche X Home a été pressée et décide de simuler un
 événement au niveau du terminal qu'il émule, il peut par exemple
 décider d'envoyer la touche "SuperToucheDeLaMort" à bash si le terminal
 utilisé dispose d'une telle touche. En général, les terminaux, et en
 particulier le terminal TERM=xterm, disposent d'une touche Home eux
 aussi.
   Ensuite intervient la base termcap/terminfo (termcap est l'ancien
 nom, et terminfo la nouvelle structure qui remplace termcap) qui
 fournit la séquence d'octets qui sert à interagir avec un terminal :
 pour "Home" dans le terminal "xterm", il faut envoyer les octets 0x1b,
 0x5b, 0x48, c'est à dire les caractère échappement, "[", et "H".
   Ensuite l'application qui reçoit ces caractères va chercher dans la
 base à quoi correspond cette séquence, et interpréter la séquence.
   Si au lieu de bash tu lances "cat", tu verras la séquence à l'écran
 interprétée par cat, qui n'interprète pas Home.

   J'espère que ça t'aidera à comprendre.

-- 
Loïc Minier <lool@dooz.org>



Reply to: