У меня есть несколько приложений для запуска:
user@host:~$ ls -l .config/autostart/
. . .
. . . XXX.desktop
. . . YYY.desktop
. . . ZZZ.desktop
. . . setxkbmap.desktop
Среди них есть команда отключить Caps Lock:
setxkbmap -option caps:none
Во-первых, всякий раз, когда я пытаюсь отредактировать любую из этих команд запуска с помощью sleep
, они, похоже, не работают:
sleep 20; setxkbmap -option caps:none
или же...
sleep 20 && setxkbmap -option caps:none
И, во-вторых, если я удаляю команду sleep из всех команд запуска, а затем помещаю команду отключения Caps Lock вверху списка, она не работает, но другие работают ...
Все команды, если они выполняются в терминале, вне запускаемых приложений, работают нормально, поэтому я не уверен, почему они не работают при загрузке.
ОБНОВИТЬ
Основываясь на ответе @ Xen2050, я адаптировал предложенные им методы в работоспособное решение. Для двух команд запуска я использую эту форму:
bash -c "sleep 20; specific_command"
А остальные я оставил в качестве команд запуска по умолчанию. Это нормально, потому что машина загружается быстрее, а команда отключения Caps Lock работает согласованно.
ОБНОВЛЕНИЕ 2
Провел дополнительное исследование и выяснил, что xkb
, вероятно, лучший способ отключить Caps Lock. Поскольку этот вопрос касался запуска приложений, принятый ответ действителен. Но если кто-то еще придет сюда в поисках отключения ключа Caps Lock в Ubuntu 16.04, вот несколько полезных советов:
https://askubuntu.com/questions/82837/how-do-i-make-the-caps-lock-key-a-third-shift-key
https://askubuntu.com/questions/53038/how-do-i-remap-the-caps-lock-key
https://unix.stackexchange.com/questions/90089/remapping-both-caps-lock-and-shiftcaps-lock-in-xkb
Я пошел с редактированием /usr/share/X11/xkb/symbols/pc
, но я думаю, что использование пользовательских переопределений, вероятно, является правильным способом сделать это (как предложено @quixotic):
Сделайте так, чтобы Терминал распознавал PageUp и PageDown при переназначении на разные ключи