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: Po probuzení nejde zvuk  (Přečteno 3257 krát)

Victronix

  • Návštěvník
  • Příspěvků: 20
Po probuzení nejde zvuk
« kdy: 29 Ledna 2014, 22:24:28 »
Ahoj,
Už jsem to na internetu hledal, ale návody co jsem našel jsou buď staré, nebo nefungují.
Mám nastaveno, když sklapnu dekl u notebooku, tak se uspí.
Po otevření a probuzení nejde zvuk.
Pomůže když do terminálu napíšu killall pulseaudio.
Ale jak to mám automatizovat?
Našel jsem v systému "spustit příkaz po přihlášení", ale toto nefunguje.
Notebook mám HP 6530b.

Rover623

Re:Po probuzení nejde zvuk
« Odpověď #1 kdy: 30 Ledna 2014, 01:57:34 »
Když zabiješ PulseAudio, tak se systém přepne na klasickou ALSA, nebylo by tedy rovnou lepší než po probuzení to PulseAudio zabíjet ho rovnou odstranit.

Mimochodem. co provede restart PulseAudia
Kód: [Vybrat]
sudo pulseaudio -k

Victronix

  • Návštěvník
  • Příspěvků: 20
Re:Po probuzení nejde zvuk
« Odpověď #2 kdy: 30 Ledna 2014, 06:25:16 »
Po spuštění systému mám nastaveno přihlášení uživatele petra:
petra is not in the sudoers file.  This incident will be reported.

pulseaudio -k

pomáhá.
Ale jak to spustit po probuzení?
« Poslední změna: 30 Ledna 2014, 06:36:47 od Victronix »

Victronix

  • Návštěvník
  • Příspěvků: 20
Re:Po probuzení nejde zvuk
« Odpověď #3 kdy: 30 Ledna 2014, 06:53:38 »
Teď jsem zkusil pod správcem vytvořit skript a uložil jsem ho do /etc/pm/sleep.d/15_resetaudio.sh

Kód: [Vybrat]
case "$1" in
  hibernate|suspend)
   
    ;
  ;;
  resume|thaw)
   
    pulseaudio -k
  ;;
  *)
    exit 0
  ;;
esac

Ale nefunguje to. Je možné že je to tím, že mám nastaveno, že po probuzení nemusí uživatel petra zadávat heslo?
Nebo se ten skript po probuzení vůbec nespustí?

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Po probuzení nejde zvuk
« Odpověď #4 kdy: 30 Ledna 2014, 09:54:47 »
Když zabiješ PulseAudio, tak se systém přepne na klasickou ALSA, nebylo by tedy rovnou lepší než po probuzení to PulseAudio zabíjet ho rovnou odstranit.
Mimochodem. co provede restart PulseAudia
Kód: [Vybrat]
sudo pulseaudio -k

Pulseaudio je upstart služba a pulseaudio -k udělá to samé jako killall pulseaudio - zabije proces a ten bude automaticky obnoven.

Teď jsem zkusil pod správcem vytvořit skript a uložil jsem ho do /etc/pm/sleep.d/15_resetaudio.sh
...
Ale nefunguje to. Je možné že je to tím, že mám nastaveno, že po probuzení nemusí uživatel petra zadávat heslo?
Nebo se ten skript po probuzení vůbec nespustí?

Problém bude jednoznačně ten bezprizorní středník, koneckonců tu prázdnou podmínku hibernate|suspend můžeš smazat celou. Příznak pro spuštění jsi určitě nastavil a na začátek je dobré psát #!/bin/sh. Místo pulseaudio -k bych použil
Kód: [Vybrat]
service pulseaudio restartale výsledek by měl být stejný.
« Poslední změna: 30 Ledna 2014, 09:56:39 od GdH »

Rover623

Re:Po probuzení nejde zvuk
« Odpověď #5 kdy: 30 Ledna 2014, 10:17:36 »
Ten skript by měl vypadat takhle
Kód: [Vybrat]
#!/bin/bash
case "$1" in
    thaw|resume)
        pulseaudio -k
        ;;
    *)
        ;;
esac
exit $?
nebo můžeš použít to co doporučuje GdH
Kód: [Vybrat]
service pulseaudio restart to mi přijde jako čistější řešení, ale nejdřív zkus, jestli to má stejný efekt.

Ten soubor pojmenuj jak chceš, ale je důležité aby na začátku názvu byly 4 nuly, takže něco jako "0000sound.sh", přiděl mu spustitelný příznak a vlož ho do /etc/pm/sleep.d

Victronix

  • Návštěvník
  • Příspěvků: 20
Re:Po probuzení nejde zvuk
« Odpověď #6 kdy: 30 Ledna 2014, 12:20:28 »
Tak fakt nevím.
Skript je 100% vykonáván. // ověřeno automatickým vytvořením adresáře
Jméno skriptu je 0000_restartaudio.sh
Zkoušel jsem service pulseaudio restart, a nic.
Zkoušel jsem taky
pulseaudio -k
pulseaudio --start
do skriptu při probuzení.
A poslední varianta je toto:
Kód: [Vybrat]
#!/bin/bash
case "$1" in
    hibernate|suspend)
    pulseaudio -k
  ;;

    thaw|resume)
        pulseaudio --start
        ;;
    *)
        ;;
esac
exit $?
...a taky nic.
Ale když otevřu terminál a napíšu:
Kód: [Vybrat]
pulseaudio -k
pulseaudio --start
tak to jede.
To jsem z toho jelen  ::)

Rover623

Re:Po probuzení nejde zvuk
« Odpověď #7 kdy: 30 Ledna 2014, 16:22:56 »
Je mi to asi jasné, je nutné vykonat ten skript déle, ta čísla na začátku toho souboru určují kdy to bude vykonáno. Zkus tam dát 99 to by mělo zařídit, že to proběhne až nakonec

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Po probuzení nejde zvuk
« Odpověď #8 kdy: 30 Ledna 2014, 17:00:55 »
Je mi to asi jasné, je nutné vykonat ten skript déle, ta čísla na začátku toho souboru určují kdy to bude vykonáno. Zkus tam dát 99 to by mělo zařídit, že to proběhne až nakonec

Ano, určují prioritu, ovšem 99 rozhodně není pro uživatelské skripty. První se při suspendu provádí 00 poslední 99, při resume obráceně. Je to celé řazeno jednoduše podle abecedy.

Třeba tady máš nějakou dokumentaci:
https://wiki.archlinux.org/index.php/Pm-utils#Creating_your_own_hooks

Victronix

  • Návštěvník
  • Příspěvků: 20
Re:Po probuzení nejde zvuk
« Odpověď #9 kdy: 30 Ledna 2014, 17:53:10 »
Je to horší než se to zdá.
98 a 99 jsou v /etc/lib/pm-utils/sleep.d/
dva skripty, které dělají právě to, že po zaklapnutí deklu notebooku
přejde systém do klidu. Když dám abecedně ten svůj skript dále, tak počítač zůstane vzhůru.
Teď jsem dal skript úplně na začátek abecedy, to znamená, že by se měl vykonat
při probouzení jako poslední. A stejně nic.
Funguje ve skriptech nějaké sleep nebo delay?
Že bych dal:
pulseaudio -k
delay 10
pulseaudio --start

nebo něco na ten způsob?

Cuore

  • Závislák
  • ***
  • Příspěvků: 2534
Re:Po probuzení nejde zvuk
« Odpověď #10 kdy: 30 Ledna 2014, 18:18:38 »
sleep 10 můžeš dát, ale obávám se, že pokud jsou scripty řazeny abecedně, tak na sebe budou čekat, dokud ti ten tvůj nedoběhne. Takže si ten reset pulseaudia vlož do nového scriptu se sleepem a ten spouštěj z tohoto pmka jako potomka.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Po probuzení nejde zvuk
« Odpověď #11 kdy: 30 Ledna 2014, 18:55:20 »
Sleep by měl pomoct, ale musíš samozřejmě zajistit, aby se na něj nečekalo, takže můžeš spustit subshell na pozadí.
Místo jednoduchého pulseaudio -k tam vrazíš:
Kód: [Vybrat]
sh -c "sleep 10; pulseaudio -k" &
To je ale zase prasení...

Victronix

  • Návštěvník
  • Příspěvků: 20
Re:Po probuzení nejde zvuk
« Odpověď #12 kdy: 30 Ledna 2014, 20:59:13 »
Tak pánové opět nic.
Kód: [Vybrat]
#!/bin/bash
case "$1" in
     thaw|resume)
        sh -c "sleep 10; pulseaudio -k" &
        mkdir /home/petra/Plocha/111
        ;;
    *)
        ;;
esac
exit $?

Mám to tady:
/etc/pm/sleep.d/0000_restartaudio.sh
Nemůže tam být nějaký problém s právy spuštění?
Když to dám do terminálu sh -c "sleep 10; pulseaudio -k" &
tak zvuk naběhne.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Po probuzení nejde zvuk
« Odpověď #13 kdy: 30 Ledna 2014, 21:55:53 »
Hmm.. Je to svině zákeřná :) Ten příkaz opravdu řeší pulseaudio jen pro konkrétního uživatele a protože resume skript běží samozřejmě pod rootem, tak to vrací chybu, že není, co sejmout. killall by tohle nezajímalo, ten by zabral. Jinak je třeba přepnout na uživatele.

Kód: [Vybrat]
su uživatel -c "pulseaudio -k"

Cuore

  • Závislák
  • ***
  • Příspěvků: 2534
Re:Po probuzení nejde zvuk
« Odpověď #14 kdy: 30 Ledna 2014, 22:12:52 »
na začátek scriptu pod #!/bin/bash si dej tohle
Kód: [Vybrat]
set -x;exec 2>/var/tmp/`basename $0`.log;
ať máš feedback co ti to dělá. Log budeš mít ve  /var/tmp/
pak to nemusíš testovat pomocí
Citace
mkdir /home/petra/Plocha/111

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Po probuzení nejde zvuk
« Odpověď #15 kdy: 30 Ledna 2014, 22:26:15 »
...

V tomto případě si tam ovšem nic dávat nemusí, stačí si ten příkaz pustit normálně přes sudo.

Victronix

  • Návštěvník
  • Příspěvků: 20
Re:Po probuzení nejde zvuk
« Odpověď #16 kdy: 30 Ledna 2014, 23:44:36 »
Začínám s ubuntu. Už jsem to jednou zkusil.  Ale nemělo to pro mě význam - čas strávený nad zprovozněním/užitek
Ale teď už je Ubuntu celkem zmáknutý. Hlavně widle jsou oproti tomuto strašně zabržděný. Teď už se widle na domácí počítač ani nevyplatí kupovat. Díky podpoře.
Takže toto pomohlo a všem děkuji za pomoc.
Kód: [Vybrat]
#!/bin/bash
set -x;exec 2>/var/tmp/`basename $0`.log;
case "$1" in
     thaw|resume)
        su petra sh -c "sleep 10; pulseaudio -k" &

        ;;
    *)
        ;;
esac
exit $?



 

Provoz zaštiťuje spolek OpenAlt.