Twice2down
Script, který ve spolupráci s acpid počítá stisky Power Buttonu nebo jiného čudlíku a podle jejich počtu vykoná nastavený příkaz. Konfigurace je provedena několika proměnými na začátku skriptu. Acpid musí být nastaven tak, aby při stisku onoho čudlíku spustil tento script.
Popis činnosti
Nejdříve skript zkontroluje, zda není zablokován. To je uloženo v souboru
$switch_file
(default: /var/run/twice2down/disabled) –
pokud obsahuje „1“ je zablokován. K tomuto souboru by měli mít
přístup všichni uživatelé s právem vypnout počítač.
Poté se skript znovu spustí na pozadí. Původní vlákno se ukončí a nové
pokračuje v činnosti. Inkrementuje počítadlo v $counter_file
(default: /var/run/twice2down/count), počká daný časový limit
($timeout
) a nakonec zjistí, zda se obsah počítadla během počítání
nezměnil. Pokud se nezměnil, tak provede příkaz odpovídající obsahu
počítadla. Jako signalizaci spuštění příkazu také zapípá (podle obsahu
počítadla). V případě, že se obsah čítače změnil, byl mezitím skript znovu
spuštěn a proto se tato instance skriptu ukončí – spuštění příkazu
obstará nová instance skriptu, která měnila obsah čítače během čekáni.
Instalace a provázání se systémem
Nejdříve je potřeba mít funkční acpid nebo jiného démona na snímání událostí z ACPI, popř. APM. Skript twice2down je určen k tomu, aby byl spouštěn tímto démonem místo defaultních příkazů k vypnutí počítače.
Aby byl skript funkční, je třeba vytvořit adresář
/var/run/twice2down
s možností zápisu rootem a v něm soubor
disabled
, do kterého budou mít uživatelé právo k
zápisu.
Skript pwrbtn je určen k povolování, resp. zakazování, činnosti skriptu
twice2down. Instalace spočívá v pouhém zkopírování do /usr/bin
nebo
/usr/local/bin
a nastavení vhodných práv a vlastníka. Použití je prosté:
"pwrbtn [on|off]
". "on" povolí činnost sktrptu twice2down a "off" ji
zakáže. Osobně tento skript nechávám automaticky spouštět při přihlášení a
odhlášení, takž pokud jsem přihlášen, tak nevadí, když se mi pes otře o vypínač
;)