KMSCON (简体中文)

From ArchWiki
Revision as of 12:22, 7 October 2013 by Fengchao (Talk | contribs) (Add link to English page.)

Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

翻译状态: 本文是英文页面 KMSCON翻译,最后翻译时间:2013-10-07,点击这里可以查看翻译后英文页面的改动。

来自 project GitHub page 的介绍:

Kmscon 是基于 KMS 的简单终端模拟软件。它试图为 VT 终端的内核实现提供一种用户空间终端实现。

特性

Kmscon can function as a drop-in replacement for the in-kernel linux-console. Features include:

  • 完整的 vt220 to vt510 实现。
  • 完整的国际化支持:
    • Kmscon 支持打印全部 Unicode 字符,包括中日韩文字。
    • Kmscon 通过 libxkbcommon 对国际键盘布局提供支持,所以人们可以使用 X 支持的所有键盘布局。
  • 硬件渲染加速。
  • Multi-seat capability.
Note: In order to be able to log into a kmscon console as root, you have to disable the pam_securetty module by removing or commenting out the corresponding line in /etc/pam.d/login.

安装

虽然名字里带有 DMS,kmscon 并非硬性依赖 DMS。 Kmscon 支持的视频后端如下: fbdev (Linux fbdev 视频后端), drm2d (Linux DRM 软解后端), drm3d (Linux DRM 硬解后端)。 只要你的系统安装其中之一就行。

你可以从官方仓库安装 kmscon 也可以从 AUR 安装 kmscon-gitAUR

替换 linux 终端

切换到 root,执行:

# ln -s /usr/lib/systemd/system/kmsconvt\@.service /etc/systemd/system/autovt\@.service
# systemctl enable kmsconvt\@.service

上述操作使 systemd 使用 kmscon 而非 agetty 创建每一个虚拟终端(VT)。如果 mkscon 因为什么情况启动失败的话, agetty 会被启动。

中日韩文字支持

Kmscon 通过默认的字体引擎 pango 支持渲染中日韩文字。但是, 必须为 fontconfig 设置全局配置,来将等款字帖映射到合适的中日韩字体上。我们为中文用户提供如下配置模板。此模板可以满足中文字体渲染要求:

/etc/fonts/conf.d/99-kmscon.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
        <test name="family"><string>monospace</string></test>
        <edit name="family" mode="prepend" binding="strong">
                <string>DejaVu Sans Mono</string>
                <string>WenQuanYi Micro Hei Mono</string>
        </edit>
</match>
</fontconfig>

你需要安装 ttf-dejavuwqy-microhei,它们都可以在官方仓库中找到。

问题

  • You may want to add --hwaccel --drm to ExecStart if you have problems with switching between Xorg and kmscon.
 ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt --font-name Terminus --font-size 12 --hwaccel --drm
  • As version 7, if you cannot control the audio, add your user to audio group. Be aware of th shortcomings of this choice.