Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: thomas23 18 Května 2013, 14:55:20

Název: serviio 1.2.1 [Vyřešeno]
Přispěvatel: thomas23 18 Května 2013, 14:55:20
Zdravím Vás, po update na 13.04 mám problém se spouštěním serviio. Když dám serviio.sh otevře se mi to v textovém adresáři, to samé se  serviio-console.sh (spouštím to zároveň) Dříve se mi tam ukázalo jestli to chci otevřít, spustit atd...

Všem děkuji za pomoc! ;)

[příloha smazaná administrátorem]
Název: Re:serviio 1.2.1
Přispěvatel: Cuore 18 Května 2013, 19:27:34
máš přidělené práva ke spuštění? Pravým na soubor, vybrat vlastnosti, pak záložku oprávnění a zaškrtnout "Povolit spouštění jako program" nebo tak nějak  ;)
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 18 Května 2013, 19:39:43
Ano, to políčko je zašrtlé, ale pořád se to spustí v gedit. :-\
Název: Re:serviio 1.2.1
Přispěvatel: Cuore 18 Května 2013, 21:23:01
co udělá terminál? otevři a přejdi do složky serviio
Kód: [Vybrat]
cd Dokumenty/Ubuntu-PC/serviio-1.2.1/bin a pak to spusť
Kód: [Vybrat]
./serviio.sh
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 15:42:11
Co to je za nesmysl?

[příloha smazaná administrátorem]
Název: Re:serviio 1.2.1
Přispěvatel: Roman Vacho 19 Května 2013, 15:54:34
Chybí práva pro spuštění?
Jestli tam je soubor, zjistíš
Kód: [Vybrat]
ls.
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 16:00:21
Chybí práva pro spuštění?
Jestli tam je soubor, zjistíš
Kód: [Vybrat]
ls.

[příloha smazaná administrátorem]
Název: Re:serviio 1.2.1
Přispěvatel: Dano V 19 Května 2013, 16:30:45
Co to je za nesmysl?
len drobné nedorozumenie  ;)
Kód: [Vybrat]
cd Dokumenty/Ubuntu-PC/serviio-1.2.1/bin / tam bola navyše
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 16:45:51
co udělá terminál? otevři a přejdi do složky serviio
Kód: [Vybrat]
cd /Dokumenty/Ubuntu-PC/serviio-1.2.1/bin a pak to spusť
Kód: [Vybrat]
./serviio.sh
Bez reakce. :(
Název: Re:serviio 1.2.1
Přispěvatel: petertomasy 19 Května 2013, 18:04:17
v README sa píše :
Citace
Linux - run Serviio server with bin/serviio.sh (with -stop attribute to stop a running
           instance). To start the console run bin/serviio-console.sh.
Citace
peter@peter:~/Plocha/serviio-1.2.1/bin$ ./serviio.sh
spustí server
 
Citace
peter@peter:~/Plocha/serviio-1.2.1/bin$ ./serviio-console.sh
spustí konzolu


nevidím žiadny problém ...

[příloha smazaná administrátorem]
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 19:07:47
Super, ale já to mám trošku jiný, jak to že nemám serviio-console.sh zelené jako Ty? Kde pak se vloudila chybička?  :D

[příloha smazaná administrátorem]
Název: Re:serviio 1.2.1
Přispěvatel: petertomasy 19 Května 2013, 20:35:00
Si děláš srandu? "Cuore" a "Rovano" sa ťa pýtali , či máš práva na spustenie a ty si im písal, že ano , ale ako vidno, tak nie
Citace
-rw-rw-rw- 1 peter peter 2084 mar 22 15:59 serviio-console.sh*
-rwxrwxrwx 1 peter peter 2023 mar 22 15:59 serviio.sh*
tak sa potom nediv , že je to bez reakce ...
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 21:07:18
Si děláš srandu? "Cuore" a "Rovano" sa ťa pýtali , či máš práva na spustenie a ty si im písal, že ano , ale ako vidno, tak nie
Citace
-rw-rw-rw- 1 peter peter 2084 mar 22 15:59 serviio-console.sh*
-rwxrwxrwx 1 peter peter 2023 mar 22 15:59 serviio.sh*
tak sa potom nediv , že je to bez reakce ...
Omg, ono to nebylo u toho druhého... Moc se omlouvám, s Linuxem moc dlouho nepracuji a vím že dříve jsem to nedělal přes terminal. Mockrát děkuji za pomoc!  ;)
Název: Re:serviio 1.2.1
Přispěvatel: Cuore 19 Května 2013, 21:10:15
ono ti to musí jít spustit i klasicky pokud máš práva ke spuštění, proto jsme se ptali  ::)
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 21:24:18
Nene, když to chci spustit v bin ručně, tak mi to pořád hází do gedit, ale když to udělám přes terminál tak se mi to spustilo. No což o to, to by ani tak nevadilo, hlavně že to jde a bylo by ještě více príma kdyby byla nějaká možnost aby se to samo spustilo při spuštění PC, :)
Název: Re:serviio 1.2.1
Přispěvatel: Cuore 19 Května 2013, 21:29:14
neni problém  :) pokud budeš chtít, tak to lze pořešit scriptem ...
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 21:30:21
Jo, to bylo super!  ;)
Název: Re:serviio 1.2.1
Přispěvatel: Cuore 19 Května 2013, 21:43:39
zitra ti to sem dám, mám psaný takový univerzál pro serviio, když totiž dělám PC, tak nahazuji serviio jako základ. Jen aby se to nemuselo upravovat, tak si složku přejmenuj jen místo
Citace
serviio-1.2.1
na
Citace
serviio
a umístni si ho do domácí složky  ;)
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 19 Května 2013, 21:44:47
Dobře, díky moc! :)
Název: Re:serviio 1.2.1
Přispěvatel: Cuore 20 Května 2013, 18:10:49
Tu přílohu si stáhni, rozbal a obzah ulož do tvé složky serviio (tu musíš mít ve svém domácím adresáři a jen s názvem serviio). Scriptu
Citace
"start_serviio.sh"
a spouštěči
Citace
"serviio.desktop"
nastav spustitelný příznak, jako si to dělal u
Citace
serviio.sh a serviio-console.sh
ikona a logo jsou jen obrázky a serviio.desktop je spouštěč, který si můžeš umístit do boční lišty pro snadné spouštění. Akorát mu pod vlastnostmi, v kolonce příkaz nastav absolutní cestu k start_serviio.sh. Pokud je tvé uživatelské jméno thomas23, tak to bude
Citace
/home/thomas23/serviio/start_serviio.sh
Obrázek=ikona.png
Pokud budeš chtít serviio spouštět automaticky po zapnutí PC (asi zbytečnost) tak klikni na vyhledávání v Dash a napiš
Citace
aplikace spouštěné při přihlášení
a tam si přidej nový, kde pod příkaz dej cestu k start_serviio.sh takže
Citace
/home/thomas23/serviio/start_serviio.sh
kód start_serviio.sh:
Kód: [Vybrat]
#!/bin/sh

echo  'server serviio startuje'
notify-send -i ~/serviio/logoserviio.png 'vyčkávám na spuštění serveru' '...testuji'

sleep 5;

~/serviio/bin/serviio.sh &

PID1=$!;

seconds=2
echo -n "vyčkávám na spuštění serveru"

sleep 1
while [ $seconds -ge 0 ]

do
sleep 1

echo -en "\r`tput el`$seconds"

seconds=$(expr $seconds - 1 )
done

ps -e | cut -c -5 | grep $PID1 > $PWD/serviio/ps.log

PID2="< $PWD/serviio/ps.log";
PID2=$(cat $PWD/serviio/ps.log);
rm $PWD/serviio/ps.log
echo "PID1" $PID1
echo "PID2" $PID2

[ $PID1 = $PID2 ] || {
echo "server serviio nenaběhl"
notify-send -i ~/serviio/logoserviio.png 'server serviio nenaběhl ukončuji' 'spusť znovu'
killall -9 java
exit 1
} && echo "server serviio naběhl"
notify-send -i ~/serviio/logoserviio.png 'vyčkávám na start serviio-console' '..testuji'

sleep 8
sleep 5 &

~/serviio/bin/serviio-console.sh &

PID3=$!;

seconds=2
echo -n "vyčkávám na start serviio-console"

sleep 1
while [ $seconds -ge 0 ]

do
sleep 1

echo -en "\r`tput el`$seconds"

seconds=$(expr $seconds - 1 )
done

ps -e | cut -c -5 | grep $PID3 > $PWD/serviio/psc.log

PID4="< $PWD/serviio/psc.log";
PID4=$(cat $PWD/serviio/psc.log);
rm $PWD/serviio/psc.log
echo "PID3" $PID3
echo "PID4" $PID4

[ $PID3 = $PID4 ] || {
echo "serviio-console nenaběhla"
notify-send -i ~/serviio/logoserviio.png 'serviio-console nenaběhla ukončuji' 'spusť znovu'
killall -9 serviio.sh
killall -9 java
exit 1
} && echo "serviio-console naběhla"
notify-send -i ~/serviio/logoserviio.png 'serviio-console naběhla' 'server serviio aktivní' -t 20000

sleep 5 &
pid=$PID3;
echo "PID3" $PID3
 
while [ $? -eq 0 ]; do
        for x in / - \\ \|; do
                echo -n "skenuji $x \r";
                sleep 0.2;
        done
        kill -0 $pid 2> /dev/null
done
echo  'konzole byla ukončena, zabíjím server'
notify-send -i ~/serviio/logoserviio.png 'konzole serviio byla ukončena' 'zabíjím server serviio' -t 20000
killall -9 serviio.sh
killall -9 java
exit 0

Ke scriptu:
jako první spustí backend serviio.sh, kde čeká na jeho korektní naběhnutí podle odchyceného PID, až pak spouští frontend console-serviio.sh (je to bezpečnější způsob, pro správné naběhnutí). Pokud se něco nepovede, vše killne a požádá o nové spuštění. Killne i Javu, která při nekorektním ukončení serviia zůstává běžet a blokuje následné spuštění. Pokud si to spustíš v terminálu, tak uvidíš detailnější průběh spouštění. pokud by ti náhodou nestíhalo spouštění a pořád by to padalo, zvedni si čas v proměnných
Citace
seconds=
tj. čas který má serviio na start, jinak se ukončuje. ty delší sleepy jsou jen pro zpomalení startu serviia, aby se stihly vykreslovat notifikace. Nakonec zůstává script ve skenu a hlídá si aktivní frontend. To jen z toho důvodu, že pokud ho omylem zavřeš, tak pak ti zůstává zbytečně vyset backend. Takhle se opět killne.

[příloha smazaná administrátorem]
Název: Re:serviio 1.2.1
Přispěvatel: thomas23 20 Května 2013, 20:35:34
Super! Díky moc, moc jsi mi pomohl!!! ;)