abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
8.8. 15:55 | Komunita

Free Software Foundation (FSF, Nadace pro svobodný software) publikovala nové video s názvem The University of Costumed Heroes. Jedná se o součást kampaně za používání svobodného softwaru při distanční výuce.

Ladislav Hagara | Komentářů: 29
7.8. 13:33 | Zajímavý projekt

Vývojáři přenosného počítače Pocket Popcorn Computer (Pocket P.C.) (zprávička) informují na svém blogu, že návrh hardwaru zveřejnili na GitHubu pod licencí CC BY-SA 3.0 US.

Ladislav Hagara | Komentářů: 9
7.8. 08:00 | Zajímavý článek

David Revoy, autor mj. komiksu Pepper&Carrot, zveřejnil novou iteraci své instalační příručky pro použití Kubuntu, nyní 20.04, jako grafické pracovní stanice.

Fluttershy, yay! | Komentářů: 5
7.8. 02:00 | IT novinky

Počátkem roku někdo odcizil z Intelu několik GB citlivých dat. Prvních 20 GB bylo zveřejněno [Hacker News, ZDNet].

Ladislav Hagara | Komentářů: 12
6.8. 19:33 | Nová verze

Bylo vydáno Ubuntu 20.04.1 LTS, tj. první opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn. Součástí oznámení je infografika Ubuntu od 2004 do 20.04 LTS (png).

Ladislav Hagara | Komentářů: 0
6.8. 18:00 | Pozvánky

MojeFedora.cz upozorňuje na letošní Flock aneb letošní online konferenci zaměřenou na přispěvatele do Fedory. Konference probíhá od zítra 7. srpna do neděle 9. srpna, viz program.

Ladislav Hagara | Komentářů: 0
6.8. 15:00 | Nová verze

Po půl roce od vydání verze 2.31 byla vydána verze 2.32 knihovny glibc (GNU C Library). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 1
6.8. 09:33 | IT novinky

Dnes končí bezpečnostní konference Black Hat USA 2020 (Twitter) a začíná bezpečnostní konference DEF CON 28 (Twitter). Kvůli onemocnění COVID-19 ne v Las Vegas, ale pouze virtuálně. Na konferenci DEF CON naplánované přednášky jsou již k dispozici na DEF CON Media Serveru a na YouTube.

Ladislav Hagara | Komentářů: 2
6.8. 07:33 | Nová verze

Po více než pěti letech byla vydána nová verze 1.7 multiplatformního grafického editoru Pinta (Wikipedie). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
6.8. 00:33 | Komunita

V září loňského roku Richard Stallman rezignoval na funkci prezidenta Free Software Foundation (FSF). Včera byl zvolen nový prezident. Je jím Geoffrey Knauth (Twitter).

Ladislav Hagara | Komentářů: 12
Dokážete si představit, že by váš hlavní počítač (desktop, notebook) byl v současné době založen na architektuře jiné než x86 (x86_64)? Například ARM, POWER, RISC-V,…
 (11%)
 (12%)
 (56%)
 (14%)
 (5%)
Celkem 201 hlasů
 Komentářů: 13, poslední 7.8. 10:04
Rozcestník

Doubleclick na powerbutton II.

7.2.2009 14:48 | Přečteno: 1279× | Skripty | poslední úprava: 7.2.2009 18:07

Inspirovany uz skoro 3 roky starym blogom o pocitani stlaceni powerbuttonu a podla toho uspavani/vypinani pocitaca som sa rozhodol, ze si napisem obecnejsie riesenie a bez zapisu na filesystem. Takze pomocou signalov.

1 stlacenie = uspat do pamate, 2 stlacenia = uspat na disk, 3 stlacenia = vypnut. Vsetko podstatne je v linkovanom blogu, takze iba strucne: Nie je nutne vyuzivat powerbutton na pocitaci iba jednu akciu, ale je mozne pocas casoveho intervalu pocitat pocet stlaceni a podla vykonat prislusnu akciu. Riesenia, ktore som doteraz videl to vzdy riesili cez vytvaranie a mazanie docasnych suborov, co sa mi nepacilo, takze som napisal pomocou posielania signalov. Potrebujeme na to dva kratke skriptiky.

Skript powerclick:
#!/bin/bash

WAITNAME="${0##*/}-wait"

# ak uz nejaky $WAITNAME bezi, tak mu poslat signal, inak ho spustit
killall -USR1 "$WAITNAME" >/dev/null 2>&1 ||
    "$WAITNAME" &
A skript powerclick-wait:
#!/bin/bash

TIMEOUT=2

# kazdy prijaty click zvysuje counter
trap '((clicks++))' USR1

clicks=1
while true; do
    # $TIMEOUT sekund cakat na dalsi signal
    sleep "$TIMEOUT" &
    # skoncit ak sleep nebol preruseny signalom
    wait %% &&
        break
done
case "$clicks" in
1) hibernate-ram &
    ;;
2) hibernate &
    ;;
3) poweroff &
    ;;
esac
Prvy skript je spustany ako ACPI handler na udalost button/power. Po spusteni sa snazi poslat signal uz beziacemu druhemu skriptu, ak taky neexistuje, tak ho spusti. Druhy skript po kazdom prijatom signale caka $TIMEOUT sekund na dalsi signal a tento timeout vyprsi, tak spusti prislusnu akciu a skonci.

Tak ako je to momentalne naprogramovane, tak druhy skript sa musi nazyvat rovnako ako prvy s pridanym "-wait". T.j. aj aaa a aaa-wait by fungovalo. Pokial sa to niekomu nepaci, tak staci do premennej WAITNAME v prvom skripte vyplnit meno druheho skriptu. Oba skripty musia mat prava na spustenie a byt niekde v ceste $PATH (naprv. v /usr/local/sbin, inak ich volajte plnymi cestami).

Este uprava ACPI handleru (pravdepodobne v /etc/acpi/default.sh alebe niekde "pobliz"):
case "$1" in
    button/power) /usr/local/sbin/powerclick &
        ;;
    *) logger "ACPI event unhandled: $*"
        ;;
esac
       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

7.2.2009 17:01 Jary | skóre: 30 | blog: Jary má blog | Dům
Rozbalit Rozbalit vše Re: Doubleclick na powerbutton II.

Doubleclick na power je prima nápad.

.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky. GitHub
7.2.2009 17:09 R
Rozbalit Rozbalit vše Re: Doubleclick na powerbutton II.
Dvojklik som riesil jednoducho, tiez dvoma skriptami -hlavny powerbtn.sh a pomocny powerbtn-delay.sh (ten obsahoval iba "sleep 10"). Hlavny skript zistil, ci bezi pomocny - ak nie, tak ho spustil, ak ano, tak vypol PC (ulohou bolo vypnutie PC na dve stlacenia, nie na jedno).
Josef Kufner avatar 8.2.2009 03:01 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: Doubleclick na powerbutton II.
Hehe. Tak tohle používám na stolním počítači už asi pět let. A začalo to kvůli tomu, že se mi pes otíral o vypínač, takže jsem si udělal vypínání na tripple-click :-D
Hello world ! Segmentation fault (core dumped)
ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.