Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2011, à 15:32

YannUbuntu

[Résolu] LANG=C ne marche plus dans 11.10 ???

Bonjour
jusqu'à 11.04 j'utilisais :

LANG=C mafonction

pour lancer mafonction en anglais. (indispensable pour utiliser le résultat quelle-que-soit la langue utilisée par le système)

Or cela ne semble plus fonctionner pour 11.10 sad. Connaissez-vous une méthode alternative svp?

Dernière modification par YannUbuntu (Le 16/11/2011, à 01:43)


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#2 Le 15/11/2011, à 19:54

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

C'est bizarre, ton truc...

$ lsb_release -r
Release:    11.10
$ rm
rm: opérande manquant
Saisissez « rm --help » pour plus d'informations.
$ LANG=C rm
rm: missing operand
Try `rm --help' for more information.

Par exemple...

$ LANG=C locale -k territory

... ça répond quoi ?

Et quand tu fais...

$ locale -a

... t'as bien « C » dans la liste ?

Hors ligne

#3 Le 15/11/2011, à 20:02

YannUbuntu

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

ça se confirme chez moi:

$ rm
rm: opérande manquant Saisissez « rm --help » pour plus d'informations.
$ LANG=C rm
rm: opérande manquant Saisissez « rm --help » pour plus d'informations.
$ lsb_release -r
Release:    11.10
$ LANG=C locale -k territory
territory="ISO"
$ locale -k territory
territory="France"
$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
ja_JP.utf8
POSIX
zh_CN.utf8
zh_SG.utf8

avez-vous la meme chose pour LANG=C locale -k territory ?


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#4 Le 15/11/2011, à 20:44

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

YannUbuntu a écrit :

avez-vous la meme chose pour LANG=C locale -k territory ?

Forcément. Je dirais plutôt que dans la cas d'espèce, le problème, c'est pas un problème de locale mais l'absence d'un coreutils.mo localisé en français... Le paquet language-pack-fr-base est installé ?

Hors ligne

#5 Le 15/11/2011, à 20:46

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Ah, non. Le problème, c'est l'inverse big_smile Je reviens...

Hors ligne

#6 Le 15/11/2011, à 20:49

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

La question, c'est plutôt : le paquet language-pack-en-base est installé big_smile ?

Hors ligne

#7 Le 15/11/2011, à 21:03

pode

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

En comparant, sur un système fonctionnant normalement, le résultat de la commande

dpkg -L language-pack-en-base

et celui de la commande

 
LANG=C strace rm

on voit que la dernière commande n'utilise pas de fichier fourni par le paquet language-pack-en-base. A mon avis, le problème est ailleurs (mais ça ne coûte rien de savoir si le paquet est bien installé).

Que donnent les commandes suivantes (même si le problème ne semble pas limité à la commande rm) ?

$ type rm
$ LANG=C strace rm

Sinon, pour info, une alternative équivalente à

LANG=C commande

est

LANG=POSIX commande

Hors ligne

#8 Le 15/11/2011, à 21:17

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Je viens de vérifier en virant les paquets idoines et le fait est que rm peut parfaitement vivre en anglais sans coreutils.mo « localisé » sad À tout hasard...

$ LANG=C locale -k LC_MESSAGES

... ça répond quoi ?

Hors ligne

#9 Le 15/11/2011, à 23:44

YannUbuntu

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Merci pour vos réponses.

alej a écrit :

La question, c'est plutôt : le paquet language-pack-en-base est installé big_smile ?

oui. ( 1:11.10+20111025 )

$ LANG=C locale -k LC_MESSAGES
yesexpr="^[oOyY].*"
noexpr="^[nN].*"
yesstr=""
nostr=""
messages-codeset="UTF-8"

@pode:

$ LANG=POSIX rm
rm: opérande manquant Saisissez « rm --help » pour plus d'informations.
$ type rm
rm est haché (/bin/rm)
$ LANG=C strace rm
execve("/bin/rm", ["rm"], [/* 47 vars */]) = 0
brk(0)                                  = 0x20ef000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fac5a672000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=64033, ...}) = 0
mmap(NULL, 64033, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fac5a662000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \24\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1677624, ...}) = 0
mmap(NULL, 3793768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fac5a0b5000
mprotect(0x7fac5a24a000, 2093056, PROT_NONE) = 0
mmap(0x7fac5a449000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x194000) = 0x7fac5a449000
mmap(0x7fac5a44e000, 21352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fac5a44e000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fac5a661000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fac5a65f000
arch_prctl(ARCH_SET_FS, 0x7fac5a65f720) = 0
mprotect(0x7fac5a449000, 16384, PROT_READ) = 0
mprotect(0x60c000, 4096, PROT_READ)     = 0
mprotect(0x7fac5a674000, 4096, PROT_READ) = 0
munmap(0x7fac5a662000, 64033)           = 0
brk(0)                                  = 0x20ef000
brk(0x2110000)                          = 0x2110000
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=8219376, ...}) = 0
mmap(NULL, 8219376, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fac598de000
close(3)                                = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fac5a671000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2570
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7fac5a671000, 4096)            = 0
open("/usr/share/locale/fr/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/fr/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=316721, ...}) = 0
mmap(NULL, 316721, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fac5a611000
close(3)                                = 0
open("/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26066, ...}) = 0
mmap(NULL, 26066, PROT_READ, MAP_SHARED, 3, 0) = 0x7fac5a66b000
close(3)                                = 0
write(2, "rm: ", 4rm: )                     = 4
write(2, "op\303\251rande manquant", 18opérande manquant) = 18
write(2, "\n", 1
)                       = 1
write(2, "Saisissez \302\253\302\240rm --help\302\240\302\273 pour"..., 54Saisissez « rm --help » pour plus d'informations.
) = 54
close(0)                                = 0
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?

à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#10 Le 16/11/2011, à 00:03

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Et si tu fais...

$ LC_MESSAGES=C rm

... ça répond quoi ?

Hors ligne

#11 Le 16/11/2011, à 00:52

YannUbuntu

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Ca marche ! et sur les autres commandes aussi !

$ LC_MESSAGES=C rm
rm: missing operand Try `rm --help' for more information.

est-ce que cette méthode marche aussi chez vous ? savez-vous si elle fonctionne quelle que soit la locale et la version d'Ubuntu/Debian ?


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#12 Le 16/11/2011, à 00:58

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Ça « DEVRAIT » toujours fonctionner ... sauf que LANG=C devrait a priori positionner LC_MESSAGES à C et que dans le cas d'espèce, justement, ça semble ne pas le faire sad

$ LANG=C locale

... ça répond quoi ?

Hors ligne

#13 Le 16/11/2011, à 01:17

YannUbuntu

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

bien vu smile

$ LANG=C locale
LANG=C
LANGUAGE=fr:en
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY="C"
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
$ locale
LANG=fr_FR.UTF-8
LANGUAGE=fr:en
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
$ LC_MESSAGES=C locale
LANG=fr_FR.UTF-8
LANGUAGE=fr:en
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES=C
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

Je crois que je vais faire un rapport de bug sur Launchpad.
Par hasard, savez-vous à quoi correspondent LC_CTYPE et LC_COLLATE ?


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#14 Le 16/11/2011, à 01:38

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Voir la page de man locale(5) pour les détails des catégories. Et ça serait plutôt un changement qu'un bug - voir la page de man locale(7) - à proprement parler. Sauf que chez moi, p.e., ça continue à fonctionner comme avant...

$ locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
$ LANG=C locale
LANG=C
LANGUAGE=
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=

Mais comme LANG ne surpasse pas a priori LC_MACHIN ou LC_TRUC, ça veut dire que LC_MESSAGES, p.e., est « pré-positionnée » quelque part chez toi...

Dernière modification par alej (Le 16/11/2011, à 01:43)

Hors ligne

#15 Le 16/11/2011, à 01:44

YannUbuntu

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

si je comprends bien, LC_MESSAGES=C devrait marcher pour tout le monde, meme les cas spéciaux comme le mien. Merci infiniment ! smile


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#16 Le 16/11/2011, à 02:09

alej

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

YannUbuntu a écrit :

LC_MESSAGES=C devrait marcher pour tout le monde

... sauf si LC_ALL est positionnée...

$ LC_ALL=it_IT.UTF-8 LC_MESSAGES=C rm
rm: operando mancante
Usare «rm --help» per ulteriori informazioni.

Et faut se méfier de LANGUAGE...

$ locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
$ LANGUAGE=it rm
rm: operando mancante
Usare «rm --help» per ulteriori informazioni.

big_smile

Hors ligne

#17 Le 16/11/2011, à 13:40

YannUbuntu

Re : [Résolu] LANG=C ne marche plus dans 11.10 ???

Tu as raison, il suffit qu'un de ces 2-là soient mis à C pour que la sortie soit en anglais, quelle-que-soit la valeur de LANG et de LC_MESSAGES. Par sécurité je vais utiliser la méthode suivante:

LANGUAGE=C LC_ALL=C mafonction

Encore merci ! smile


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne