Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: kingofroad 22 Června 2009, 13:42:52
-
ahoj
vytvořil jsem skript na restream pomocí vlc a rád bych ho spouštěl automaticky po startu
našel jsem ve foru stejný problém http://forum.ubuntu.cz/index.php/topic,1854.0.html ale nějak to nechápu.
skript funuje pokud ho spustím ručně. Prosím o detailní popis kam přesně skript zapsat a hlavně v jakem formatu.
skript jsem umístil do /home/"user"/ a nastavil mu parametr spuštění. Pojmenoval jsem ho .cvlcstart
díky za pomoc.
Dále by se mi hodilo kdyby mi někdo pomoh lse skriptem ale to není až tak nutné.
mám zdroj internetové televize která má 2 kanály tj 2 adresy. Lze jedním skriptem streamovat obě adresy nebo je nutné udělat skripty 2?
můj skript vypadá asi takto:
#!/bin/bash
sleep 120 && cvlc ADRESA ZDROJE --sout http/ts:ADRESA SERVERU
tedy pro pochopení jak udělat toto?
#!/bin/bash
sleep 120 && cvlc ADRESA ZDROJE --sout http/ts:ADRESA SERVERU:8000
sleep 120 && cvlc ADRESA ZDROJE2 --sout http/ts:ADRESA SERVERU:8001
Díky předem moc
-
cestu k vašenu skriptu do /etc/rc.local před řádek exit 0
#!/bin/bash
sleep 120 && cvlc ADRESA ZDROJE --sout http/ts:ADRESA SERVERU:8000
sleep 120 && cvlc ADRESA ZDROJE2 --sout http/ts:ADRESA SERVERU:8001
Najděte dva rozdíly
#!/bin/bash
sleep 120 && cvlc ADRESA ZDROJE --sout http/ts:ADRESA SERVERU:8000 &
sleep 120 && cvlc ADRESA ZDROJE2 --sout http/ts:ADRESA SERVERU:8001 &
-
cestu k vašenu skriptu do /etc/rc.local před řádek exit 0
#!/bin/bash
sleep 120 && cvlc ADRESA ZDROJE --sout http/ts:ADRESA SERVERU:8000
sleep 120 && cvlc ADRESA ZDROJE2 --sout http/ts:ADRESA SERVERU:8001
Najděte dva rozdíly
#!/bin/bash
sleep 120 && cvlc ADRESA ZDROJE --sout http/ts:ADRESA SERVERU:8000 &
sleep 120 && cvlc ADRESA ZDROJE2 --sout http/ts:ADRESA SERVERU:8001 &
bezva díky ozkouším
tak bohužel
tady je výpis /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/home/open/.cvlcstart start
exit 0
zkoušel jsem i bez paramertu start na /home/open/.cvlcstart
-
Dej tady výpis z
ls -l /etc/rc.local /home/open/.cvlcstart /etc/rc2.d/S99rc.local
-
Dej tady výpis z ls -l /etc/rc.local /home/open/.cvlcstart /etc/rc2.d/S99rc.local
příkaz jsem zadal vypsalo to toto:
ls -l /etc/rc.local /home/open/.cvlcstart /etc/rc2.d/S99rc.local
-rwxr-xr-x 1 root root 333 2009-06-22 16:04 /etc/rc.local
lrwxrwxrwx 1 root root 18 2009-05-31 12:51 /etc/rc2.d/S99rc.local -> ../init.d/rc.local
-rwxr-xr-x 1 open open 102 2009-06-22 18:38 /home/open/.cvlcstart
měl jsem to spuštěno přes terminál ručně
kolega radil abych tam nedával do skriptu toto: && tak jsemto upravil
-
měl jsem to spuštěno přes terminál ručně
Co jsi měl spuštěno?
Výpis vypadá OK. Funguje Ti skript, když ho spustíš z Terminálu? Taky si musíš uvědomit, že z rc.local to spouštíš s právy roota.
-
měl jsem to spuštěno přes terminál ručně
Co jsi měl spuštěno?
Výpis vypadá OK. Funguje Ti skript, když ho spustíš z Terminálu? Taky si musíš uvědomit, že z rc.local to spouštíš s právy roota.
spuštěn jsem měl skript při testu.pak jsem ho killnul a příkaz poslal znova a vypsalo to to samé.
ano skript je v pořádku když ho pustím z terminálu tak najede . pokud ho killnu a udělám v terminálu /etc/init.d/rc.local start tak to taky najede ale při startu prostě ne.
Někde jsem se dočetl že problém je asi to že rc.local načítá mnohem dřív než useři - tim myslim /home/open/..
všechno co jsem chtěl jde až na to když to prostě rebootnu tak to nenjede což je u "secího stroje" dost podstatná závada. e možnost skript adresovat jinde než v rc.local? a kde? Díkymoc
-
e možnost skript adresovat jinde než v rc.local? a kde? Díkymoc
Zkus to dát do /etc/gdm/PostLogin/Default. Pokud tam není, tak ho vytvoř. Spouští se zase s právy roota. Já tam mám svůj skript, jehož výstup se zároveň zapisuje do logu takto:#! /bin/bash
if [[ -s $HOME/skripty/edit-mtrr ]]; then
$HOME/skripty/edit-mtrr >> $HOME/logy/mtrr.log 2>&1
fi
exit 0
Pokud je ho potřeba spouštět s jinými právy, je možno použít třeba sudo -u open echo "ahoj"
-
e možnost skript adresovat jinde než v rc.local? a kde? Díkymoc
Zkus to dát do /etc/gdm/PostLogin/Default. Pokud tam není, tak ho vytvoř. Spouští se zase s právy roota. Já tam mám svůj skript, jehož výstup se zároveň zapisuje do logu takto:#! /bin/bash
if [[ -s $HOME/skripty/edit-mtrr ]]; then
$HOME/skripty/edit-mtrr >> $HOME/logy/mtrr.log 2>&1
fi
exit 0
Pokud je ho potřeba spouštět s jinými právy, je možno použít třeba sudo -u open echo "ahoj"
děkuji na stotisíckrát vyřešeno
v rc.local doplněno
sudo -u open /home/open/.cvlcstart a jede toooooooo
Bezvadná práce tohle do konce života nezapomenu