Portál AbcLinuxu, 2. května 2025 17:13

Spouštění "programu" přes acpid

22.12.2007 09:49 | Přečteno: 1135× | obrázky

Zdravím, udělal jsem si jednoduchý program, konkrétně nastavení rozlišení LVDS a VGA (až vyřeším problémy, postnu ho), rád bych ho spouštěl přes FN+F7 (Thinkpadí tlačítko), což bych rád zařídil přes acpid.

Akci jsem vytvořil, skript který to spustí taky, ovšem má to háček (spíš hák). Daná akce se provede jen když spustím acpid přímo přes bash, pokud se spustí jako démon (přes init skripty) tak absolutně nereaguje.

Další tentokrát menší háček je, že se tento program spouští pod rootem (což kazí vzhled a mohla by to být menší bezpečnostní díra)

Pokud víte co s tím, pište do komentářů ;)

Btw. Samsung LCD 22 palců (typ 2232BW) je doma, obraz krásný, kontrast tak obrovský, že jsem ho musel shodit ze 100 na 15. Při černé obrazovce je vidět změna podsvícení nahoře a dole (při okrajích).

       

Hodnocení: 100 %

        špatnédobré        

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

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

22.12.2007 11:24 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Spouštění "programu" přes acpid
Odpovědět | Sbalit | Link | Blokovat | Admin
pouzi getXuser zo skriptov (v Debiane, acpi-support tusim)
for x in /tmp/.X11-unix/*; do
        displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
        getXuser;
        if [ x"$XAUTHORITY" != x"" ]; then
                export DISPLAY=":$displaynum"
        fi

        su $user -c 'gksu "program"' &
done
22.12.2007 11:25 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Spouštění "programu" přes acpid
sorry, gksu ty zjavne nepotrebujes
Jan Drábek avatar 22.12.2007 13:24 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: Spouštění "programu" přes acpid
Good, dokonce to funguje ;) jen je potřeba mít program finger (což jsem musel i přesto, že mám glibc 2.7, kompilovat s patchem na 2.2..

Zároveň to vyřešilo ten velký problém s acpidem :D
01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
bazil avatar 22.12.2007 11:39 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: Spouštění "programu" přes acpid
Odpovědět | Sbalit | Link | Blokovat | Admin
plánuji provést něco podobného, až na to, že bych ten program rozdělil na dvě části, jedna pod rootem, která by ovládala různé funkce a jedna pod userem, která by s tím jen komunikovala ... takže, pokud už si začal něco kutit, tak bych se mohl přidat a společně něco dát dohromady ;-)
Jan Drábek avatar 22.12.2007 13:25 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: Spouštění "programu" přes acpid
Původně jsem plánoval, že to spíchnu v C++ s profilama atd.. ale nakonec jsem se nato vydlábl ;), dokud bude stačit tohle řešení tak nic neplánuju.
01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
22.12.2007 13:30 Kvakor
Rozbalit Rozbalit vše Re: Spouštění "programu" přes acpid
To by slo napsat celekm jednopduse pomoci skriptu a pojmenovane roury. Na strane acpid se do roury zapise, co se stalo (a pripadne udela to, co muze udelat jen root), a na strane uzivatele se to z roury precte, vyhodnoti a vykona v kontextu aktualniho uzivatele. Pripadne se muze pouzit neco slozitejsiho, treba socket, nebo dokonce nejaky mechanizmus pro zasilani zprav prislusneho okeniho prostredi, jako treba D-Bus.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.