Vlastní spořič obrazovky

Založil Roman Horník, 25. 06. 2010, 19:01:43

Předchozí téma - Další téma

Roman Horník

Nazdar,

chvíli přemejšlím, jak si vytvořit vlastní spořič obrazovky, nemyslím tím ale nějakou tu rozhejbanou čmáranici, ale náhradu za gnome-screensaver, kterej by uměl po přednastaveným čase neaktivity:

- přepnout monitor do stand-by (umím)
- podtaktovat GPU a VRAM u NV (umím; u mně to jde na asi 150MHz/200MHz z původních 500MHz/600MHz)
- snížit frekvenci obou jader CPU (to je bez problému, u mně to běží na 2GHz jen při zátěži, jinak na 1.2GHz, zřídkakdy na 1.6GHz)
- zastavit nepoužívaný disky (umím; 3 disky, přes hdparm)

Jak je vidět, je to spíš takovej šetřič energie (Bursík by měl radost), ale nevím, kde odchytit signál z klávesnice a myši, jak to potom zpracovat, aby z toho lezly jen 2 stavy (hejbnuto-nehejbnuto, něco určitýho/cokoliv jinýho), který bych odebíral a zpracovával v určitým časovým intervalu, např. 1s, nechci tedy nic, co by mi po monitoru běhalo, jen vypnout co jde a minimalizovat spotřebu toho, co vypnout nejde.

P. S. 1: Jo a chci to napsat v BASHi.
P. S. 2: Nebo pokud by se dal průběžně zjišťovat aktuální stav gnome-screensaveru (aniž by se díky tomu změnil jeho stav), pak by to mohlo sloužit jako přídavnej skript, to by mohlo stačit. Sám je nastavenej tak, aby jen vypnul monitor.

Stroj běží 24/7 (server) a nechci, aby v nečinnosti zbytečně moc žral.


Předem díky moc za návrhy!
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

Erich Stark

Ahoj, v tvojom probleme ti pomoct neviem, ale chcel by som sa spytat ako sa da spravit to vsetko naco si napisal "umim" docela by mne to zaujimalo.
" The box said that I needed to have Windows XP or better ... so I installed Debian ."

Roman Horník

Vypnutí monitoru:
xset dpms force off

Změna taktu GPU a VRAM:
nvidia-settings -a GPUOverclockingState=1 -a GPU3DClockFreqs=f₁,f₂

Uspání disku:
hdparm -Y /dev/sdX


f₁ = takt GPU; f₂ = takt VRAM, obojí v MHz
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

koljin

Ahoj,

Spořič obrazovky se mi taky zdá jako úplná ptákovina... Ve skutečnosti je to spíš antispořič, počítač je mnohem vytíženější než při běžný práci a žere víc energie...

Já to budu asi nejspíš řešit takhle:

- shellovej skript, kde se nastaví úspornej režim, vypne monitor atd... (zhruba to, co si popsal)
- program, kterej zamkne obrazovku (jediný, co se mi ze screensaveru hodí :D)
- program, kterej to všechno spustí, když nějakou dobu nic nedělám

První část máš zdá se vyřešenou, a co se týče těch druhejch dvou, tak se koukni na proramy xautolock a xtrlock (oba v repozitářích). Škoda, že nevim o nějakym standardnim mechanizmu, jak detekovat nečinnost a reagovat na to - všechno pak musí mít "vlastní" prográmek, kterej je puštěnej a kontroluje to. Koukal sem, jestli acpi nemá příslušnej event, ale zdá se že ne. Kdybyste někdo o něčem takovym věděli, tak sem s tim :)

Roman Horník

Tak ani doteď jsem s tím nehejbnul, chybí mi jenom ta detekce. Jasný, můžu catnout /dev/input/mouse0, ale jak ten sajrajt filtrovat?
A to jsem ještě přitvrdil. Chci totiž, aby se při přerušení horizontální synchronizace na VGA přerušilo napájení zesilovače a tiskárny. Hardware mám v palici, jen ho postavit :)
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz