实际上,我只想在启动后自动运行以下单行代码,从而启用天才eurkey键盘设置:
setxkbmap eurkey
遵循本指南(其原始示例没有问题),我执行了以下操作但没有成功:
# create systemd service file
$ sudo touch /etc/systemd/system/eurkey.service
$ sudo nano /etc/systemd/system/eurkey.service
[Unit]
After=network.service
[Service]
ExecStart=/usr/local/bin/eurkey.sh
[Install]
WantedBy=default.target
# create script
$ sudo touch /usr/local/bin/eurkey.sh
$ sudo nano /usr/local/bin/eurkey.sh
#!/bin/bash
setxkbmap eurkey
# set permissions
$ sudo chmod 744 /usr/local/bin/eurkey.sh
$ sudo chmod 664 /etc/systemd/system/eurkey.service
# enable service unit
$ sudo systemctl daemon-reload
$ sudo systemctl enable eurkey.service
# reboot
$ sudo reboot
但是,代码不会执行。我错过了什么?为什么它适用于指南中的代码而不是我自己的代码行?我打算稍后添加任意数量的行(我称之为脚本)。这是错误的方法吗?
我在ask ubuntu上找到了一个非常相似的指南。
如果您想在 Gnome 启动时启动脚本,请查看此处。如果 X 服务器(还)没有运行,并且您没有(手动!)在 X 服务器启动后每次都启动终端,那么插入将
setxkbmap
无济于事。.bashrc
警告:我没有尝试过任何一个“解决方案”,因为我验证了下面的解决方案并且它有效:如果您在系统上编辑两个文件(作为超级用户 - 小心!),您可以让每个用户自己配置布局,而不必再担心它:
并在变体 altgr-intl 下方插入以下内容:
(我取自
/usr/share/X11/rules/evdev.extra.xml
并替换layout
为variant
。请注意,缺少法语:如果您选择法语,您将找不到此变体(见下文)。)下一个编辑:并在 altgr-intl 下方插入一行:
您需要做的最后一件事是重新配置 xkb 数据:
现在,用户将能够运行
gnome-control-center
(又名“设置”),转到“区域和语言”并添加键盘布局:English (United States)
向下滚动很多后选择并查看:选择 EurKEY 并且该用户完成,即使系统关闭并重新启动。换句话说:
setxkbmap eu
不再需要!EurKEY 的集成方式可能有问题。在
setxkbmap eu
我的 Ubuntu 20.04 上开箱即用,但我无法在任何地方找到它gnome-control-center
(如果这就是 EurKEY 网站上的“键盘布局配置面板”的意思)。在他们的网站上,有一个
eurkey.deb
. 往里看(ar -x eurkey.deb
和tar xvf control.tar.gz
),我们发现了一个postinst
脚本,它可以在/usr/share/X11/xkb/rules
. 编辑与分发的不同,但我用它来看看他们是如何做到的。他们正在添加一个名为 的布局eu
,但我不知道如何选择语言eu
。再说一次,我不是专家。我们确实开发了一种更适合欧洲语言的替代方案
altgr-intl
,在此过程中,我们必须为新布局做类似的事情。适合所有人的键盘布局很难做出。EurKEY是在德国制造的,它显示:葡萄牙人经常使用 a-tilde 和 o-tilde,但它不在 EurKEY 上。我更喜欢我们的新altgr-weur,但我有偏见!
它确实如此,但它不会保持活动状态:您所做的可能会被 systemd 链中稍后发生的事情所覆盖。您需要尽可能晚地执行此操作,但是当您切换布局时这也将无法生存,并且每次切换键盘时都需要重做。
你可以把
在
.bashrc
做的最后有工作方法,但这也不会在切换键盘后继续存在。
如果这是一个问题,您发布的链接可以回答需要做什么:
最后一部分使其永久化,并且如果您切换键盘也将应用它。