Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Aleš Janda 03 Dubna 2009, 10:35:26

Název: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty? [vyřešeno]
Přispěvatel: Aleš Janda 03 Dubna 2009, 10:35:26
Zdravím,

když hibernuju a nechám puštěný Pidgin, stává se mi, že mi nepřijdou zprávy poslané do sítě Jabber, zatímco je počítač vypnutý. Zprávy prostě zmizí.

Řešení je asi jednoduché: vypnout Pidgina (dát ho do offline) při hibernaci a po ní ho zase zapnout. Bohužel jsem ale nikde nenašel, jaký že skript se to spouští, když zmáčknu tlačítko hibernace na klávesnici. Někde jsem četl že je to /etc/acpi/hibernate.conf, ale ten to bohužel není (nepouští se mi).

Samotné vypnutí Pidgina už by bylo celkem lehké:
Kód: [Vybrat]
PUVODNI_STATUS=`purple-remote getstatus`
purple-remote "setstatus?status=offline"
a po hibernaci
Kód: [Vybrat]
purple-remote "setstatus?status=${PUVODNI_STATUS}"
Nevíte tedy někdo, kam bych tohle měl napsat? Nebo jak tohle řešíte? Vypínat Pidgina ručně se mi nechce ;)
Díky.
Název: Re: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty?
Přispěvatel: Ravensun 03 Dubna 2009, 13:22:59
Zdravím,

když hibernuju a nechám puštěný Pidgin, stává se mi, že mi nepřijdou zprávy poslané do sítě Jabber, zatímco je počítač vypnutý. Zprávy prostě zmizí.

Řešení je asi jednoduché: vypnout Pidgina (dát ho do offline) při hibernaci a po ní ho zase zapnout. Bohužel jsem ale nikde nenašel, jaký že skript se to spouští, když zmáčknu tlačítko hibernace na klávesnici. Někde jsem četl že je to /etc/acpi/hibernate.conf, ale ten to bohužel není (nepouští se mi).

Samotné vypnutí Pidgina už by bylo celkem lehké:
Kód: [Vybrat]
PUVODNI_STATUS=`purple-remote getstatus`
purple-remote "setstatus?status=offline"


Kód: [Vybrat]
purple-remote "setstatus?status=${PUVODNI_STATUS}"
Nevíte tedy někdo, kam bych tohle měl napsat? Nebo jak tohle řešíte? Vypínat Pidgina ručně se mi nechce ;)
Díky.
Sice neporadím, ale na co jste narazil může být docela zajímavé i pro ostatní lidi. Co takhle to nahlásit jako bug? To se přeci může stát každému...
a po hibernaci
Název: Re: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty?
Přispěvatel: Aleš Janda 04 Dubna 2009, 01:11:46
Díky za odpověď.

Nahlásit bug určitě není špatný nápad (i když je otázka, je-li doručení zprávy v takovém případě nějak garantováno), ale ani v případě opravení by to problém nevyřešilo. V případě hibernace bez ukončení Pidginu totiž zůstanu jakoby "viset" online min. několik hodin (tuším u ICQ i Jabberu), nebo dokud mi někdo nenapíše (až pak se mu ukáže, že jsem vlastně offline). To není moc žádoucí stav :-\

Můj problém by vyřešila i jiná věc: namapování uspávacího tlačítka na vlastní skript. Takhle jsem to měl ve Fedoře (a odchytával jsem to pomocí xbindkeys), jenže v Ubuntu ten Gnomí správce napájení to tlačítko vždy "sežere", i když mu tam nastavím, aby nedělal nic. Nic opravdu nedělá, ale další programy ten stisk už nevidí.

Nebo namapovat hibernaci na jiné tlačítko, ale to je takové... :(
Název: Re: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty?
Přispěvatel: klasyc 04 Dubna 2009, 14:03:41
Myslím, že adresáře, které hledáš, jsou v /etc/pm
Název: Re: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty?
Přispěvatel: Fracty 05 Dubna 2009, 12:02:22
no správně by to mělo být tak, že by se přes D-BUS měly aplikace dozvědět že NM ukončuje spojení a měli by spojení ukončit a při novém připojení NM znovu spojení nahodit...
Název: Re: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty?
Přispěvatel: Aleš Janda 06 Dubna 2009, 00:31:50
Myslím, že adresáře, které hledáš, jsou v /etc/pm

V adresáři /etc/pm mám pouze adresáře config.d, power.d a sleep.d, z nichž jen v config.d něco je, a sice soubor 00sleep_module, ve kterém je
Kód: [Vybrat]
# The sleep/wake system to use.  Valid values are:
#   kernel    The built-in kernel suspend/resume support.
#             Use this if nothing else is supported on your system.
#   uswsusp   If your system has support for the userspace
#             suspend programs (s2ram/s2disk/s2both), then use this.
#   tuxonice  If your system has support for tuxonice, use this.
#
# The system defaults to "kernel" if this is commented out.
# SLEEP_MODULE="kernel"

Z toho nejsem moc moudrý. Kam bych měl vložit ten skript?

no správně by to mělo být tak, že by se přes D-BUS měly aplikace dozvědět že NM ukončuje spojení a měli by spojení ukončit a při novém připojení NM znovu spojení nahodit...

Jo, to by bylo ideální, ale tak to asi nechodí...
Název: Re: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty?
Přispěvatel: MikiTwic 06 Dubna 2009, 10:00:31
Zkus kouknout sem: http://forum.ubuntu.cz/index.php/topic,32035.msg240570.html#msg240570 (http://forum.ubuntu.cz/index.php/topic,32035.msg240570.html#msg240570)
...řešil jsem tam nějaký automatický nahrávání modulů při suspend...takže vypnutí pidgina by taky neměl bejt problém.
Ten adresář se skriptama pro suspend je:
Kód: [Vybrat]
/usr/lib/pm-utils/sleep.dSkripty v této složce jsou očíslované podle toho kdy se mají spouštět, a kod je rozdělen na části, kde jedna se provádí při uspávání a druhá při probouzení (suspend_module a hibernate_modules)
Název: Re: Ukončení Pidgina při hibernaci / kde jsou hibernační skripty?
Přispěvatel: Aleš Janda 18 Dubna 2009, 13:06:43
MikiTwic:

Díky za hodnotný příspěvek. Zkusil jsem dát ten skript do 03Pidgin (syntaxi jsem zkopíroval z nějakého existujícího a jen tam změnil ten funkční kód). Bohužel, asi se to provádí příliš pozdě/brzy, protože to napíše "No existing libpurple instance detected." (i když nastavím $DISPLAY). Kromě toho bych si stejně moc nemohl zapamatovat aktuální status, abych ho pak mohl obnovit.

A přišel jsem na ještě jednu věc. Ty zprávy se neztrácely, ale ten člověk, co je posílal, je nějak špatně posílal ;-) Takže žádný bug.

Tak jsem to nakonec vyřešil vlastním skriptem, který je namapovaný na klávesovou zkratku v xbindkeys.

Ještě jednou díky za pomoc.