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#3996 - xterm locale problem

Attached to Project: Arch Linux
Opened by Gabriel Linder (raskolnikov) - Saturday, 18 February 2006, 12:59 GMT
Task Type Bug Report
Category System
Status Closed
Assigned To No-one
Architecture not specified
Severity Low
Priority Normal
Reported Version 0.7.1 Noodle
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

After a pacman -Syu, I saw strange characters in my xterm (and in gnome-terminal, too) instead of some chars like ~ or @.

Example (xterm) : my prompt was "dargor§acer ß" instead of "dargor@acer ~".

I use the locale en_US.iso885915, and the problem seems related to this line in /etc/profile.d/locale.sh : echo -ne "Öe(K". After commenting it out, everything works fine with all my terms.

What's the purpose of this line, BTW ?
This task depends upon

Closed by  Judd Vinet (judd)
Monday, 20 February 2006, 05:26 GMT
Reason for closing:  Fixed
Comment by Roman Kyrylych (Romashka) - Sunday, 19 February 2006, 11:51 GMT
echo -ne "\e(K" is needed for setting G0 codepage for correct displaying of non-English charecters in non-UTF8 modes, for example uk_UA.koi8-u, ru_RU.koi8-r etc.
I think we should add additional check for en_US.* and *.utf8 locales to not send \e(K to console.
Comment by Roman Kyrylych (Romashka) - Sunday, 19 February 2006, 13:29 GMT
Do you have the same problem in plain text console?
Comment by Gabriel Linder (raskolnikov) - Sunday, 19 February 2006, 13:36 GMT
Nop, in the true linux console everything was ok.
Comment by Roman Kyrylych (Romashka) - Sunday, 19 February 2006, 13:51 GMT
OK, I already made a fix for it. After some testing I'll send it for Judd.
Comment by Roman Kyrylych (Romashka) - Sunday, 19 February 2006, 14:04 GMT
Could you confirm that this fix is working for you:

replace echo -ne "\e(K" in locale.sh with these lines:

if ! [ "$TERM" = "xterm" -o "$TERM" = "xterm-color" -o "$TERM" = "rxvt" -o "$TERM" = "xterm-xfree86" ]; then
echo -ne "\e(K"
fi
Comment by Roman Kyrylych (Romashka) - Sunday, 19 February 2006, 14:11 GMT
Fix for rc.sysinit:
replace
echo 'echo -ne "\e(K"' >>/etc/profile.d/locale.sh
with
echo 'if ! [ "$TERM" = "xterm" -o "$TERM" = "xterm-color" -o "$TERM" = "rxvt" -o "$TERM" = "xterm-xfree86" ]; then echo -ne "\e(K"; fi' >>/etc/profile.d/locale.sh

To Judd: please update rc.sysinit in the next initscripts-0.7.1-22
(I saw that tpowa prepares yet another udev/initscripts update here: http://bugs.archlinux.org/task/3995#comment8270)
Comment by Roman Kyrylych (Romashka) - Sunday, 19 February 2006, 14:33 GMT
Here is patched rc.sysinit from initscripts-0.7.1-21
I hope this will be in initscripts-0.7.1-22
Tested in Terminal (XFCE4 terminal based on gnome-terminal).
Comment by Gabriel Linder (raskolnikov) - Sunday, 19 February 2006, 14:37 GMT
Tried with xterm and gnome-terminal, works fine. Thanks you !
Comment by Judd Vinet (judd) - Monday, 20 February 2006, 05:26 GMT
Committed the fix for next build. Thanks.

Loading...