Как связать пользовательское сочетание клавиш со скриптом bash в Ubuntu 13.04?


8

Как пользователь Ubuntu 13.04, у меня были различные проблемы и несовместимости с этой новейшей версией Ubuntu. Одним из них является то, что панель яркости внезапно исчезла из вкладки «Системные настройки -> Яркость и блокировка» после того, как я установил несколько пакетов (которые я действительно не помню, что это было). Я обнаружил, что обходной путь заключается в использовании xbacklight .

В качестве упражнения для себя я написал короткий скрипт, чтобы легко увеличивать и уменьшать яркость, используя xbacklight из терминала. Сценарий является исполняемым (имеет разрешение на выполнение), является каталогом, который включен в $ PATH в моем файле .bashrc и связан с псевдонимом («blup» для увеличения и «bldn» для уменьшения яркости экрана). Итак, два моих псевдонима (blup / bldn) работают отлично с терминальной линии. Затем я хотел связать их с некоторыми сочетаниями клавиш (например, F2 / F3). Я сделал это в «Системные настройки -> Клавиатура -> Ярлыки -> Пользовательские ярлыки», но это не сработало.

введите описание изображения здесь

Почему?

Кроме того, есть ли способ «обнаружить», где и как выполняются другие (нестандартные) команды сочетания клавиш? Например, ярлык увеличения громкости, к какой терминальной линии он относится, с каким псевдонимом он связан (если есть) и в какой каталог они помещены (/ usr / bin, что-то еще ...)?

Как новичок в написании сценариев, я был бы признателен за любую помощь!

Спасибо

PS1 Конечно, можно просто вставить команду 'xbacklight -inc / -dec 10' в пользовательские сочетания клавиш, и она будет работать нормально. Я просто хочу воспользоваться возможностью и узнать немного больше о написании и выполнении сценариев.

PS2 Моя проблема не такая, как эта: как запустить скрипт bash с помощью сочетания клавиш? т.е. я не использую '~ /' для '/ home / user /'.


Это может помочь вам askubuntu.com/questions/254424/…
Сет

Если вы изменили PATH .bashrc, это изменение будет доступно только в интерактивных сеансах bash; он не будет виден процессу, выполняющему сочетания клавиш. ~/.profileВместо этого измените PATH , затем выйдите и снова войдите.
geirha

Я попытался добавить путь, где мои скрипты находятся в .profile, как вы предложили, используя: PATH = $ PATH: / home / myusername / scripts или экспортировать PATH = $ PATH: / home / myusername / scripts, но ни один из они работали (после входа и выхода). Однако, если я добавлю полный путь к сценарию к сочетанию клавиш (sh /home/username/script/nameofscript.sh), он сработает. Что я здесь не так делаю?
Марио идти

Ответы:


4

Прежде всего, псевдонимы не расширяются в неинтерактивных оболочках. Читайте ALIASESраздел man bashв этом смысле. Таким образом, вы не можете использовать псевдоним в поле «Команда» при добавлении / редактировании пользовательского ярлыка.

Во- вторых, как и geirha сказал в этом комментарии , если вы изменили PATHв .bashrcфайле, что изменения не будут доступны в неинтерактивных оболочек. Таким образом, вам нужно изменить PATHв ~/.profileфайле вместо.

В- третьих, если вы хотите использовать только bldnв поле «Command» , когда вы добавлять / редактировать специальный ярлык, вы можете переименовать скрипт с этим именем и добавьте путь сценария к PATHв ~/.profileфайле, как я уже говорил выше.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.