Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: mythTv pm-suspend [vyřešeno]  (Přečteno 6807 krát)

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
mythTv pm-suspend [vyřešeno]
« kdy: 21 Května 2012, 19:13:25 »
Ahoj,
potřebuji radu k dořešení scriptu. Situace je následovná v ubuntu LL 10.04 jsem nainstaloval mythtv. Jenže nenašel jsem možnost uspání do paměti (pouze vypnout a reset). Tak jsem napsal scriptík
Kód: [Vybrat]
#!/bin/sh

sleep 10;echo  'probíhá spouštění mythTv' &
notify-send 'probíhá spouštění MythTv' 'mythfrontend startuje' &
cd /usr/share/mythtv
sleep 2;until ./mythfrontend.sh

do
sleep 20s

done

echo  'ukončuji mythfrontend' &
notify-send 'ukončuji mythfrontend' 'volám script sleep' & 
sleep 2;~/sleep.sh

exec
tím po zvolení možnosti ukončit systém uspím. No ale jak už to bývá nastal problém po probuzení, kde se tento script nespustí, protože systém háže bobek na aplikace po spuštění. Tak jsem do /etc/pm/sleep.d vložil další script, který by měl opětovné spouštění zabezpečit:
Kód: [Vybrat]
#!/bin/sh

# tento script spouští po probuzení další script v
# home/cuore

case "$1" in
  resume)
cd /home/cuore
sleep 5;./probuzeni.sh
       ;;
esac
script probuzeni:
Kód: [Vybrat]
#!/bin/sh

echo  'probouzím mythTv' & notify-send 'probouzím MythTv' 'volám script autostartMythTv' &
sleep 2;~/autostartMythTv.sh
exec
hurá, mythtv naběhne, ale!! pokud znovu ukončím mythtv, tak ve scriptu sleep se už neprovede pm-suspend a systém zůstane běžet.
sleep:
Kód: [Vybrat]
#!/bin/sh

echo  'probíhá uspávání do paměti' &
notify-send 'probíhá uspávání do paměti' 'ukončuji aplikace' &
sleep 10;sudo pm-suspend

exit
Jelikož jsem v tomhle scriptování "batole" poprosil bych někoho znalejšího o radu co mám špatně. Co jsem vysledoval, tak se scripty po ukončení nezavřou, ale zůstávají vyset, přitom jsem předpokládal, že když probouzecí script zavolá autostartMythTv, tak se následně zavře. To samé platí o sleep, který zůstane nahozený i po opětovném probuzení. Je snad problém v tomhle? nebo mě ještě napadla spojitost se sudoers, kde může být konflikt s právy a proto se podruhé pm.suspend neprovede. Nevím tápu.....
Ještě přikládám sudoers
Kód: [Vybrat]
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL) ALL

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%cuore  ALL=(ALL) NOPASSWD: /usr/sbin/pm-suspend
%cuore  ALL=(ALL) NOPASSWD: /usr/sbin/pm-hibernate
%cuore  ALL=(ALL) NOPASSWD: /usr/sbin/pm-suspend-hybrid
%mythtv ALL=NOPASSWD: /usr/sbin/pm-suspend

předem děkuji za pomoc a osvětu, sedím u toho už pomalu 14 dní a popravdě, je to řešení jednoho problému za druhým počínaje Lirc a konec zatím v nedohlednu.
« Poslední změna: 06 Června 2012, 16:47:12 od Cuore »

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #1 kdy: 23 Května 2012, 15:48:57 »
Zatím nikdo? :)
tak jsem udělal malé úpravy, místo pm-suspend jsem upravil uspávání
Kód: [Vybrat]
echo  'probíhá uspávání do paměti' &
notify-send -i /home/cuore/mythtv.png 'probíhá uspávání do paměti' 'ukončuji aplikace' &
sleep 10; dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

exit 0
tím jsem mohl smazat zásahy do sudoers a taky podle mě se vyřešil problém s neuspáním systému viz. výše. No ale objevil se nový problém a to nefunkčnost scriptu po probuzení, na který je odkaz v /etc/pm/sleep.d. Zatím mně z neznámých důvodů se neprovede, ikdyž předtím to jelo. Budu googlit dokud něco nenajdu, nebo někdo tady neporadí.

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #2 kdy: 23 Května 2012, 17:33:14 »
moc celou vec nechapu, ale poradim ti magickou formulku:

Kód: [Vybrat]
set -x;
exec 2>/var/tmp/`basename $0`.log;

tohle dej na druhy a treti radek, hned za #!/bin/bash a potom prohledni soubory s logy ve /var/tmp
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #3 kdy: 23 Května 2012, 21:06:01 »
Pokud jsem to napsal nesrozumitelně, tak se omlouvám  ::) Takže od začátku, udělal jsem si radost v podobě HTPC. Volba padla na mythtv běžící pod LL 10.04. Teď můj problém, v nastavení mythtv jde nastavit pouze možnosti UKONČIT, UKONČIT A RESTARTOVAT, UKONČIT A VYPNOUT. Takže pokud chci počítač uspat, musím dát možnost ukončit. Pak odložit dálkové ovládání (protože se mi nedaří rozchodit lirc pod systémem) vzít bezdrátovou klávesnici a uspat počítač. Ten probudím dálkovým ovladačem tlačítkem POWER, opět klávesnici do ruky a spustit mythfrontend, protože aplikace po spuštění nereagují na probuzení. Proto jsem tohle vyřešil spouštěním mythfrontendu scriptem 
Kód: [Vybrat]
#!/bin/sh
cd /usr/share/mythtv
sleep 2; until ./mythfrontend.sh
do
sleep 20s
done
sleep 2;~/sleep.sh
exec

Ten mi zajistí, že když zvolím možnost ukončit mythfrontend, tak se počítač uspí pomocí scriptu sleep.sh
Kód: [Vybrat]
#!/bin/sh
sleep 10; dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
exit 0
u předchozí verze, kde jsem požil pm-suspend byl problém, že se uspání provelo jen jednou. Po probuzení mi vše naběhlo díky scriptu v /etc/pm/sleep.d ale pokud jsem mythfrontend znovu ukončil, tak vše doběhlo až do scriptu sleep.sh, který vypsal jen echa ale už neprovel sudo pm-suspend. Proto jsem ho upravil na uspávání pomocí dbus-send....viz. code výš. No ale zase mám problém, že jakmile se počítač uspí a následně probudí, tak scrip v /etc/pm/sleep.d nezareaguje (jako by nepoznal probuzení) a mythfrontend se nezpustí. Snad je to srozumitelnější  ;)

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #4 kdy: 24 Května 2012, 16:29:21 »
Ta magická formulka je úžasná  ;D už vidím co se děje, ale je mi to k ničemu, když netuším co s tím.
Kód: [Vybrat]
+ notif 2 -i /home/cuore/mythtv.png probouzím MythTv volám script autostartMythTv
libnotify-Message: Unable to get session bus: /bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.


** (notify-send:6906): CRITICAL **: dbus_g_proxy_connect_signal: assertion `DBUS_IS_G_PROXY (proxy)' failed

** (notify-send:6906): CRITICAL **: dbus_g_proxy_connect_signal: assertion `DBUS_IS_G_PROXY (proxy)' failed

** (notify-send:6906): CRITICAL **: dbus_g_proxy_call: assertion `DBUS_IS_G_PROXY (proxy)' failed
libnotify-Message: Unable to get session bus: /bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.


** (notify-send:6906): CRITICAL **: dbus_g_proxy_disconnect_signal: assertion `DBUS_IS_G_PROXY (proxy)' failed

** (notify-send:6906): CRITICAL **: dbus_g_proxy_disconnect_signal: assertion `DBUS_IS_G_PROXY (proxy)' failed
+ ~/autostartMythTv.sh
./probuzeni.sh: 1: ~/autostartMythTv.sh: not found
+ exec
z nějakého důvodu hází chyby notify-send co je jen infobublina, takže na funkci by neměla mít vliv. A podstatný je konec logu, kde píše, že nenalezl scripty probuzeni a autostartMythTv. Co nechápu. Pokud uspím počítač pomocí sudo pm.suspend, tak vše proběhne v pořádku.
 log probuzeni
Kód: [Vybrat]
+ slee  2
bouzím mythTv
+ notify-send -i /home/cuore/mythtv.png probouzím MythTv volám script autostartMythTv
+ /home/cuore/autostartMythTv.sh
+ basename /home/cuore/autostartMythTv.sh
+ exec
log autostartMythTv
Kód: [Vybrat]
+ sleep 10
+ cd /usr/share/mythtv
echo probíhá spouštění mythTv+ sleep 2
+ notify-send -i /home/cuore/mythtv.png probíhá spouštění MythTv mythfrontend startuje
+ ./mythfrontend.sh
může mi to někdo osvětlit?
děkuji

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #5 kdy: 24 Května 2012, 18:18:59 »
./probuzeni.sh: 1: ~/autostartMythTv.sh: not found


^^ ale dyk je to tam napsany .. dej tam plnou cestu nebo to vyres jinak, treba promennou
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #6 kdy: 24 Května 2012, 22:02:21 »
to vidím, ale nechápu důvod proč to nenalezne? Tohle mě zajímá, proč když se pc uspí jedním způsobem, tak při probuzení vše funguje jak má, ale na podruhé  už se neuspí a zase, když se bez problémů uspává, tak má problém s nalezením souboru v domovském adresáři po probuzení.... prostě napalici
A plnou cestou máš na mysli co? tohle jsem předpokládal, že je vyjádření plné cesty cd /home/cuore/probuzeni.sh a tak to přece mám
Kód: [Vybrat]
#!/bin/sh

# tento script spouští po probuzení další script v
# home/cuore

case "$1" in
  resume)
cd /home/cuore
sleep 5;./probuzeni.sh
       ;;
esac
nebo se pletu?
a je problém až v tom probuzeni.sh, kde je cesta vyjádřena symbolicky?
No a do třetice, jak rozchodit to netify-send?

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #7 kdy: 24 Května 2012, 22:18:01 »
jo aha .. uz to chapu ... ono se to samozrejme nespoji s tou X session .. musis tomu dat na zacatku kazdeho skriptu promennou DISPLAY .. tzn tam musi byt neco jako

export DISPLAY=:0 ### jak se jmenuje tvuj displej zjistis pomoci echa v Xkach
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #8 kdy: 24 Května 2012, 22:25:32 »
taky bych to asi prefixoval nejakym sleepem .. nijak presne jsem nezkoumal jak to pracuje, ale ty pm skripty se provadi hned po probuzeni a tam patrne dochazi k tomu, ze ta X session jeste stoji kdyz se tam vykonavaj ty prikazy.

edit: ted jsem tam jeden sleep zahledl .. zkontrolovat jestli vsechno sedi ..
« Poslední změna: 24 Května 2012, 22:27:10 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:mythTv pm-suspend
« Odpověď #9 kdy: 24 Května 2012, 22:26:14 »
Co máš za problém s tím lirc? To by asi bylo rozumnější vyřešit.
Nicméně, jedna z věcí, kterou si musíš uvědomit je ta, že ten resume skript spouští root a tudíž i tvůj skript na spuštění i samotné MythTv se spustí pod rootem. A ten nemá definovaný display a tak grafické aplikace takto jednoduše spouštět nejde. I když mu display nastavíš, stejně to poběží pod rootem a to je špatně.

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #10 kdy: 24 Května 2012, 22:27:58 »
ad.root) ano, to je taky pravda ... taky overit .. musi to mit logiku

DISPLAY=:0 su $user -c $command
« Poslední změna: 24 Května 2012, 22:31:12 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:mythTv pm-suspend
« Odpověď #11 kdy: 24 Května 2012, 23:00:00 »
Citace
Kód: [Vybrat]
#!/bin/sh
cd /usr/share/mythtv
sleep 2; until ./mythfrontend.sh
do
sleep 20s
done
sleep 2;~/sleep.sh
exec

Já bych to celé napsal cca takto:

startMythTV.sh
Kód: [Vybrat]
#!/bin/sh

/usr/share/mythtv/mythfrontend.sh # předpokládám, že se ten frontend nespouští na pozadí - až mythtv ukončíš, provede se teprve další příkaz
dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

00resumeMythTV.sh
Kód: [Vybrat]
#!/bin/sh

case "$1" in
  resume)
       DISPLAY=:0 su -c '/home/cuore/startMythTV.sh' cuore
       ;;
esac

btw ty nuly na začátku názvu resume skriptu zajišťují, že se bude spouštět až mezi posledními, po systémových záležitostech.

EDIT: jen kosmetická úprava :)
« Poslední změna: 25 Května 2012, 09:42:18 od GdH »

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #12 kdy: 25 Května 2012, 01:16:40 »
jak budu doma u počítače, tak to otestuju. Takže asi kolem oběda. S tím Lirc to je zapeklité, htpc je ASRock 330 ION HT BD a ten má integrovaný IR na desce. První problém je, že
Kód: [Vybrat]
egrep "Name|Handlers" /proc/bus/input/devices nic nevypíše, takže nezjistím event ovladače. Tím jsem návod na wiki mohl vypustit. No každopádně od výrobce jsem si stáhnul deb balíček pro IR, kde měli verzi pro LL 10.04 jádro xxxx25. Proto byla volba systému předem daná. A podle jejich návodu se ovladač rozchodí, že reaguje terminál na
Kód: [Vybrat]
irw Následně jsem si chtěl udělat konfigurační záznam tlačítek
Kód: [Vybrat]
irrecord --driver=devinput --device=/dev/input/eventX /home/cuore/ASRock-lirc.conf, kde jsem testoval různé čísla event, ale i když se to rozjelo tak v místě kde máš držet tlačítko, aby si lirc otestoval pauzy mezi signálem vše skončilo na
Kód: [Vybrat]
irrecord: could not init hardware (lircd running ? --> close it, check permissions) žádný kill nepomohl až nakonec
Kód: [Vybrat]
sudo irrecord --driver=devinput/dev/input/eventX /home/cuore/ASRock-lirc.conf se tohle rozjelo ale i tak to zase jen proběhlo bez vygenerování konfiguráku. Prvděpodobně jsem neuhod číslo event. No a systém komunikuje s dálkovým ovladačem pomocí daemonů irexec, irxevent, lircmd, které prostě nefungují  :-[ V mythtv mi to nevadí, protože tam nastavuji tlačítko
Kód: [Vybrat]
begin
program   = mythtv
button = Play
repeat = 3
config = Play
end
což funguje

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:mythTv pm-suspend
« Odpověď #13 kdy: 25 Května 2012, 08:45:36 »
Pak ti lirc zjevně funguje.. irexec a irxevent jsou démoni, kteří zajistí spouštění externích programů a posílání kláves, ale aby fungovali, musíš je nejprve spustit. Můžeš je přidat do aplikací spouštěných po přihlášení. Pak klávesy DO konfiguruješ podobně jak jsi ukázal, koukni do dokumentace.

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #14 kdy: 25 Května 2012, 15:26:07 »
Tak proto  :) já myslel, že jsou to systémový deamoni a nahodí se automaticky, pokud je přítomno lirc.
 Teď k tomu uspávání, takže jsem to upravil dle vašich rad a malinko modifikoval. Po zapnutí počítače se mythfrontend pěkně nahodí. V aplikacích po spuštění mám script startMythTV.sh. Jakmile mythfrontend ukončím, tak se systém pěkně uspí, jen vypíše v logu uspávání
Kód: [Vybrat]
+ notify-send -i /home/cuore/mythtv.png probíhá uspávání do paměti ukončuji aplikace
+ dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
+ exit 0
ale uspí. Po probuzení mythfrontend naběhne a notify-send funguje. Sript v etc/pm/sleep.d/00_auto_probuzeni.sh
Kód: [Vybrat]
#!/bin/sh

# tento script spouští po probuzení další script v
# home/cuore
set -x;
exec 2>/var/tmp/`basename $0`.log

echo  'probouzím mythTv'
DISPLAY=:0 su $user -c $command "notify-send -i /home/cuore/mythtv.png 'probouzím MythTv'" cuore

case "$1" in
hibernate|suspend)
  ;;
resume|thaw)
       DISPLAY=:0 su -c '/home/cuore/startMythTV.sh' cuore
  ;;
  *)
    exit 0
  ;;
esac
jeho log je tady
Kód: [Vybrat]
+ echo probouzím mythTv
+ DISPLAY=:0 su -c notify-send -i /home/cuore/mythtv.png 'probouzím MythTv' cuore
+ DISPLAY=:0 su -c /home/cuore/startMythTV.sh cuore
+ basename /home/cuore/startMythTV.sh
+ exec
když opět ukončím mythfrontend, tak už se systém ale neuspí? Vše se tváří, že je v pořádku, log nevypisuje nic o poruše scriptu. Ten proběhne a regulérně se ukončí ale systém zůstává spuštěný. Pokud spustím uspání znovu, tak se provede. Má někdo nápad? čím to je?

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #15 kdy: 25 Května 2012, 15:55:07 »
ach jo .. mas to spatne .. je to tezky s tebou

1) nemas escapovane mezery pro su -c

Kód: [Vybrat]
DISPLAY=:0 su $user -c $command "notify-send -i /home/cuore/mythtv.png 'probouzím MythTv'" cuore
^^ tohle snad nelze brat ani k pousmani

2) taky jsem psal ze mas udelat export DISPLAY=:0 .. ten muj zapis aka DISPLAY=foo command byl jen priklad
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:mythTv pm-suspend
« Odpověď #16 kdy: 25 Května 2012, 16:20:45 »
Citace
DISPLAY=:0 su $user -c $command "notify-send -i /home/cuore/mythtv.png 'probouzím MythTv'" cuore

$user je právě cuore a $command je ten příkaz, ntz to napsal jako proměnné obecně, já to psal konkrétně pro tebe. Chybu to nevyhodí, protože nenastavená proměnná se interpretuje jako prázdný řetězec, takže to tam nemá žádný význam. export asi v tomto případě nemá význam, ale nic se jím nezkazí.

Ta chyba Dbus příkazu opravdu neznamená nic, power manager prostě neodpovídá, je to jeho vlastnost.

Další věcí je, že suspend skript se spouští stejný při uspávání i při probouzení, jen s jiným argumentem, takže tvé "probouzím" se bude hlásit ke slovu i při uspávání.

Rozdíl při druhém uspávání je právě v tom, že ten druhý už jsi spouštěl z roota. Momentálně neřeknu v čem je problém, zkusím se na to kdyžtak podívat večer.

Proč na konci toho jednoho skriptu spouštíš prázdný exec?

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #17 kdy: 25 Května 2012, 16:38:08 »
Promiň  :-[ problém je v tom, že se to snažím dát do kupy a popravdě na nějaké hlubší poznávání bashe nemám prozatím čas. Kdyby to šlo vyřešit jinak, tak neváhám  :) ale mythfrontend uspání nenabídne a peripetie s tím spojené jsem psal výše. Takže se ten proces snažím nějak zautomatizovat. 90% co se tady píše nebo vygooglím je pro mě jakožto uživatele špaňelská vesnice, tak se prosím nediv, když něco takhle hrubě po..
jo přiznávám jsem natvrdlý, tak měj ještě trochu trpělivosti a pokus se to nějak polopaticky vysvětlit? Třeba teď mi není moc jasné, kde je spojitost s tím, že mám problém s opětovným uspáním a ty mě spražíš za blbě napsaný script reagující při probuzení  :D navíc když se mi zdá, že to funguje. Pokud bych vynechal notify-sent tak to bude takhle OK?
Kód: [Vybrat]
#!/bin/sh

# tento script spouští po probuzení další script v
# home/cuore
set -x;
exec 2>/var/tmp/`basename $0`.log

case "$1" in
hibernate|suspend)
  ;;
resume|thaw)
       DISPLAY=:0 su -c '/home/cuore/startMythTV.sh' cuore
  ;;
  *)
    exit 0
  ;;
esac
pokud jo, tak to stějně na podruhý neuspí, takže jsem tam, kde na začátku

edit: GdH stihl reagovat, ještě než jsem dopsal odpověď. Takže je mi to trochu jasnější, každopádně jsem se utvrdil v tom, že to problém neřeší. To exec jsem se dočet v průvodci pro bash, že je to ukončení scriptu pokud v něm spustím nějaký nový, tak uvolní místo po ukončení pro tohoto potomka. Dřív se tak prý šetřila paměť. Tak jsem to asi blbě pochopil a dělá to něco jinýho?  ::) tak omluva zase kopanec
edit1: jo už to mám je to pravda co jsem spal jenom se exec dá před příkaz a ne na konec  ::) omluva, takže měním na exit
« Poslední změna: 25 Května 2012, 17:12:39 od Cuore »

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:mythTv pm-suspend
« Odpověď #18 kdy: 25 Května 2012, 17:26:45 »
exec umí vyměnit shell, tzn. starý, ze kterého je sám spuštěný ukončí a místo něj spustí příkaz, který má jako argument, ale to vše v rámci jednoho procesu, nevytváří se tedy nový proces pro program, který spouští.

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #19 kdy: 29 Května 2012, 19:42:27 »
Citace
Rozdíl při druhém uspávání je právě v tom, že ten druhý už jsi spouštěl z roota. Momentálně neřeknu v čem je problém, zkusím se na to kdyžtak podívat večer.

Přišel si nějak na to jak to uspání vyřešit? Jen mě tak napadlo, sice prasárna, ale co přidělit účtu v sudoers ALL bez hesla a ve scriptech vše nahazovat pomocí sudo. Tím by se to chovalo jako pod rootem a mělo by to fungovat i při dalším probuzení. Je to PC k televizi, sice na internet má přístup, ale takhle bude využíváno minimálně a na přehrávání filmů je to putna.
« Poslední změna: 29 Května 2012, 19:47:21 od Cuore »

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:mythTv pm-suspend
« Odpověď #20 kdy: 29 Května 2012, 23:05:13 »
No zatím jsem se k tomu pořádně nedostal, ale zajímá mě to, takže se na to podívám zcela jistě, otázkou je jen čas.. Snad to zvládnu do konce týdne.

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #21 kdy: 30 Května 2012, 10:03:18 »
tak budu zatím čekat  ;) díky

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3133
    • Zobrazit profil
    • GdH-Notes
Re:mythTv pm-suspend
« Odpověď #22 kdy: 03 Června 2012, 21:05:44 »
Tak zásadní asi bude to, že pokud spouštíš cokoliv delšího v resume skriptu, musíš to spustit na pozadí, abys neblokoval další skripty. Ve tvém případě cca takto:

Citace
su cuore -c 'DISPLAY=:0 /home/cuore/startMythTV.sh &'


Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #23 kdy: 03 Června 2012, 22:20:39 »
myslíš, že to bude jen tahle prkotina? otestuju a dám feedback  ;)

Cuore

  • Závislák
  • ****
  • Příspěvků: 2534
    • Zobrazit profil
Re:mythTv pm-suspend
« Odpověď #24 kdy: 04 Června 2012, 13:27:51 »
Tak i tohle nefunguje, ale nějaké změny jsou
log sleep
Kód: [Vybrat]
+ echo probíhá uspávání do paměti
+ notify-send -i /home/cuore/mythtv.png probíhá uspávání do paměti ukončuji aplikace
+ sleep 5
+ dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Error org.freedesktop.UPower.GeneralError: not authorized
+ exit 0
snad to není nic neřešitelného

 


Provoz zaštiťuje spolek OpenAlt.