Для зв'язування гарячих клавіш з програмами в різних дистрибутивах Лінукса розробники пропонують свої власні кошти. Або. не пропонують, як, наприклад, в LXDE. І правильно, Лінукс багато, всім не догодиш. Але є просте рішення, придатне для переважної більшості Лінукс.
На щастя, незважаючи на різношерстий оболонок, все ж в Лінуксі є два основних стандарту - це ядро і X-сервер (горезвісні «ікси»). Останній - це те, що пов'язує ядро з графічним дисплеєм (монітор + клавіатура) і мишею користувача. Без «іксів» Лінукс теж працює, але в алфавітно-цифровому режимі. Будь-яке рух тіла користувача перехоплюється «іксами». Це і дозволило стандартизувати утиліту, яка б пов'язала гарячі клавіші з запусками різних програм. Називається утиліта xbindkeys, є практично у всіх репозиторіях і встановлюється стандартно за допомогою емулятора терміналу:
sudo apt-get install xbindkeys
Далі для стислості утиліту xbindkeys я буду називати «бінділкой». Запускається бінділка командою
Відразу після установки може бути відсутнім керуючий прихований файл .xbindkeysrc, про що бінділка вам повідомить при першому ж запуску. В такому випадку треба встановити дефолтний керуючий файл командою
xbindkeys --defaults> /home/імя_пользователя/.xbindkeysrc
Або створити порожній керуючий файл командою
Займемося складанням таблиці кодів усіляких поєднань клавіш (поки без прив'язки до командам). Бінділка має власну нотацію поєднань клавіш. Однак бінділка досить розумна і може сама про все розповісти користувачеві. Для того, щоб подивитися коди поєднань, зрозумілі бінділке, запустимо її з опцією:
З'явиться невелике порожнє вікно. Його завдання - перетягнути на себе фокус менеджера вікон, незалежно від того, де це фокус знаходиться. Тепер подія натискання будь-якої комбінації клавіш можуть захопити, декодовано і виведено на екран саме в тій нотації, в якій працює бінділка, після чого фокус повертається на місце. Отже, кожен раз запускаючи вищенаведену команду, тиснемо клавіші або їх поєднання і спостерігаємо, що виводиться у вікно емулятора термінала.
Правий Shift + Pause - виводиться:
Лівий Shift + Pause - виводиться:
І т.д. Перший рядок - власна нотація бінділкі, друга - більш звична для користувача нотація. Як бачимо, якщо користуватися «легкотравної» нотацією, то бінділка НЕ буде розрізняти ліву і праву клавіші зсуву, альтернативи або управління. Отже, власна нотація бінділкі краще.
Усе! Але одне важливо: щоб зміни в файлі .xbindkeysrc вступили в силу, необхідно або перелогініться, або перезапустити X-сервер, або перезавантажитися, або просто перезапустити бінділку.
Передбачаю невдоволення з боку тих, хто звик кликати, а не друкувати. Не поспішайте. Для бінділкі розроблений графічний інтерфейс (GUI), який встановлюється командою
sudo apt-get install xbindkeys-config
Запускається графічний інтерфейс командою
При цьому відкривається ось таке вікно:
Робота з цим графічним інтерфейсом дуже проста. Розберемо по кроках.
Кількома кнопку «New» і в полі «Name» вписуємо пояснення до виконуваної команді.
Кількома кнопку «Get Key». При цьому відкриється вікно, вже знайоме по запуску команди xbindkeys -k. Тиснемо гарячу комбінацію. Вона запам'яталася в спеціальному кеші, звільняючи користувача від копіпастінга бінділкіной нотації.
В поле «Action» вписуємо виконувану команду або назва програми, шлях до якого прописаний в змінній оточення PATH. Інакше необхідно перед ім'ям вказувати шлях. Зокрема, можна вписати і шлях з ім'ям скрипта. написаного на будь-якому з зрозумілих Лінукс мов: bash, sh, perl, piton і т.д.
Щоб гаряче поєднання вступило в силу негайно, натискаємо «Apply». Воно буде активним до перезавантаження або до перелогініванія. Щоб гаряче поєднання стало постійним, його треба зберегти кліком по «SaveApply».
Оскільки файл, що описує зв'язку гарячих клавіш з запусками програм, зберігається в домашній папці, то різні користувачі можуть мати різні набори гарячих клавіш. Більш того, один і той же користувач теж може створювати собі різні набори гарячих клавіш для різних робіт. (Ну як тут не згадати про концепцію кімнат?) Для цього всього лише потрібно зробити дві речі: 1) склавши за допомогою GUI набір зв'язок, зберегти його у файлі, ім'я якого відрізняється від стандартного .xbindkeysrc, і 2) при запуску бінділкі вказати , яким набором гарячих клавіш треба скористатися:
xbindkeys -f імя_набора
Щоб не набирати останню команду, можна або створити для неї значок на робочому столі. або в кожному наборі гарячих клавіш описати клавіші, що включають бажаний набір.
Немає необхідності прописувати бінділку в автозавантаження. Одного разу встановлена бінділка запускається при запуску «іксів» (не плутайте з автозавантаженням!). Якщо з якоїсь причини вам або іншому користувачу така поведінка не подобається, створіть в домашній папці користувача порожній файл .xbindkeys.noauto.
Чи зможете зробити подібне так само просто в Windows незалежно від версії? Не думаю.
Версія для друку