Portál AbcLinuxu, 10. května 2025 08:09

Dotaz: Spustit příkaz při startu systému Debian 6

20.6.2011 14:03 maník | skóre: 18
Spustit příkaz při startu systému Debian 6
Přečteno: 499×
Odpovědět | Admin
Dobrý den,

potřeboval bych při startu systému stpustit příkaz "alsactl restore" (ke spuštění je nutné mít práva roota) v Debianu 6. Příkaz by měl proběhnout po inicializaci alsy a před spuštěním grafického rozhraní. Můžete mi prosím poradit, kam příkaz napsat?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.6.2011 14:53 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
Odpovědět | | Sbalit | Link | Blokovat | Admin
/etc/rc.local ?
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
20.6.2011 15:14 maník | skóre: 18
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
Díky, tam to právě mám, ale příkaz nemá žádný efekt (nastavení alsy se neobnoví).
20.6.2011 15:34 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
A volá se alsactl store při vypínání?
20.6.2011 16:00 NN
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
před spuštěním grafického rozhraní.
rc.local se pousti naposled, takze to musi nalinkovat pred spustenim gdm.

NN
21.6.2011 07:44 maník | skóre: 18
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
Můžete prosím naznačit kde?
21.6.2011 07:43 maník | skóre: 18
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
Nevolá, alsactl store spouštím ručně. Jde mi o to, že potřebuji konfiguraci Alsy jednou uložit a pak ji vždy obnovit při startu systému.
21.6.2011 09:54 Ivo
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
Ja som mal podobny problem. Dal som to do rc.local a nefungovalo to.

Ale v novom kubuntu (asi aj Ubuntu) sa spusta PulseAudio pre kazdeho uzivatela pri jeho prihlaseni. Tak ze som myslel ze to PulseAudio urobi nastavenia v alse az potom. Tak som dal ten moj script do .kde/Autostart a potom to zacalo fungovat.

Proste musis vykonat to "restore" az po prihlaseni do grafiky.
21.6.2011 17:58 maník | skóre: 18
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
V Ubuntu to jde, ale v Debianu narazím na problém, že alsactl restore může vykonat root a ne přihlášený uživatel, takže se příkaz neprovede.
21.6.2011 08:47 Pev | skóre: 28
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
Udělal bych si vlastní init script (ikdyž /etc/rc.local je asi čistší řešení). Pročistil bych nějaký krátký skript z /etc/init.d/. Např. v /etc/init.d/cron by stačilo nechat:

case "$1" in
start|restart)
# potrebne nastaveni
;;
esac

Případně použít k tomu určený /etc/init.d/skeleton.

U vlastního pořadí spouštění záleží, jestli už používáte dependency based boot (balík insserv). U čisté instalace Squeeze by to mělo být zapnuté - pořadí provádění se tedy řídí pomocí komentářů na začátku skriptu(viz. How to LSBize an Init Script).

V hlavičce by tedy mohlo být:
# Required-Start:    $remote_fs alsa-utils
# Required-Stop:     $remote_fs alsa-utils
# X-Start-Before:    kdm gdm xdm
# X-Stop-After:      kdm gdm xdm
Při upgrade se to muselo explicitně zapnout (dpkg-reconfigure insserv), pokud by tedy byl starý klasický způsob bootu, tak tam se pořadí určovalo pomocí linků v /etc/init.d/.

Instalace do jednotlivých /etc/rc[0-6].d/ je pomocí

update-rc.d -f myscript defaults
21.6.2011 18:03 maník | skóre: 18
Rozbalit Rozbalit vše Re: Spustit příkaz při startu systému Debian 6
Díky, používám dependecy based mód. Mám tedy skript vytvořit v /etc/init.d a pak ho nainstalovat pomocí update-rc.d?

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.