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
-
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]
-
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 ;)
-
Ano, to políčko je zašrtlé, ale pořád se to spustí v gedit. :-\
-
co udělá terminál? otevři a přejdi do složky serviio
cd Dokumenty/Ubuntu-PC/serviio-1.2.1/bin a pak to spusť ./serviio.sh
-
Co to je za nesmysl?
[příloha smazaná administrátorem]
-
Chybí práva pro spuštění?
Jestli tam je soubor, zjistíš ls.
-
Chybí práva pro spuštění?
Jestli tam je soubor, zjistíš ls.
[příloha smazaná administrátorem]
-
Co to je za nesmysl?
len drobné nedorozumenie ;) cd Dokumenty/Ubuntu-PC/serviio-1.2.1/bin / tam bola navyše
-
co udělá terminál? otevři a přejdi do složky serviio cd /Dokumenty/Ubuntu-PC/serviio-1.2.1/bin a pak to spusť ./serviio.sh
Bez reakce. :(
-
v README sa píše :
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.
peter@peter:~/Plocha/serviio-1.2.1/bin$ ./serviio.sh
spustí server
peter@peter:~/Plocha/serviio-1.2.1/bin$ ./serviio-console.sh
spustí konzolu
nevidím žiadny problém ...
[příloha smazaná administrátorem]
-
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]
-
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
-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 ...
-
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 -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! ;)
-
ono ti to musí jít spustit i klasicky pokud máš práva ke spuštění, proto jsme se ptali ::)
-
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, :)
-
neni problém :) pokud budeš chtít, tak to lze pořešit scriptem ...
-
Jo, to bylo super! ;)
-
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
serviio-1.2.1
na serviio
a umístni si ho do domácí složky ;)
-
Dobře, díky moc! :)
-
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
"start_serviio.sh"
a spouštěči "serviio.desktop"
nastav spustitelný příznak, jako si to dělal u 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 /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š 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 /home/thomas23/serviio/start_serviio.sh
kód start_serviio.sh:
#!/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 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]
-
Super! Díky moc, moc jsi mi pomohl!!! ;)