Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#15977 - no umlauts in terminals (xterm, urxvt)

Attached to Project: Arch Linux
Opened by Andrwe (Andrwe) - Tuesday, 18 August 2009, 14:02 GMT
Last edited by Roman Kyrylych (Romashka) - Wednesday, 16 September 2009, 18:36 GMT
Task Type Bug Report
Category System
Status Closed
Assigned To Aaron Griffin (phrakture)
Roman Kyrylych (Romashka)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I can't use umlauts although I've set de_DE.UTF8 as LOCALE in rc.conf.
Also $LANG and all $LC_* variables aren't set (see below).

Additional info:
Output of locale:
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=

Output of locale -a:
C
POSIX
de_DE
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
de_DE@euro
deutsch
en_US
en_US.iso88591
en_US.utf8
german

   rc.conf (3.2 KiB)
This task depends upon

Closed by  Roman Kyrylych (Romashka)
Wednesday, 16 September 2009, 18:36 GMT
Reason for closing:  Works for me
Comment by Andrwe (Andrwe) - Tuesday, 18 August 2009, 15:01 GMT
I forgot to write about my setup.

WM: Openbox
Login Manager: Qingy
Terminals: xterm, urxvt
Font: Terminus
Comment by Aaron Griffin (phrakture) - Tuesday, 18 August 2009, 17:32 GMT
This just means your LANG variable is unset.

$ echo $LANG
en_US.UTF-8

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE=C
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

$ export LANG=jfewfewfrew
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=jfewfewfrew
LC_CTYPE="jfewfewfrew"
LC_NUMERIC="jfewfewfrew"
LC_TIME="jfewfewfrew"
LC_COLLATE=C
LC_MONETARY="jfewfewfrew"
LC_MESSAGES="jfewfewfrew"
LC_PAPER="jfewfewfrew"
LC_NAME="jfewfewfrew"
LC_ADDRESS="jfewfewfrew"
LC_TELEPHONE="jfewfewfrew"
LC_MEASUREMENT="jfewfewfrew"
LC_IDENTIFICATION="jfewfewfrew"
LC_ALL=

$ export LANG=
$ locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE=C
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=


Have you done any mucking with /etc/profile or /etc/rc.sysinit?
Comment by Andrwe (Andrwe) - Tuesday, 18 August 2009, 17:41 GMT
Not as far as I know, see attachments.
Comment by Aaron Griffin (phrakture) - Tuesday, 18 August 2009, 17:51 GMT
Do you still have /etc/profile.d/locale.sh ?
Comment by Aaron Griffin (phrakture) - Tuesday, 18 August 2009, 17:52 GMT
See this block in rc.sysinit:


# Flush old locale settings
: >/etc/profile.d/locale.sh
/bin/chmod 755 /etc/profile.d/locale.sh
# Set user defined locale
[ -z "$LOCALE" ] && LOCALE="en_US"
stat_busy "Setting Locale: $LOCALE"
echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
stat_done
Comment by Andrwe (Andrwe) - Tuesday, 18 August 2009, 17:59 GMT
yes I have /etc/profile.d/locale.sh
Comment by Aaron Griffin (phrakture) - Tuesday, 18 August 2009, 18:34 GMT
Well that's certainly weird. What happens if you run:
. /etc/profile.d/locale.sh
from an existing terminal, and then run "locale" ?
Comment by Andrwe (Andrwe) - Tuesday, 18 August 2009, 19:03 GMT
After running this all variables are set correctly.

But I don't have umlauts.
Comment by Aaron Griffin (phrakture) - Tuesday, 18 August 2009, 22:42 GMT
Hmmm can you check to see if locale.sh has mode a+x (ls -l /etc/profile.d/)

Regarding the umlauts... try rerunning locale-gen or something, making sure that +x is set on locale.sh, then try rebooting?
Comment by Andrwe (Andrwe) - Wednesday, 19 August 2009, 06:06 GMT
I've checked the mode and my locale.sh is executable for all. (-rwxr-xr-x root:root)

I've tested a bit and found out that my locale.sh won't be executed.
I added
echo "echo 'test $(date)' > /home/alw/locale.test" >>/etc/profile.d/locale.sh
after the line which sets the export command (echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh) but after a reboot locale.test isn't written in my home directory but the line is written into locale.sh.
Comment by Aaron Griffin (phrakture) - Friday, 04 September 2009, 20:25 GMT
My guess is you're not using a login shell in your terminal.

Try setting urxvt*loginShell and xterm*loginShell to true in ~/.Xdefaults.
Comment by Andrwe (Andrwe) - Saturday, 05 September 2009, 08:49 GMT
I've added this to my .Xdefaults and now $LANG and $LC_* are set to de_DE.UTF8 but I don't have umlauts.

I also have set up a new system and there I have in all X programs umlauts and in xterm too but not in urxvt.
Comment by Roman Kyrylych (Romashka) - Wednesday, 16 September 2009, 07:47 GMT
Do you have umlauts in plain-text console?
Isn't xterm/urxvt using some other font instead of ter-v16b?
Have you tried changing the font?
Comment by Andrwe (Andrwe) - Wednesday, 16 September 2009, 12:19 GMT
I don't know what you mean by plain-text console but if you mean on a tty or something like "Terminal" or "Tilda" there I have umlauts.
Only in urxvt and xterm I don't have umlauts.
I've set the font adding the following line to .Xdefaults:

URxvt.font: xft:Terminus:pixelsize=12
URxvt.tabbed.font: xft:Terminus:pixelsize=12
Comment by Roman Kyrylych (Romashka) - Wednesday, 16 September 2009, 17:11 GMT
specially for this I generated de_DE.UTF-8 locale, installed rxvt-unicode, started urxvt with the following command:
urxvt -fn "xft:Terminus"
loaded de-latin1-nodeadkeys and launched mc with:
LANG=de_DE.UTF-8 mc
and I can see umlauts

So this looks like error in your config, not a bug.

On the internet I found a recommendation to add the following to .Xresources:
URxvt.font: -*-terminus-medium-r-*-*-14-*-*-*-*-*-iso10646-1,\
-*-fixed-medium-r-*-*-14-*-*-*-*-*-iso10646-1
URxvt.boldFont: -*-terminus-bold-*-*-*-14-*-*-*-*-*-iso10646-1,\
-*-fixed-bold-*-*-*-14-*-*-*-*-*-iso10646-1

More info here: http://darkk.livejournal.com/42240.html (in Russian, so use translate.google.com)
It mentions a bug in rxvt-unicode, though probably it is more like behaviour specific than a bug.
This should be handled by upstream anyway.

I'm willing to close this bugreport as I don't think we can help here much.
It's better to ask on forums for help in fixing the configuration.
Comment by Andrwe (Andrwe) - Wednesday, 16 September 2009, 18:21 GMT
The real strange situation is that I've compared my settings with a friend and both settings are totally identical, there are really no differences in configs like rc.conf, .Xdefaults and so on but for him it works and for me it doesn't.
We've also compared the local variables and it is the same too.
That is why I don't have a clue anymore.

But it really seams not to be a bug since I'm the only one with such a problem so you can close it.
Thanks for the help.

Loading...