Caracteres accentues dans Terminal

Le
Emmanuel Da Piedade
Bonjour.

Je viens tout juste de terminer ma première installation de MAC OS X 10.3
sur mon iMac dv400 :-)
Et après avoir un peu utilisé le Terminal, j'ai remarqué que les caracteres
accentués saisis au clavier sont affichés sous leur forme Unicode ( par ex
303251 pour é ) dans un shell bash. Pas très lisible

Y-a-t-il un parametre a modifier pour afficher ces caractères à la saisie?

--
Emmanuel Da Piedade
http://retrocomputing.free.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques Perrocheau
Le #2357801
In article "Emmanuel Da Piedade"
Je viens tout juste de terminer ma première installation de MAC OS X 10.3
sur mon iMac dv400 :-)
Et après avoir un peu utilisé le Terminal, j'ai remarqué que les caracteres
accentués saisis au clavier sont affichés sous leur forme Unicode ( par ex
303251 pour é ) dans un shell bash. Pas très lisible ...

Y-a-t-il un parametre a modifier pour afficher ces caractères à la saisie?



Régler le Terminal pour qu'il affiche en utf-8 et:


-Soit utiliser l'option w de ls, par exemple:

ls -law


-Soit si tu demandes à less d'afficher le résultat par exemple

ls -la | less

et tu peux configurer less pour qu'il affiche correctement les
caractères utf-8. Cela se fait avec la commande lesskey en lui faisant
mouliner un fichier texte qui contient par exemple:

#env
LESS = -E
LESS = -i
LESSCHARSET = utf-8

il va alors générer un fichier de configuration invisible nommé ".less"
dans ton "home".

man lesskey

pour plus de détail.


L'avantage de less, c'est qu'il affiche écran par écran les très long
listing, tu as juste besoin de taper la barre d'espacement pour
continuer.


Bon ce n'est peut-être pas conforme à l'orthodoxie unixienne, je
rappelle que je ne suis qu'un macounet... d'origine. ;-)


Pour rendre l'utilisation plus facile on peut se faire des alias dans
son .bashrc (si tu utilises le shell par défaut de Mac OS X 10.4), par
exemple:

alias ll='ls -lah|less'

ou

alias la='ls -ahw'

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

Vincent Lefevre
Le #2357151
Dans l'article Jacques Perrocheau
In article "Emmanuel Da Piedade"
Je viens tout juste de terminer ma première installation de MAC OS X 10.3
sur mon iMac dv400 :-)
Et après avoir un peu utilisé le Terminal, j'ai remarqué que les caracteres
accentués saisis au clavier sont affichés sous leur forme Unicode ( par ex
303251 pour é ) dans un shell bash. Pas très lisible ...



C'est de l'UTF-8.

Y-a-t-il un parametre a modifier pour afficher ces caractères à la saisie?


Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).

-Soit utiliser l'option w de ls, par exemple:

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.

-Soit si tu demandes à less d'afficher le résultat par exemple

ls -la | less


Oui, le fait d'utiliser un pipe rend l'option -w implicite (en gros).

et tu peux configurer less pour qu'il affiche correctement les
caractères utf-8. Cela se fait avec la commande lesskey en lui faisant
mouliner un fichier texte qui contient par exemple:

#env
LESS = -E
LESS = -i
LESSCHARSET = utf-8

il va alors générer un fichier de configuration invisible nommé ".less"
dans ton "home".

man lesskey

pour plus de détail.



L'avantage de less, c'est qu'il affiche écran par écran les très long
listing, tu as juste besoin de taper la barre d'espacement pour
continuer.


Et surtout, par défaut, il ne va pas interpréter les séquences
d'échappement.

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


jperrocheau
Le #2357101
Vincent Lefevre
Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).


Pour afficher quoi ? la plupart des fichiers "texte" de Mac OS X sont en
UTF-8 non ?

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?

Et où trouve-t-on ce merveilleux ls pour Mac OS X qui supporte l'UTF-8

--
Jacques PERROCHEAU
________________________________________________________________________
e-mail: mailto:


Emmanuel Da Piedade
Le #2411561
Jacques Perrocheau wrote:

(snip)


Bon ce n'est peut-être pas conforme à l'orthodoxie unixienne, je
rappelle que je ne suis qu'un macounet... d'origine. ;-)


Pour rendre l'utilisation plus facile on peut se faire des alias dans
son .bashrc (si tu utilises le shell par défaut de Mac OS X 10.4), par
exemple:

alias ll='ls -lah|less'

ou

alias la='ls -ahw'


Merci pour ces conseils.
Je vais essayer ca de ce pas.

--
Emmanuel Da Piedade
http://retrocomputing.free.fr

Vincent Lefevre
Le #2411541
Dans l'article Jacques Perrocheau
Vincent Lefevre
Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).


Pour afficher quoi ? la plupart des fichiers "texte" de Mac OS X sont en
UTF-8 non ?


Les fichiers texte de *l'utilisateur* (qu'il aurait écrits ou
téléchargés) peuvent être en ISO-8859-1/15. ISO-8859-* sont encore
très utilisés, surtout que certains logiciels traditionnels n'ont
toujours pas une bonne compatibilité UTF-8 (et d'ailleurs Mac OS X
est buggé sur wcwidth, e.g. wcwidth(0x0301) = 1 au lieu de 0, ce
qui peut poser des problèmes avec l'affichage des caractères
accentués en UTF-8/NFD -- ce qui est d'autant plus important
que Mac OS X semble avoir une préférence pour le NFD).

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?


L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos qui
peuvent être confidentielles...

Et où trouve-t-on ce merveilleux ls pour Mac OS X qui supporte l'UTF-8


En installant le port coreutils de MacPorts par exemple.

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)



Vincent Lefevre
Le #2411531
Dans l'article Jacques Perrocheau
Vincent Lefevre
Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).


Pour afficher quoi ? la plupart des fichiers "texte" de Mac OS X sont en
UTF-8 non ?


Les fichiers texte de *l'utilisateur* (qu'il aurait écrits ou
téléchargés) peuvent être en ISO-8859-1/15. ISO-8859-* sont encore
très utilisés, surtout que certains logiciels traditionnels n'ont
toujours pas une bonne compatibilité UTF-8 (et d'ailleurs Mac OS X
est buggé sur wcwidth, e.g. wcwidth(0x0301) = 1 au lieu de 0, ce
qui peut poser des problèmes avec l'affichage des caractères
accentués en UTF-8/NFD -- ce qui est d'autant plus important
que Mac OS X semble avoir une préférence pour le NFD).

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?


L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos
qui peuvent être confidentielles... Ce problème m'était arrivé avec
la commande "find" des findutils[*].

[*] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug11384

Et où trouve-t-on ce merveilleux ls pour Mac OS X qui supporte l'UTF-8


En installant le port coreutils de MacPorts par exemple.

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)



Jacques Perrocheau
Le #2410851
In article Vincent Lefevre
ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?


L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos
qui peuvent être confidentielles... Ce problème m'était arrivé avec
la commande "find" des findutils[*].


Est-ce vraiment le cas avec tous les caractères non affichables ?

Je soumets à ta réflexion l'observation suivante (Mac OS X 10.4, bash)


moi$ ls -la
total 18827
drwxr-xr-x 2 moi moi 68 Nov 9 2006 ???Move&Rename
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 .
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 ..
-rw-r--r-- 1 moi admin 15364 May 31 10:01 .DS_Store
drw------- 7 root admin 238 Nov 10 2006 .Spotlight-V100

Le ???Move&Rename est un dossier généré par le partage de fichiers
AppleShare sous Mac OS 9. Mais là n'est pas la question, je le prends
comme exemple car il a un nom vraiment "particulier".



moi$ ll
total 18827
drwxr-xr-x 2 moi moi 68B Nov 9 2006 ^C^B^AMove&Rename
drwxrwxr-t 46 root admin 1K Jun 21 11:27 .
drwxrwxr-t 46 root admin 1K Jun 21 11:27 ..
-rw-r--r-- 1 moi admin 15K May 31 10:01 .DS_Store
drw------- 7 root admin 238B Nov 10 2006 .Spotlight-V100

ll est un alias pour ls -lah|less

moi$ ls -law
total 18827
drwxr-xr-x 2 moi moi 68 Nov 9 2006 Move&Rename
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 .
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 ..
-rw-r--r-- 1 moi admin 15364 May 31 10:01 .DS_Store
drw------- 7 root admin 238 Nov 10 2006 .Spotlight-V100

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74




Vincent Lefevre
Le #2409361
Dans l'article Jacques Perrocheau
In article Vincent Lefevre
L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos
qui peuvent être confidentielles... Ce problème m'était arrivé avec
la commande "find" des findutils[*].


Est-ce vraiment le cas avec tous les caractères non affichables ?


Non, évidemment, mais il suffit que ce soit possible pour qu'il y ait
problème.

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


Jacques Perrocheau
Le #2409281
In article Vincent Lefevre
Non, évidemment, mais il suffit que ce soit possible pour qu'il y ait
problème.


OK, merci pour toutes tes réponses.

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

Publicité
Poster une réponse
Anonyme