我在启动程序中设置了一个简单的脚本,但它从未在启动时运行。我必须手动运行该脚本。
# cat ~/.config/autostart/bash.desktop
[Desktop Entry]
Type=Application
Exec=/bin/bash -c sleep 5 && /home/jedrek/keyboard_keys_swapper.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[pl]=Keyboard keys swapper
Name=Name Xmodmap
Comment[pl]=Swap right Option with right Command
Comment=Swap right Option with right Command
Shell 脚本
cat ~/keyboard_keys_swapper.sh
#!/bin/bash
xmodmap -e "keycode 108 = Super_R"
xmodmap -e "keycode 134 = ISO_Level3_Shift"
为什么它无法运行以及如何修复它?
答案1
你写了:
Exec=/bin/bash -c sleep 5 && /home/jedrek/keyboard_keys_swapper.sh
桌面文件不支持这两个命令。请改为
Exec=/bin/bash -c 'sleep 5 && /home/jedrek/keyboard_keys_swapper.sh'
因此 bash 可以解释&&
(它理解的)并因此在延迟后执行你的脚本。