среда, 13 февраля 2013 г.

команда выключения монитора

    subprocess.call('xset dpms force off'.split())

            X.GrabModeAsync, X.GrabModeAsync, X.CurrentTime)

    root.grab_keyboard(True,

            X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime)

            X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask,

    root.grab_pointer(True,

    root = display.screen().root

    display = Display(':0')

    from Xlib.display import Display

    from Xlib import X

    import subprocess

    import time

Следующее, что нужно сделать это открыть текстовый редактор (например, gedit) и скопипастить следующий код:

sudo apt-get install python python-xlib

Для начала, вы должны установить, кроме самого питона пакет python-xlib. Для этого достаточно в терминале выполнить команду:

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

Как, наверное, многие знают, старый способ выключения монитора через использование команды xset:

Жаль, что возможность обычным способом выключать монитор горячей клавишей сломалась в одной из предыдуших версиях Убунту. Простенький симпатичный скрипт может вернуть этот нужный функционал (предположительно обладателям ноутбуков) за несколько несложных телодвижений.

Выключение монитора горячей клавишей

Выключение монитора горячей клавишей / Хабрахабр

Комментариев нет:

Отправить комментарий