Portál AbcLinuxu, 25. dubna 2024 04:21


Dotaz: Apcupsd a hláška v X

mess avatar 2.8.2007 20:22 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Apcupsd a hláška v X
Přečteno: 287×
Odpovědět | Admin
Chtěl jsem, aby mi apcupsd zobrazoval hlášky o různých událostech i v X, defaultně je vypisuje jen do konzole. K tomuto účelu jsem si vytvořil následující skript.
#!/usr/bin/env python
import sys, os

zprava = sys.__stdin__.read()

os.system("wall " + zprava)
os.system("kdialog --msgbox \"" + zprava + "\"")
(pozn. nejsem zrovna python guru)
Tento skript jsem pojmenoval xwall a dal jsem ho do /etc/apcupsd/. V /etc/apcupsd/apccontrol jsem upravil řádek WALL=wall na WALL=/etc/apcupsd/xwall. Taky jsem přidal roota do seznamu uživatelů, kteří mají povoleno připojit se k X serveru pomocí xhost +local:root a tento příkaz nechávám spouštět vždy po přihlášení. Při testech v konzoli mi skriptík fungoval bez problémů, při zkoušce výpadku proudu taky (včera), ale dneska (po rebootu) se mi v X nezobrazí nic, jen v konzoli. Logy mlčí, jen ve /var/log/everything.log se objeví řádek
Aug  2 19:53:24 mycomp wall[16225]: wall: user root broadcasted 1 lines (52 chars)
. Nevíte někdo, co by s tím mohlo být, popř. co s tím dělat?
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

mess avatar 3.8.2007 18:00 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Apcupsd a hláška v X
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem zjistil, že pokud apcupsd spustím z emulátoru terminálu v X, tak vše funguje, jak má. Otázka tedy zní: jak zařídit, aby se aplikace, která je spuštěná z textové konzole (ještě před startem X) mohla házet hlášky i v X? Byl bych rád, kdyby nebylo nutné použít dalšího démona (stávající řešení).
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
mess avatar 3.8.2007 20:10 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Apcupsd a hláška v X
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem to vyřešil. Sice to není přesně to, co jsem chtěl, ale funguje to. V /etc/apcupsd/apccontrol jsem změnil řádek s WALL na WALL="tee /etc/apcupsd/events | wall", vytvořil jsem pojmenovanou rouru (mkfifo /etc/apcupsd/events) a napsal si takový malý skriptík, který se mi spouští vždy při přihlášení.
#!/usr/bin/env python
import os
zprava = ""
while True:
	fifo = open("/etc/apcupsd/events")
	zprava = fifo.read()
	fifo.close()
	os.system("kdialog --msgbox \"" + zprava + "\"")
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
4.8.2007 09:26 iSteve
Rozbalit Rozbalit vše Re: Apcupsd a hláška v X
Odpovědět | | Sbalit | Link | Blokovat | Admin
Velmi pravdepodobne potrebujes nastavit cestu k xauthority + nastavit display.

Založit nové vláknoNahoru

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

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