Команда не работает в etc/rc.local ubuntu

Вот мой весь файл rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cd ~/xcape && ./xcape -e 'Control_L=Escape'
exit 0

В Ubuntu мне нужно запустить./xcape -e 'Control_L=Escape' внутри каталога xcape, чтобы заставить мои caps lock работать как клавиша esc при нажатии самой клавиши, и управлять при удерживании.

Мне нужно запускать эту команду каждый раз, когда я запускаю свой компьютер, что раздражает, поэтому я читаю вещи для автоматического запуска этой команды при запуске, и источники говорят, что они выполняют команды выше выхода 0, и это имеет абсолютные пути. Когда я выключаю компьютер и включаю его, он не работает, и мой ключ блокировки заглавных букв действует как контроль, но не сбегает, как должно. Вот почему я прихожу к выводу, что моя команда не выполняется. что я должен делать?

1 ответ

Немного в возрасте, но на всякий случай попробуйте добавить полный путь к команде, так как ~ не будет расширяться таким образом ./ не сработает что-то вроде

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
# 
# By default this script does nothing.
/home/<USER>/xcape -e 'Control_L=Escape'
exit 0

где - ваше имя пользователя. Также проверьте, что /etc/rc.local является исполняемым chmod +x /etc/rc.local

Другие вопросы по тегам