/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"
重新启动,它就可以工作了。