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

Unicode and 256 colors in Raspberry Pi Terminal Environment

我正在与一群 Raspberry Pi 2s 运行 Raspbian 一起工作,为表演装置构建交互式谜题。这些谜题是要在命令行上玩的。我的背景是 Web 开发,所以虽然我对 Linux 命令行非常熟悉,但我没有太多定制本地终端环境的经验。我有许多不同的要求,而且我永远无法一次完全满足所有这些要求。即:

  1. 我希望在不启动 LXDE 的情况下从内核控制台加载游戏。这主要是因为在终端环境中,我可以捕捉到任何人试图退出游戏的击键,并设置密码来防止它。此外,我还没有确定我是否可以在 LXDE 中启动终端 window 并隐藏所有 windowing chrome 以使游戏看起来只是 CLI。

  2. 我需要256色显示器

  3. 游戏是英文的,但包含一些西里尔字符,所以我需要unicode支持。使用的字符示例:

    • 0x1440
    • 0x1437
    • 0x143d

我可以使用 TERM=xterm-256color 在 xterm 中获得 256 色显示,但前提是我在 LXDE 中的 window 中启动它。 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 window 开始游戏,但全屏显示 window 而绝对没有 chrome,并防止用户能够退出那个环境(机器上不会有鼠标)

谢谢!

很遗憾,有人在这里发布了一个答案并指出我在发布的 .xinitrc 中有错字(几行后缺少 \ 个字符)。回去仔细检查后,这确实是问题的一部分。他或她或其他人显然记下了答案,所以我不能给予信任。

问题的另一部分是我试图显示的 unicode 字符不是西里尔字符,而是 Unified Canadian Aboriginal Syllabics block, which simply wasn't part of any of the terminal fonts I was using. After some digging, I found what appears to be the only monospaced font that contains these characters, 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,一切都很好。