安装 xkb 键盘布局的编程方式

Sha*_*jun 8 xorg xkb keyboard-layout

到目前为止,我有一个新的键盘布局。我想将它发送给最有可能对 Linux 知之甚少的用户。麻烦的是安装这个布局我必须在/usr/share/X11/xkb目录中的文件中做很多复制粘贴。以下是我需要执行的步骤。

  • 将键盘布局添加到 /usr/share/X11/xkb/symbols/in
  • 将语言添加到 base.xml
  • 将语言添加到 evdev.xml
  • 将布局添加到 base.lst

我如何制作它以便用户双击布局文件并安装它。

我熟悉 shell 脚本,所以我可以使用 awk 或 sed 进行一些文件操作。但是,我不确定我是否应该这样做。

Scy*_*aud 2

您的用户不能只单击将运行xkbcompxmodmap将加载布局的图标吗?

\n\n

编辑:

\n\n

我相信这不是那么简单的任务。您需要准备一种将文件部署到只有 root 用户可以访问的位置的方法。准备一个系统软件包(如 .deb 或 .rpm)可能是最好的主意。我会使用 puppet ;-) 它会添加 xkb 键盘布局,然后您必须向用户配置添加新布局。我无法帮助您使用 KDE,但在 gnome 中,有一个简单的工具可以获取/设置 dconf \xe2\x80\x93 gnome 设置存储的设置。是的gsettings,它可以设置xkb输入源。

\n\n

例子:

\n\n

读取输入源:

\n\n
`gsettings get org.gnome.desktop.input-sources sources\n[(\'xkb\', \'pl\'), (\'xkb\', \'us\')]\n
Run Code Online (Sandbox Code Playgroud)\n\n

设置新的键盘布局:

\n\n
gsettings set org.gnome.desktop.input-sources sources "[(\'xkb\', \'pl\'),(\'xkb\',\'us\'),(\'xkb\', \'de+mac\')]"`\n
Run Code Online (Sandbox Code Playgroud)\n\n

并且“系统托盘”中将会有一个输入源小程序,用户可以从中选择:\n在此输入图像描述

\n\n

但它仅适用于一名用户。要在系统范围内进行此类设置,您需要在以下位置准备\n架构/etc/dconf/db/localxkb

\n\n
[org/gnome/desktop/input-sources]\nsources="[(\'xkb\', \'pl\'),(\'xkb\',\'us\'),(\'xkb\', \'de+mac\')]"\n
Run Code Online (Sandbox Code Playgroud)\n\n

用户使用软件管理软件安装一个软件包即可完成此任务。

\n