Raspberry Pi终端环境中的Unicode和256色

时间:2016-01-14 20:15:29

标签: linux unicode raspberry-pi xterm

我正在使用一堆运行Raspbian的Raspberry Pi 2,为性能安装构建交互式谜题。谜题意味着在命令行上播放。我的背景是在Web开发中,所以虽然我对Linux命令行很满意,但我没有很多定制本地终端环境的经验。我有许多不同的要求,我永远无法完全满足所有这些要求。即:

  1. 我希望从内核控制台加载游戏,而无需启动LXDE。这主要是因为在终端环境中,我可以捕获任何人用来尝试退出游戏的按键,并设置密码以防止它。此外,我还没有确定是否可以在LXDE中启动终端窗口并隐藏所有窗口镶边以使游戏看起来只是CLI。

  2. 我需要256色显示。

  3. 游戏是用英语播放的,但包含一些西里尔字符,所以我需要unicode支持。使用的字符样本:

    • 0x1440
    • 0x1437
    • 0x143d
  4. 我可以使用TERM=xterm-256color在xterm中获得256色显示,但仅限于我在LXDE的窗口中启动它。 Unicode支持也是如此。当我尝试从内核控制台启动xterm时,我可以传递一些选项来自定义终端的显示(-fg-bg-fa),但无法进行显示256色或unicode字符。我尝试使用.Xresource文件并将其加载xrdb -merge ~/.Xresource,但它似乎根本没有任何效果。目前,我有一个包含

    .xinitrc文件
    `which xterm` \
    -fg white \
    -bg black \
    -fa *-fixed-*-*-*-18-*
    -en en_US.UTF-8
    -tn xterm-256color
    

    我只需运行xinit即可启动xterm。当我这样做时,xterm启动并尊重前景,背景和字体属性,但只显示8种颜色,不会显示unicode字符。任何人都可以提供任何有关如何满足上述三个要求的见解?我也会接受一个答案,显示我如何从LXDE窗口简单地启动游戏,但是全屏显示完全没有镶边的窗口,并阻止用户退出该环境(不会附加鼠标)到机器)

    谢谢!

1 个答案:

答案 0 :(得分:0)

很遗憾,有人在这里发布了一个答案,并指出我在.xinitrc发了一个拼写错误(在几行之后丢失了\个字符)。返回并进行双重检查后,确实成为了问题的一部分。他或她或其他人显然已经取消了答案,所以我不能给予信任。

问题的另一部分是我尝试显示的unicode字符不是西里尔字母,而是Unified Canadian Aboriginal Syllabics块的一部分,它根本不属于任何一个我正在使用的终端字体。经过一番挖掘后,我发现似乎是唯一包含这些字符的等宽字体Everson Mono。我将它安装到/ usr / local / share / fonts,并修改了我的.xinitrc文件:

`which xterm` \
-fg white \
-bg black \
-fa 'Everson Mono' \
-en en_US.UTF-8 \
-tn xterm-256color

...现在我可以使用xinit加载xterm并运行我的应用程序,所有这些都适合全世界。