Как "усыпить" монитор?

Настройка графического интерфейса, Иксов, десктопов, оконных менеджеров и иксовых терминалов

Модератор: Модераторы разделов

Аватара пользователя
Zeus
Сообщения: 694

Как "усыпить" монитор?

Сообщение Zeus »

Требуется программно вывести монитор в режим ожидания (с жёлтой лампочкой который).
Совсем замечательно - если так же программно можно и вывести из этого режима.
Программа моя. Не графическая (у неё даже пользовательского интерфейса нет).
Может там в какой-нибудь файлик в /proc или в /dev что-нибудь писать надо?
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

Требуется программно вывести монитор в режим ожидания (с жёлтой лампочкой который).
Совсем замечательно - если так же программно можно и вывести из этого режима.
Программа моя. Не графическая (у неё даже пользовательского интерфейса нет).
Может там в какой-нибудь файлик в /proc или в /dev что-нибудь писать надо?
Спасибо сказали:
Аватара пользователя
Jinn
Сообщения: 698
Статус: Интересующийся бывалый прохожий

Re: Как "усыпить" монитор?

Сообщение Jinn »

А это вообще возможно? У меня только в биосе такой режим выставляется. А програмно только скринсевер с летающими закорючками.
Don't trouble troubles until troubles trouble you!
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

Ну вообще-то это же как-то делается: через какое-то время как-то драйверу видяхи сообщают, что нужно погасить моник нафиг. Не заставку запустить, а именно выключить экран, чтобы кнопочка Power загорелась жёлтым цветом.
Спасибо сказали:
Аватара пользователя
Snupt
Бывший модератор
Сообщения: 2062
Статус: No Place for RTFM Here…
ОС: Mac OS X

Re: Как "усыпить" монитор?

Сообщение Snupt »

Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

Спасибо.
Хотя там не то: там человек пытается машину усыплять, а мне нужно моник.
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X

Re: Как "усыпить" монитор?

Сообщение TuLiss »

Zeus писал(а):
09.06.2006 20:00
Спасибо.
Хотя там не то: там человек пытается машину усыплять, а мне нужно моник.



что то в таком духе. Эти опции для жк

Option "BlankTime" "5"
Option "StandbyTime" "10"
Option "SuspendTime" "20"
Option "Offtime" "30"
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: Как "усыпить" монитор?

Сообщение sdk »

Я конечно не спец в этом вопросе, но мне кацца, что это нужно делать через X-овые функции.
Которые в Xlib то есть. В ней я еще больше не спец :).
Кодовое слово - DPMS :).

Тут, конечно, возникает вопрос - программа-то не графическая.
А вопрос такой - может ли программа полагаться на факт наличия запущенного X сервера?
Потому как работа с Xlib начинается с функции типа openDisplay(Display*), насколько я помню :).
Если может, то нужно поискать нужную функцию, вызвать ее, прилинковать Xlib.

Если нет, то я - пас (в плане ответа на вопрос).
И вспоминается мне, что когда сидишь в консоли, то есть без иксов, и долго ничего не делаешь, то экран просто становиться черным - монитор не засыпает. Может из консоли это нельзя делать?

Вот.
Все что знал рассказал :D.
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

TuLiss писал(а):
09.06.2006 20:17
Zeus писал(а):
09.06.2006 20:00

Спасибо.
Хотя там не то: там человек пытается машину усыплять, а мне нужно моник.



что то в таком духе. Эти опции для жк

Option "BlankTime" "5"
Option "StandbyTime" "10"
Option "SuspendTime" "20"
Option "Offtime" "30"

Это что такое?
Мне не моник настроить нужно, а чтобы моя программа в нужный момент времени его гасила.
А потом когда надо - опять "зажигала".
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

Спасибо!
Я вот тоже в сторону X'ов косюсь.
Но думал может что попроще есть... :)
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: Как "усыпить" монитор?

Сообщение sdk »

KDE умеет выставлять настройки DPMS:

Код: Выделить всё

kcmshell display
третья закладка


Можно покопаться в исходниках.
Должно быть где-то в районе kdebase/kcontrol/energy/energy.cpp
Вот кусочек (целиком не буду постить)

Код: Выделить всё

#ifdef HAVE_DPMS
#include <X11/Xmd.h>
extern "C" {
#include <X11/extensions/dpms.h>
Status DPMSInfo ( Display *, CARD16 *, BOOL * );
Bool DPMSCapable( Display * );
int __kde_do_not_unload = 1;

#ifndef HAVE_DPMSCAPABLE_PROTO
Bool DPMSCapable ( Display * );
#endif

#ifndef HAVE_DPMSINFO_PROTO
Status DPMSInfo ( Display *, CARD16 *, BOOL * );
#endif
}

#if defined(XIMStringConversionRetrival) || defined (__sun) || defined(__hpux)
extern "C" {
#endif
    Bool DPMSQueryExtension(Display *, int *, int *);
    Status DPMSEnable(Display *);
    Status DPMSDisable(Display *);
    Bool DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *);
    Bool DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16);
#if defined(XIMStringConversionRetrival) || defined (__sun) || defined(__hpux)
}
#endif
#endif

По крайней мере функции есть ;)
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
Vidoc
Сообщения: 231
ОС: Gentoo ~x86

Re: Как "усыпить" монитор?

Сообщение Vidoc »

Аффтар, что с тобой? Зачем 2 темы одинаковые?!
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

Ну да, функции есть :)
Спасибо ещё раз за наводку.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

Так она и там и здесь вроде "в тему".
И там и тут могут быть знающие люди, но они ж не будут по всему форуму шастать.
Спасибо сказали:
Аватара пользователя
TeMy4uH
Сообщения: 150

Re: Как "усыпить" монитор?

Сообщение TeMy4uH »

Zeus писал(а):
10.06.2006 02:53
TuLiss писал(а):
09.06.2006 20:17

Zeus писал(а):
09.06.2006 20:00

Спасибо.
Хотя там не то: там человек пытается машину усыплять, а мне нужно моник.



что то в таком духе. Эти опции для жк

Option "BlankTime" "5"
Option "StandbyTime" "10"
Option "SuspendTime" "20"
Option "Offtime" "30"

Это что такое?
Мне не моник настроить нужно, а чтобы моя программа в нужный момент времени его гасила.
А потом когда надо - опять "зажигала".


Это настройки иксов. Происав их в конфиг монитор будет отключаться в определённый момент. Не понятно только зачем нужно, чтобы монитор потом ещё и сам включался без какой-либо активности юзера...
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Как "усыпить" монитор?

Сообщение alv »

Zeus писал(а):
10.06.2006 11:14
Так она и там и здесь вроде "в тему".
И там и тут могут быть знающие люди, но они ж не будут по всему форуму шастать.

темы объединил
автору - плюс за дубель
знающие люди могут случиться также в разделе Red Hat, Тематическом флейме и даже в играх - это не значит, что в каждом нужно создавать по теме :)
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: Как "усыпить" монитор?

Сообщение sdk »

Фу ты блин!
Ошень я удивился не найдя эту тему в Программировании.
alv, лучше было объединить там.
Вопрос-то касательно написания проги => туда ему и дорога.

В этом форуме и ответы пошли соответствующие: подправить xconfig :D.
Ага, программе это поможет :).

В опщем ладно, я уже все равно "все что знал рассказал".

ЗЫ. Тут поблизости бродют адепты русского языка? Кто-нибудь в курсе? А то я написал в этом посте "очень" через "ш" и "общем" через "п". И с запятыми в паре мест не уверен. Ругаться еще будут... :D
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

alv писал(а):
10.06.2006 12:56
Zeus писал(а):
10.06.2006 11:14

Так она и там и здесь вроде "в тему".
И там и тут могут быть знающие люди, но они ж не будут по всему форуму шастать.

темы объединил
автору - плюс за дубель

Да пожалуйста-пожалуйста.

alv писал(а):
10.06.2006 12:56
знающие люди могут случиться также в разделе Red Hat, Тематическом флейме и даже в играх - это не значит, что в каждом нужно создавать по теме :)

Только в Red Hat, а тем более в играх этот вопрос был бы не очень-то по теме форума.
А в GUI и в программировании - вполне в тему.
И необязательно люди владеющие вопросом будут сидеть и в той и в другой теме - надо "ловить" их там где они обитают :D

PS: Ничего если я эту тему ещё на одном программёрском форуме запостил? :unsure:
:P

TeMy4uH писал(а):
10.06.2006 12:36
[Не понятно только зачем нужно, чтобы монитор потом ещё и сам включался без какой-либо активности юзера...

Требование заказчика, итить его...


sdk писал(а):
10.06.2006 15:24
В этом форуме и ответы пошли соответствующие: подправить xconfig :D.
Ага, программе это поможет :).

Ну я-то запостил сюда как-раз из расчёта получить красивое "linux'овое" решение, вроде:
echo 0 > /proc/monitor

ну и я бы его реализовал в своей программе.
А коли нет такого - придётся шариться по X'овым функциям - тогда действительно тема не на месте: ей в Программировании лежать надо.
Спасибо сказали:
Аватара пользователя
Shlomo
Сообщения: 839
ОС: ArchLinux

Re: Как "усыпить" монитор?

Сообщение Shlomo »

В разделе "Monitor" в /etc/X11/xorg.conf добавляешь
Option "dpms"
а время и все остальное выставляешь в xscreensaver.
Изображение
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

Сейчас Линухов под рукой нет проверить.
А что там за настройки появятся в screensaver'ах? Типа, моя программа сможет усыпить и разбудить моник когда захочет?
Спасибо сказали:
Аватара пользователя
Shlomo
Сообщения: 839
ОС: ArchLinux

Re: Как "усыпить" монитор?

Сообщение Shlomo »

Запускаешь #xscreensaver , в Advansed ставишь через сколько минут-часов вырубать монитор.
Или если кде, то в Controlcenter.
Изображение
Спасибо сказали:
cache
Сообщения: 10

Re: Как "усыпить" монитор?

Сообщение cache »

Наберите в консоли

xset dpms force off

Порадуйтесь результату. Вдумчиво почитайте man xset. И будет Вам щасте. :)

Само собой, для монитора должно быть разрешено использование DPMS.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как "усыпить" монитор?

Сообщение Zeus »

cache писал(а):
12.06.2006 20:35
Наберите в консоли

xset dpms force off

Порадуйтесь результату. Вдумчиво почитайте man xset. И будет Вам щасте. :)

Само собой, для монитора должно быть разрешено использование DPMS.

О, точно фунциклирует!
Спасибо! :)
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: Как "усыпить" монитор?

Сообщение Den001 »

Наберите в консоли

xset dpms force off

А как его после этого включить? Т.е. я набираю что-то в духе
xset dpms force on
Моник включается, но почему-то с включенным скринсейвером. Кто-нибудь может подсказать, как его полноценно включить из консоли?
Спасибо сказали:
Аватара пользователя
BaZilio
Сообщения: 457
Статус: Say оПХБЕР again!

Re: Как "усыпить" монитор?

Сообщение BaZilio »

killall xscreensaver; xset dpms force on
?

Windows XP:
Netbook - Acer Aspire One A150.
Debian Squeeze amd64:
Laptop - Acer TravelMate 5520G.
Laptop_work - Toshiba Satellite C660.
Windows 7 x64:
Desktop - Core2Duo 6600 2.4GHz/6 GB/i965/GeForce 9500GT.

4 the lulz!
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: Как "усыпить" монитор?

Сообщение Den001 »

Почти. Спасибо за подсказку. Но такого процесса нету xscreensaver.
Как одно из решений, моно убить вот это
killall kdesktop_lock. Правда это открывает дыру в системе безопасности. Например, если я залочу комп, то его достаточно легко будет разблокировать :( Может кто знает другое решение?
ЗЫ: усыплять и пробуждать моник хочу с пульта. Данное решение приводит к тому, что нажатием кнопки на пульте можно разблокировать компьютер :(
Спасибо сказали:
Аватара пользователя
z41
Сообщения: 56
ОС: Debian 3.1 r0a "Sarge"

Re: Как "усыпить" монитор?

Сообщение z41 »

Хм... а нафига вообще тогда врубать монитор с пульта, если ты его не собираешься разблокировать? Все равно ты на мониторе ничего не увидишь кроме окна разблокировки.
зы: я так понимаю, что это десктопный комп, нафига на нем сильно загоняться по безопасности? (имеется ввиду не сетевая безопасность, а именно локальный доступ к компу). Боишься, что девушка найдет личную переписку с толпой icq-подружек? :)
Спасибо сказали:
Аватара пользователя
cheer
Сообщения: 729
Статус: Самовлюблённый сноб
ОС: archlinux i686-current

Re: Как "усыпить" монитор?

Сообщение cheer »

Ещё есть vbetool... Работает как в консоли, так и в X.
Спасибо сказали: