Как отключить монитор с помощью горячей клавиши в Ubuntu

Как отключить монитор с помощью горячей клавиши в Ubuntu
Как отключить монитор с помощью горячей клавиши в Ubuntu

Видео: Как отключить монитор с помощью горячей клавиши в Ubuntu

Видео: Как отключить монитор с помощью горячей клавиши в Ubuntu
Видео: Этот номер порвал зал до слез - ТРАНСВЕСТИТ на Лиге Смеха! - YouTube 2024, Апрель
Anonim
Традиционный способ отключить ваш монитор с помощью горячей клавиши был нарушен для нескольких версий. Довольно простой скрипт Python может надежно и эффективно вернуть эту функциональность.
Традиционный способ отключить ваш монитор с помощью горячей клавиши был нарушен для нескольких версий. Довольно простой скрипт Python может надежно и эффективно вернуть эту функциональность.

Старый способ отключить ваш монитор был через команду xset:

xset dpms force off

В этом есть несколько вариантов, но, поскольку Ubuntu Karmic (9.10), он был сломан. Некоторые из системных вызовов, по-видимому, хорошо ладят с этой командой, заставляя экран просыпаться через минуту. После довольно долгого раздражения я нашел несколько решений на форумах Ubuntu. Запуск этой команды в цикле, по-видимому, требует интенсивного процессора, и нет очень элегантного способа избежать этого. К счастью, один пользователь, nxmehta, нашел решение, использующее простой скрипт Python, и работает на все, начиная от Karmic и заканчивая Natty.

Прежде всего, вам нужно иметь несколько зависимостей, поэтому откройте терминал и введите следующую команду:

sudo apt-get install python python-xlib

Это установит пакеты python и python-xlib, если они уже не установлены. Затем откройте текстовый редактор (gedit) и скопируйте / вставьте следующий текст:

#!/usr/bin/python import time import subprocess from Xlib import X from Xlib.display import Display display = Display(':0') root = display.screen().root root.grab_pointer(True, X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask, X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime) root.grab_keyboard(True, X.GrabModeAsync, X.GrabModeAsync, X.CurrentTime) subprocess.call('xset dpms force off'.split()) p = subprocess.Popen('gnome-screensaver-command -i'.split()) time.sleep(1) while True: print display.next_event() p.terminate() break

Сохраните файл где-нибудь с соответствующим именем. Я застрял в ~ / bin / screen off.sh с остальными моими сценариями.
Сохраните файл где-нибудь с соответствующим именем. Я застрял в ~ / bin / screen off.sh с остальными моими сценариями.

Затем щелкните файл правой кнопкой мыши и откройте «Свойства».

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

Теперь вы можете назначить его любой комбинации клавиш! Я хотел бы установить мой Caps Lock, поэтому мне пришлось сначала отключить этот ключ. Вы можете сделать это, перейдя в «Клавиатура»> «Макеты»> «Параметры».

Здесь выберите «Caps Lock is disabled» в разделе «Caps Lock».
Здесь выберите «Caps Lock is disabled» в разделе «Caps Lock».

Чтобы назначить этот скрипт ярлыку на клавиатуре, откройте «Настройки ярлыков клавиатуры».

Нажмите «Добавить», дайте ярлыку имя, и команда будет просто местом расположения сценария. Нажмите «Применить», затем щелкните по ярлыку, чтобы установить его. Если вы отключили Caps Lock, вы увидите, что он указан как «VoidSymbol», но он будет работать без сбоев.
Нажмите «Добавить», дайте ярлыку имя, и команда будет просто местом расположения сценария. Нажмите «Применить», затем щелкните по ярлыку, чтобы установить его. Если вы отключили Caps Lock, вы увидите, что он указан как «VoidSymbol», но он будет работать без сбоев.

Это довольно долго подтачивало меня, и решение было немного сложнее найти, что со всеми жалобами, плавающими вокруг. Надеюсь, это поможет вам сохранить аккумулятор ноутбука.

Рекомендуемые: