Призначаємо гарячі клавіші в ubuntu і не тільки

Для зв'язування гарячих клавіш з програмами в різних дистрибутивах Лінукса розробники пропонують свої власні кошти. Або. не пропонують, як, наприклад, в 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

Запускається графічний інтерфейс командою

При цьому відкривається ось таке вікно:


Призначаємо гарячі клавіші в ubuntu і не тільки

Робота з цим графічним інтерфейсом дуже проста. Розберемо по кроках.

Кількома кнопку «New» і в полі «Name» вписуємо пояснення до виконуваної команді.

Кількома кнопку «Get Key». При цьому відкриється вікно, вже знайоме по запуску команди xbindkeys -k. Тиснемо гарячу комбінацію. Вона запам'яталася в спеціальному кеші, звільняючи користувача від копіпастінга бінділкіной нотації.

В поле «Action» вписуємо виконувану команду або назва програми, шлях до якого прописаний в змінній оточення PATH. Інакше необхідно перед ім'ям вказувати шлях. Зокрема, можна вписати і шлях з ім'ям скрипта. написаного на будь-якому з зрозумілих Лінукс мов: bash, sh, perl, piton і т.д.

Щоб гаряче поєднання вступило в силу негайно, натискаємо «Apply». Воно буде активним до перезавантаження або до перелогініванія. Щоб гаряче поєднання стало постійним, його треба зберегти кліком по «SaveApply».

Оскільки файл, що описує зв'язку гарячих клавіш з запусками програм, зберігається в домашній папці, то різні користувачі можуть мати різні набори гарячих клавіш. Більш того, один і той же користувач теж може створювати собі різні набори гарячих клавіш для різних робіт. (Ну як тут не згадати про концепцію кімнат?) Для цього всього лише потрібно зробити дві речі: 1) склавши за допомогою GUI набір зв'язок, зберегти його у файлі, ім'я якого відрізняється від стандартного .xbindkeysrc, і 2) при запуску бінділкі вказати , яким набором гарячих клавіш треба скористатися:

xbindkeys -f імя_набора

Щоб не набирати останню команду, можна або створити для неї значок на робочому столі. або в кожному наборі гарячих клавіш описати клавіші, що включають бажаний набір.

Немає необхідності прописувати бінділку в автозавантаження. Одного разу встановлена ​​бінділка запускається при запуску «іксів» (не плутайте з автозавантаженням!). Якщо з якоїсь причини вам або іншому користувачу така поведінка не подобається, створіть в домашній папці користувача порожній файл .xbindkeys.noauto.

Чи зможете зробити подібне так само просто в Windows незалежно від версії? Не думаю.

Версія для друку

Схожі статті