Отключение клавиши Super для полноэкранных приложений в Ubuntu
Если при просмотре видео, играх или работе в полноэкранных приложениях случайное нажатие клавиши Super (Windows) открывает Unity Dash и мешает — можно отключить только это поведение. Решение — небольшой Python-скрипт «disable_super_key», который отслеживает полноэкранные окна и блокирует реакцию Super, когда приложение в полноэкранном режиме. Проверено на Ubuntu 16.04 LTS.
Важно: скрипт отключает только одиночное нажатие Super. Комбинации Super+… (например, Super+L) остаются активными.
Проблема и краткая идея решения
Когда приложение в полноэкранном режиме, нажатие клавиши Super может привести к открытию Unity Dash и прервать полноэкранный режим. Полностью «выключать» клавишу — не лучшая идея, если вы хотите вернуть её поведение в оконном режиме. Скрипт работает как «переключатель»: он отслеживает, есть ли активное полноэкранное окно, и временно блокирует реакцию окружения рабочего стола на отдельное нажатие Super.
Что понадобится
- Ubuntu 16.04 LTS (решение тестировалось на этой версии).
- Доступ к sudo для размещения скрипта в /opt или в другом каталоге.
- Python (интерпретатор в системе; при необходимости используйте python3).
Установка и запуск
- Откройте терминал и перейдите в /opt:
cd /opt- Скачайте репозиторий с авторским скриптом и сделайте его исполняемым:
sudo git clone https://github.com/SergKolo/sergrep.git
sudo chmod -R +x sergrep- Запустите скрипт (если в системе команда python указывает на Python 2, попробуйте python3):
python sergrep/disable_super_key.pyКоманда не выводит результата в терминал при обычном запуске — скрипт работает в фоне и перехватывает одиночные нажатия Super только для полноэкранных приложений.

Alt-текст изображения: обзор клавиатуры и интерфейса Ubuntu — акцент на клавишу Super.
Отладка
Если нужно увидеть, что делает скрипт, включите режим отладки. Откройте файл sergrep/disable_super_key.py и измените строку:
debug = Falseна
debug = TrueЗатем перезапустите скрипт из терминала. В режиме отладки скрипт будет печатать сообщения о событиях (например, когда он «видит» полноэкранное приложение и когда блокирует Super).

Alt-текст изображения: окно терминала с запущенным скриптом disable_super_key, индикатор состояния.

Alt-текст изображения: вывод отладочных сообщений скрипта при нажатии клавиши Super в полноэкранном приложении.
Автозапуск при входе в систему
Чтобы скрипт запускался автоматически при входе пользователя в сессию, можно создать .desktop файл в каталоге автозапуска:
- Создайте каталог автозапуска, если его нет:
mkdir -p ~/.config/autostart- Создайте файл ~/.config/autostart/disable-super-key.desktop со следующим содержимым:
[Desktop Entry]
Type=Application
Name=Disable Super Key for Fullscreen
Exec=python /opt/sergrep/disable_super_key.py
X-GNOME-Autostart-enabled=true
NoDisplay=falseПримечание: при необходимости замените путь к python на python3 или на полный путь к интерпретатору (/usr/bin/python3).
Когда это решение может не сработать
- На других версиях Ubuntu (например, более новых, с GNOME Shell или изменённым дисплейным менеджером) поведение окружения рабочего стола может отличаться — скрипт тестировался на Ubuntu 16.04 LTS.
- Если система использует другое окружение рабочего стола (не Unity), перехват нажатий и обработка полноэкранного состояния могут работать иначе.
- Скрипт не блокирует сочетания клавиш с Super; если проблема — именно сочетания, понадобится другой подход (см. раздел «Альтернативы»).
Альтернативные подходы
- Отключить Super глобально через xmodmap/xkb: полностью снимет функцию клавиши, но это неудобно, если вы хотите сохранить Super в оконном режиме.
- Использовать возможности Compiz/Unity (если доступны) для изменения привязки клавиши Super или переназначения вызова Dash.
- Для современных версий Ubuntu с GNOME Shell: использовать GNOME Tweaks или dconf для переназначения поведенческих шорткатов.
Мини-руководство по отладке и проверке
- Запустите скрипт вручную в терминале с debug=True и откройте полноэкранное приложение (видео или игру).
- Нажмите клавишу Super один раз — в режиме отладки вы должны увидеть сообщение о том, что событие было «Disabled».
- Закройте полноэкранное приложение и снова нажмите Super — Unity Dash должен открыться.
- Если Dash всё равно открывается в полноэкранном окне, проверьте: работают ли у вас права на чтение/запись для скрипта; не блокирует ли SELinux/AppArmor доступ; нет ли другого процесса перехватчика клавиш.
Критерии приёмки
- При запуске скрипта одиночное нажатие Super не вызывает Unity Dash для полноэкранных окон.
- После выхода из полноэкранного режима поведение Super возвращается к норме.
- Скрипт корректно стартует при входе в сессию (если настроен автозапуск).
Рекомендации по безопасности и приватности
- Скрипт перехватывает только события клавиши Super и не отправляет данные наружу.
- Размещайте сторонние скрипты из интернета только в доверенных директориях и проверяйте код перед запуском.
Шаблон для системного юнит-файла systemd (опционально)
Если вы предпочитаете запускать скрипт как systemd user unit, создайте файл ~/.config/systemd/user/disable-super-key.service:
[Unit]
Description=Disable Super key for fullscreen apps
[Service]
Type=simple
ExecStart=/usr/bin/python3 /opt/sergrep/disable_super_key.py
[Install]
WantedBy=default.targetЗатем включите и запустите:
systemctl --user enable --now disable-super-key.serviceЧек-лист для администратора/пользователя
- Клонирован репозиторий в безопасный каталог (/opt или домашний каталог).
- Установлены права на исполнение (chmod +x).
- Запущен скрипт вручную и проверен в режиме отладки.
- Настроен автозапуск (.desktop или systemd user unit).
- Проверена совместимость с текущей версией окружения рабочего стола.
Краткое сравнение подходов (когда выбирать что)
- Скрипт disable_super_key — удобен, если нужна локальная и временная блокировка Super только для полноэкранных приложений.
- xmodmap/xkb — подходит для полного отключения клавиши по умолчанию (радикально).
- Настройки окружения рабочего стола (Compiz/GNOME Tweaks) — предпочтительны, если вы хотите централизованно управлять шорткатами.
Факты и советы
- Скрипт не трогает сочетания клавиш с Super.
- На новых версиях Ubuntu (GNOME Shell) поведение Dash и механика перехвата клавиш отличается — проверьте совместимость.
1-line глоссарий
- Super: клавиша Windows/Meta на клавиатуре, используемая для вызова меню/дешборда.
- Unity Dash: интерфейс быстрого запуска и поиска в окружении Unity.
- SIGTERM: сигнал завершения процесса в Unix-подобных системах.
Краткое объявление для команды (100–200 слов)
Скрипт disable_super_key обеспечивает удобный способ предотвратить случайное открытие Unity Dash при работе с полноэкранными приложениями на Ubuntu 16.04 LTS. Он отслеживает состояние окон и временно блокирует одиночное нажатие клавиши Super только тогда, когда приложение находится в полноэкранном режиме, оставляя привычные сочетания клавиш с Super нетронутыми. Установка проста: клонируйте репозиторий, установите права и запустите скрипт. Для удобства можно настроить автозапуск через .desktop или systemd user unit. Перед развертыванием на рабочие станции рекомендуется проверить совместимость с вашей версией окружения рабочего стола.
Итог
Скрипт disable_super_key — простое и практичное решение для тех, кто хочет исключить раздражающие прерывания от случайного нажатия Super в полноэкранных приложениях, не лишая себя её привычного поведения в оконном режиме. Если вам нужно более универсальное или глобальное решение, рассмотрите переназначение клавиши через xmodmap/xkb или управление шорткатами через настройки окружения рабочего стола.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента