You are not logged in.
Hi I'm new to Arch Linux. I successfully installed Arch Linux on my desktop by following steps in this installation guide but I'm having some trouble.
My desktop environment is KDE Plasma 5.20.5 and my locale is ko_KR.UTF-8. I installed fcitx-hangul package to input Korean language and everything worked fine until I noticed that Konsole can't print Korean words right. Konsole has to print 다운로드 but it was like ''$'\353\213\244\354\232\264\353\241\234\353\223\234'. I think ''$'\353\213\244\354\232\264\353\241\234\353\223\234' is raw unicode of 다운로드.
I think that reason of Konsole couldn't print Korean words right is because I didn't uncommented anything from /etc/locale.gen(I didn't gen ko_KR.UTF-8 locale). So I uncommented en_US.UTF-8 and ko_KR.UTF-8 locale from /etc/locale.gen and ran locale-gen command to generate those locales. After reboot I could see Konsole can print Korean words right but I couldn't input Korean on any software(Browsers, Dolphin, IDEs etc),
I can see that fcitx were running fine by checking widget on my panel. I tried to rerun fcitx but it did not help me at all. I thought locale-gen went something wrong I commented locales that I uncommented and rerun locale-gen. After reboot I could input Korean but Konsole can't print Korean words. How can I fix my fcitx after generate ko_KR.UTF-8 locale?
Additionally on Korean keyboard we use right alt as input change key(hangul). I set fcitx setting to change method key to hangul key but it keep resets after locale-gen. I think that ko_KR.UTF-8 touches keyboard layout settings maybe? Apart from that I couldn't change my input method to Korean with widget on my panel.
Last edited by pol4bear (2021-02-13 11:14:34)
Offline
Output of
localectl
locale
locale -a?
Online
Sorry about late reply @seth. This is output of commands.
# localectl
System Locale: LANG=ko_KR.UTF-8 UTF-8
VC Keymap: n/a
X11 Layout: n/a# 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=ko_KR.UTF-8
LC_CTYPE=ko_KR.UTF-8
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=# locale -a
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_COLLATE to default locale: No such file or directory
C
POSIXOffline
At this point you've set the locales to ko_KR.UTF-8 but no UTF-8 locale (and esp. not the forementioned) is generated (probably the situation where fcitx works) iow. you're operating w/ an illegal locale.
Set the locale to en_US.UTF-8 and ensure to also generate the locale.
See whether fcitx still works.
In general, the locale and the keyboard layout are not related.
Since the latter is not set via localectl (but likely your session) also post the output of "setxkbmap -print -query".
Online
First I changed my locale to en_US.UTF-8. And then I generated en_US.UTF-8 and ko_KR.UTF-8 locale.
# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: n/a# 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="en_US.UTF-8"
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=# locale -a
C
en_US.utf8
ko_KR.utf8
POSIXBut after reboot I can't input any Korean language anymore.
After that I generated en_US.UTF-8 only and everything works fine. I can input Korean language and konsole prints Korean words fine. I think generating ko_KR.UTF-8 triggers something.
locale -a
C
en_US.utf8
POSIXLast edited by pol4bear (2021-02-13 02:07:54)
Offline
Try to run fcitx from an iteractive shell and see whether it crashes or yells errors at you when run as ko_KR.UTF-8
Then try to run it as
LC_ALL=en_US.UTF-8 fcitxIf that works, fcitx (for whatever reason) doesn't like the locale and you can mitigate that running it w/ the altered environment.
Online
If ko_KR.UTF-8 locale is not generated fcitx runs well either LC_ALL is en_US.UTF8 or ko_KR.UTF8. But, if ko_KR.UTF8 locale generated I can't input Korean anymore(But, fcitx is still running).
I'd try to run in an interactive shell before and after locale generation. fcitx starts with no error either way but after locale generation, I couldn't insert Korean.
Anyway if I don't generate ko_KR.UTF8 locale everything is fine so I will mark this thread as solved. Thanks a lot, @seth.
Offline
If ko_KR.UTF-8 isn't available the locale will fall back to C (and get you an error)
if ko_KR.UTF-8 locale generated I can't input Korean anymore
Even if fcitx is explicitly run w/ the en_US.UTF-8 (or C) locale?
The mere existence of some locale data somewhere on your disk should™ have absolutely no impact.
Online