Arch 上的 xmonad 中的西里尔字母

Arch 上的 xmonad 中的西里尔字母

设置:

$ cat /root/xmonad.hs 
import XMonad
import XMonad.Config.Desktop

main = xmonad desktopConfig
    { terminal = "xterm"
    , modMask  = mod4Mask
    }

$ cat ~/.profile 
TZ='Europe/Sofia'; export TZ
setxkbmap -layout "us,bg(phonetic)" -option "grp:alt_shift_toggle" &

问题:
例如,尽管 Firefox 接受西里尔字母输入,但我的终端却不接受。当我切换到bg键盘布局时,没有键产生输出(输入,空格仍然有效)。包含西里尔字母的文件显示如下:

\chapter{               ^a      }
%   ^|         ^b               ^`
%   ^z         ^g         ^a   ^b               ^b    >
%   ^=   ^`                     ^b                    >
%                           ^f         ^b             >
%   ^w                ^a                   3    ^b    >
%   ^w                ^a                   5    ^b    >
%\\
\begin{multicols}{2}
\race{Homo Sapiens}{0}

不充分的解决方案:

  • 将终端更改为rxvt-unicodegnome-terminalxterm -u8
  • 安装xorg-fonts-cyrillicterminus-cyrillic
  • 将区域设置更改为bg_BG.utf8默认区域设置C

这些都不会导致键入西里尔字符。

在语言环境上:

$ locale
LANG=bg_BG.utf8
LC_CTYPE="bg_BG.utf8"
LC_NUMERIC="bg_BG.utf8"
LC_TIME="bg_BG.utf8"
LC_COLLATE="bg_BG.utf8"
LC_MONETARY="bg_BG.utf8"
LC_MESSAGES="bg_BG.utf8"
LC_PAPER="bg_BG.utf8"
LC_NAME="bg_BG.utf8"
LC_ADDRESS="bg_BG.utf8"
LC_TELEPHONE="bg_BG.utf8"
LC_MEASUREMENT="bg_BG.utf8"
LC_IDENTIFICATION="bg_BG.utf8"
LC_ALL=

没有帮助甚至混乱一些将ascii文本转换为eg

$ nohup: вÑ
одÑÑ Ñе пÑенебÑегва, а изÑ
одÑÑ Ñе наÑоÑва кÑм â

进行对象转储

%Правото на две расови умения на 5, без да е нужно да покриват изисквания, без точките да се плащат от (5 * Ум), струва една точка.  \\
%Човеците имат всикчи показатели 1 - 10.  \\
%За всеки 3 точки по максимуми над 10, расата струва още една точка.  \\

结果是

$ od -tx1 -c races.txt
0000000  25  d0  9f  d1  80  d0  b0  d0  b2  d0  be  d1  82  d0  be  20
          % 320 237 321 200 320 260 320 262 320 276 321 202 320 276    
0000020  d0  bd  d0  b0  20  d0  b4  d0  b2  d0  b5  20  d1  80  d0  b0
        320 275 320 260     320 264 320 262 320 265     321 200 320 260
0000040  d1  81  d0  be  d0  b2  d0  b8  20  d1  83  d0  bc  d0  b5  d0
        321 201 320 276 320 262 320 270     321 203 320 274 320 265 320
0000060  bd  d0  b8  d1  8f  20  d0  bd  d0  b0  20  35  2c  20  d0  b1
        275 320 270 321 217     320 275 320 260       5   ,     320 261
0000100  d0  b5  d0  b7  20  d0  b4  d0  b0  20  d0  b5  20  d0  bd  d1
        320 265 320 267     320 264 320 260     320 265     320 275 321
0000120  83  d0  b6  d0  bd  d0  be  20  d0  b4  d0  b0  20  d0  bf  d0
        203 320 266 320 275 320 276     320 264 320 260     320 277 320
0000140  be  d0  ba  d1  80  d0  b8  d0  b2  d0  b0  d1  82  20  d0  b8
        276 320 272 321 200 320 270 320 262 320 260 321 202     320 270
0000160  d0  b7  d0  b8  d1  81  d0  ba  d0  b2  d0  b0  d0  bd  d0  b8
        320 267 320 270 321 201 320 272 320 262 320 260 320 275 320 270
0000200  d1  8f  2c  20  d0  b1  d0  b5  d0  b7  20  d1  82  d0  be  d1
        321 217   ,     320 261 320 265 320 267     321 202 320 276 321
0000220  87  d0  ba  d0  b8  d1  82  d0  b5  20  d0  b4  d0  b0  20  d1
        207 320 272 320 270 321 202 320 265     320 264 320 260     321
0000240  81  d0  b5  20  d0  bf  d0  bb  d0  b0  d1  89  d0  b0  d1  82
        201 320 265     320 277 320 273 320 260 321 211 320 260 321 202
0000260  20  d0  be  d1  82  20  28  35  20  2a  20  d0  a3  d0  bc  29
            320 276 321 202       (   5       *     320 243 320 274   )
0000300  2c  20  d1  81  d1  82  d1  80  d1  83  d0  b2  d0  b0  20  d0
          ,     321 201 321 202 321 200 321 203 320 262 320 260     320
0000320  b5  d0  b4  d0  bd  d0  b0  20  d1  82  d0  be  d1  87  d0  ba
        265 320 264 320 275 320 260     321 202 320 276 321 207 320 272
0000340  d0  b0  2e  20  20  5c  5c  0a  25  d0  a7  d0  be  d0  b2  d0
        320 260   .           \   \  \n   % 320 247 320 276 320 262 320
0000360  b5  d1  86  d0  b8  d1  82  d0  b5  20  d0  b8  d0  bc  d0  b0
        265 321 206 320 270 321 202 320 265     320 270 320 274 320 260
0000400  d1  82  20  d0  b2  d1  81  d0  b8  d0  ba  d1  87  d0  b8  20
        321 202     320 262 321 201 320 270 320 272 321 207 320 270    
0000420  d0  bf  d0  be  d0  ba  d0  b0  d0  b7  d0  b0  d1  82  d0  b5
        320 277 320 276 320 272 320 260 320 267 320 260 321 202 320 265
0000440  d0  bb  d0  b8  20  31  20  2d  20  31  30  2e  20  20  5c  5c
        320 273 320 270       1       -       1   0   .           \   \
0000460  0a  25  d0  97  d0  b0  20  d0  b2  d1  81  d0  b5  d0  ba  d0
         \n   % 320 227 320 260     320 262 321 201 320 265 320 272 320
0000500  b8  20  33  20  d1  82  d0  be  d1  87  d0  ba  d0  b8  20  d0
        270       3     321 202 320 276 321 207 320 272 320 270     320
0000520  bf  d0  be  20  d0  bc  d0  b0  d0  ba  d1  81  d0  b8  d0  bc
        277 320 276     320 274 320 260 320 272 321 201 320 270 320 274
0000540  d1  83  d0  bc  d0  b8  20  d0  bd  d0  b0  d0  b4  20  31  30
        321 203 320 274 320 270     320 275 320 260 320 264       1   0
0000560  2c  20  d1  80  d0  b0  d1  81  d0  b0  d1  82  d0  b0  20  d1
          ,     321 200 320 260 321 201 320 260 321 202 320 260     321
0000600  81  d1  82  d1  80  d1  83  d0  b2  d0  b0  20  d0  be  d1  89
        201 321 202 321 200 321 203 320 262 320 260     320 276 321 211
0000620  d0  b5  20  d0  b5  d0  b4  d0  bd  d0  b0  20  d1  82  d0  be
        320 265     320 265 320 264 320 275 320 260     321 202 320 276
0000640  d1  87  d0  ba  d0  b0  2e  20  20  5c  5c  0a
        321 207 320 272 320 260   .           \   \  \n
0000654

该文件是

$ file races.tex 
races.tex: LaTeX document, UTF-8 Unicode text

更多尝试:

  • showconsolefont# 打印当前字体
  • localectl # 打印当前字体名称
  • setfont Cyr_a8x14 # requires root; from /usr/share/kbd/unimaps

现在看来有效了。我认为setfont提供了字体中的西里尔字符。遗憾的是它不适用于虚拟终端。

$ localectl
System Locale: LANG=en_US.utf8
VC Kemap: bg_pho-utf8
X11 Layout: bg,us
X11 Model: pc105
X11 Variant: ,phonetic
X11 Options: terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll

相关内容