Retourner aux forums || Retourner au forum general.general

general.general : ssh, vim , less et les autres

Posté par Djax () le 30 septembre 2004
0
bon(jour|soir),

Lorsque que je me connecte à une machine fedora core 1 depuis gentoo avec ssh, je peux taper dans le shell sur les touches éàè et ça m'affiche éàè, mais si j'ouvre vim, les touches propres au français, ne marchent pas ou donne des 'ç'.
'man','less' et 'mc' ne s'affichent pas correctement.

Sur la FC1:
echo $LANG
fr_CH.UTF-8

echo $LANGVAR
fr_CH.UTF-8

Sous ma Gentoo, $LANG et $LANGVAR ne sont pas défini, mais le clavier marche avec les accents. Dans mon /etc/X11/xorg.conf, il y a:
Option "XkbLayout" "fr_CH"


Si je me connecte à un machine debian avec $LANG=C, je ne peux pas taper des caractères accentués dans le shell, mais je le peux dans vim.

Sous Windows avec Putty, il me semble qu'on peut modifier le charset, peut-on faire la même chose avec konsole?

> Lire le message (6 commentaires, moyenne: 1,8).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

LC_ALL ?

Posté par bmc () le 30/09/2004 à 11:52. (lien). Évalué à 1.

Pour ma part, il me semble que je me contente de la variable d'environnement LC_ALL.
Ton problème peut venir des polices utilisées... jette un oeil de ce côté là.

variables

Posté par gc (page perso, ) le 30/09/2004 à 12:37. (lien). Évalué à 3.

LANGVAR n'est pas standard. LANG est utilisé mais seulement si LC_ALL n'est pas là et le LC_.. demandé non plus (le .. dépend de ce qu'on cherche : dans ton cas c'est LC_CTYPE qui détermine le codage à utiliser).

fais "locale" pour voir LANG et tous les LC_* et LC_ALL (LC_ALL a la précédence sur eux quand il est défini). il faut rajouter LANGUAGE qui a la précédence (il me semble) sur LC_MESSAGES et permet de spécifier une liste au lieu d'une seule valeur (mais c'est une extension, GNU je pense).

  • [^]Re: variables

    Posté par Djax () le 30/09/2004 à 13:44. (lien). Évalué à 1.

    Mon gentoo resemble à ça:
    LANG=
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MONETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHONE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=

    le pc FC1 ressemble à ça:
    LANG=fr_CH.UTF-8
    LC_CTYPE="fr_CH.UTF-8"
    LC_NUMERIC="fr_CH.UTF-8"
    LC_TIME="fr_CH.UTF-8"
    LC_COLLATE="fr_CH.UTF-8"
    LC_MONETARY="fr_CH.UTF-8"
    LC_MESSAGES="fr_CH.UTF-8"
    LC_PAPER="fr_CH.UTF-8"
    LC_NAME="fr_CH.UTF-8"
    LC_ADDRESS="fr_CH.UTF-8"
    LC_TELEPHONE="fr_CH.UTF-8"
    LC_MEASUREMENT="fr_CH.UTF-8"
    LC_IDENTIFICATION="fr_CH.UTF-8"
    LC_ALL=

    le pc debian

    LANG=C
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_PAPER="C"
    LC_NAME="C"
    LC_ADDRESS="C"
    LC_TELEPHONE="C"
    LC_MEASUREMENT="C"
    LC_IDENTIFICATION="C"
    LC_ALL=

    en faisant export LC_ALL="POSIX", sur la machine FC1, j'arrive à écrire. Mais man coince en disant:
    iconv: illegal input sequence at position 135

    Comment fait-on pour installer le fr_CH.utf8 sur gentoo (Je pourrais copier ce qu'il y a sur FC1, mais je ne trouve pas ça très propre, en plus ce n'est pas reproductible si on a pas de FC sous la main, à moins qu'il n'ait que FC qui utilse ça *.utf8 )?
    Sur FC1, locate fr_CH.utf8 donne:
    /usr/lib/locale/fr_CH.utf8
    /usr/lib/locale/fr_CH.utf8/LC_MESSAGES
    /usr/lib/locale/fr_CH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
    /usr/lib/locale/fr_CH.utf8/LC_TIME
    /usr/lib/locale/fr_CH.utf8/LC_IDENTIFICATION
    /usr/lib/locale/fr_CH.utf8/LC_TELEPHONE
    /usr/lib/locale/fr_CH.utf8/LC_MONETARY
    /usr/lib/locale/fr_CH.utf8/LC_CTYPE
    /usr/lib/locale/fr_CH.utf8/LC_NUMERIC
    /usr/lib/locale/fr_CH.utf8/LC_NAME
    /usr/lib/locale/fr_CH.utf8/LC_ADDRESS
    /usr/lib/locale/fr_CH.utf8/LC_PAPER
    /usr/lib/locale/fr_CH.utf8/LC_MEASUREMENT
    /usr/lib/locale/fr_CH.utf8/LC_COLLATE

    alors que sous ma gentoo rien.

    • [^]Re: variables

      Posté par daggett () le 30/09/2004 à 14:02. (lien). Évalué à 3.

      Bon, tes deux systèmes n'utilisent pas le même codage de caractère (utf-8 unicode pour fedora, et probablement iso-8859-1 pour gentoo) donc il est possible que la sortie de l'un soit mal interpreté par l'autre (un peu comme les pages webs en chinois qui ne spécifient pas le charset, ton browser occidental par défaut te crache des accents tordus à la place)

      Pour rappelle, UTF8 encode les caractères qui sortent de l'ASCII-7 avec plusieurs octets, d'où les 2 caractères ç à la place du é.

      Je ne sais pas vraiment pourquoi dans un shell c'est converti proprement, et pas dans vim...

      je ne pense pas qu'"installer des locales" sous gentoo regle le problème (à moins que ssh, du coup, fournisse un tty virtuel bien localisé).

      Personnellement, pour me connecter d'une machine tout en UTF-8 vers une machine tout en iso-8859, j'utilise "luit" qui sert à traduire ce qui transite d'un encodage vers l'autre, donc sans avoir à toucher à la config ou aux locales:

      [machine en UTF-8]$ LC_ALL=fr_FR luit ssh machine-en-iso-8859

      peut-être que "luit" peut aussi traduire dans l'autre sens ? (je ne peux pas tester là)

      • [^]Re: variables

        Posté par daggett () le 30/09/2004 à 14:10. (lien). Évalué à 2.

        Tu peux aussi essayer de lancer un xterm, sous la gentoo, en utf8, et de là lancer ton ssh... comme ça les deux bouts se parleront dans la même langue. Dans ce cas il te faut les locales utf8, effectivement:

        $ LC_ALL=fr_CH.UTF-8 xterm -u8

      • [^]Re: variables

        Posté par Ernest H (Jabber id, ) le 04/10/2004 à 12:28. (lien). Évalué à 1.

        Il est peut etre dit dans un vimrc que l'encodage est utf-8 (ou comme c'est l'encodage par défaut, c'est un comportement sain).
        Pour changer l'encodage a la volee dans vim, faire ":set encoding=iso-8859-1" et ca devrait marcher. Apres, il faut regler le probleme du mais dans quel codage vais-je donc sauver mes fichiers pour que tout ne soit pas completement incoherent apres mon passage.

        --
        Et vive l'utf-32
        Et vive la mondialisation

Revenir en haut de page || Retourner aux forums || Retourner au forum general.general