Мощный способ выполнения команды / запуска скрипта при входе в систему?

У меня есть две команды, которые меняют поведение клавиатуры:

xset r rate 120 66 /usr/bin/setxkbmap -option "ctrl:nocaps" 

Когда я открываю терминал и выполняю его, они изменяют параметры автоматического повтора и перенаправляют CAPS LOCK для управления не только в окне терминала, но и для всей среды рабочего стола.

Я бы хотел, чтобы они запускались автоматически при входе в мою учетную запись (либо с использованием графического интерфейса, либо через ssh / etc.). Я бы хотел сделать это по-настоящему (т.е. не хочу использовать инструменты, связанные с дистрибутивом), и я не хочу использовать какие-либо инструменты графического интерфейса.

Я предположил, что есть файл, который выполняется при входе в систему, и я должен просто вставлять эти команды там, но добавление их в ~/.bash_login не имело никакого эффекта, аналогично ~/.bash_profile . С ~/.profile только эффект /usr/bin/setxkbmap -option "ctrl:nocaps" .

Как я могу это достичь?

Обычно вы помещаете X связанных элементов, которые вы хотите запустить в контексте пользователя (вас) в одном из двух файлов:

  • $ HOME / .xsession
  • $ HOME / .xinitrc

  • Для настольных компьютеров GNOME вы можете поместить команды в $ HOME / .gnomerc

  • Для KDE вы помещаете команды в $ HOME / .kde / Autostart

Альтернативный подход

Некоторые команды, такие как xset могут не работать из этих файлов. Если вы все равно хотите автоматизировать что-то подобное, вы можете добавить его как «Запуск приложения».

Шаг 1

Создайте сценарий оболочки, xset.bash .

 #!/bin/bash xset r rate 120 66 

Шаг 2

Добавьте задачу запуска для запуска сценария оболочки.

Откройте приложение « Запуск приложения» в разделе « Система» → «Настройки»

ss диалога # 1

Затем нажмите кнопку « Добавить»

ss диалога добавления

Как только вы закончите ОК и закройте диалоговые окна и проверите его выход из системы и зайдите в него.

Рекомендации

  • Начало X-сессии: .xinitrc и .xsession