如何使用 systemd 启动 setxkbmap

如何使用 systemd 启动 setxkbmap

/lib/systemd/system/setxkbmap.service我正在使用 ubuntu 16.10。我创建了一个包含以下内容的文件。

[Unit]
Description=setxkbmap
After=lightdm.target

[Service]
Type=oneshot
User=searene
RemainAfterExit=true
ExecStart=/usr/bin/setxkbmap -option 'caps:ctrl_modifier'
Environment=DISPLAY=:0

[Install]
WantedBy=multi-user.target

searene是我在ubuntu上的用户名。

我启用了它。

sudo systemctl enable setxkbmap.service

我可以通过运行以下命令使其工作。

sudo systemctl start setxkbmap.service

但我无法让它在系统启动时自动运行。我收到一条错误消息Cannot open display ":0",为什么?哪里出了问题?

echo $DISPLAY顺便说一句,当我在 中运行命令时gnome-terminal,结果是:0

答案1

修改/etc/default/keyboard,改变

XKBOPTIONS=""

XKBOPTIONS="caps:ctrl_modifier"

重新启动,它就可以工作了。

相关内容