Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam!
Mam prosty skrypt, który kolejno uruchamia:
1. lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend
2. sleep 5
3. xbmc
#!/bin/bash lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend | sleep 5 | xbmc
Skrypt działa dobrze. Powyższe 3 polecenia chcę dopisać do aktywatora na pulpicie, a skrypt usunąć. Aktywator wygląda tak:
[Desktop Entry] Type=Application Exec=lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend | sleep 5 | xbmc Name=test Icon=brak
Problem w tym, że exec nie chce uruchamiać trzech poleceń zapisanych w takiej formie:
Exec=lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend | sleep 5 | xbmc
Każde polecenie zapisane pojedyńczo działa prawidłowo np.:
Exec=lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend
lub:
Exec=xbmc
Jak poprawnie zapisać 3 polecenia dla exec?
Ostatnio edytowany przez prosze (2013-02-03 10:56:08)
Offline
&&
np:
echo dupa > plik && cat plik
Offline
Do pasqdnik:
To było by za proste, aby działało. Twoją propozycję już spawdziłem przed zadaniem pytania. Takie polecenia nie działają:
Exec=lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend; sleep 5; xbmc Exec=lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend && sleep 5 && xbmc Exec=lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend | sleep 5 | xbmc
Ostatnio edytowany przez prosze (2013-02-03 11:54:18)
Offline
Tylko po co sobie życie utrudniać.
Po to są skrypty aby nie trzeba dziesiątek poleceń klepać.
Nie lepiej ten skrypt wrzucić np do /usr/local/bin i w aktywatorze podać scieżke do skryptu ?
Offline
A
Exec=lxterminal -e "/home/userpc/tvheadend/build.linux/tvheadend && sleep 5 && xbmc"
?
Offline
Do ilin:
Aby ten skrypt uruchamiać to nie trzeba go nawet przenosić do /usr/local/bin. Możne on być umieszczony np. na pulpicie. Problem w tym, że jest to droga na około, bo tworzymy dwa pliki (skrypt i aktywator). Myślę, że exec umieszczony w aktywatorze powinien uruchamic dwa polecenia bez dodatkowego skyptu.
Do Carnophage:
Tak też nie działa:
Exec=lxterminal -e "/home/userpc/tvheadend/build.linux/tvheadend && sleep 5 && xbmc"
Offline
Co w tym złego że skrypt jest programem który uruchamia inne dwa programy ?
Tak działają wszelkie menadżery logowania.
Dla mnie dziwne jest to ,że uruchamiasz tvheadend w ten sposób.
Ja mam dopisany do autostartu środowiska graficznego.
Lata sobie cały czas.
Mogę nagrywać czasowo z przeglądarki nie obawiając sie o to czy nie zapomnę go włączyć.
Xbmc zaś odpalam jako samodzielny program jeśli chcę oglądać.
Offline
Nie działa bo tvheadend nie kończy swojego procesu:
Exec=lxterminal -e "/home/userpc/tvheadend/build.linux/tvheadend & sleep 5 && xbmc"
Ale niezbyt ładnie to wygląda.
Albo tak:
Exec=lxterminal -e "/home/userpc/tvheadend/build.linux/tvheadend &" && sleep 5 && xbmc
Ostatnio edytowany przez yossarian (2013-02-03 12:54:47)
Offline
Do ilin:
Tvheadend nie dodałem do progamów startowych, bo tv oglądam sporadycznie. Mam też zrobione 3 odzielne aktywatory (1. xbmc, 2. tvheadend. 3. Skrypt, który podałem). Jestem też ciekawy, czy można zrobić tak, jak próbowałem wyżej.
Do yossarian:
Zaskocze cię :) Żadne z tych poleceń nie działa.
Offline
prosze napisał(-a):
Do yossarian:
Zaskocze cię :) Żadne z tych poleceń nie działa.
U mnie działają oba wpisywane w ten sposób z palca:
xterm -e "/home/yossarian/tvheadend/build.linux/tvheadend &" && sleep 3 && xbmc
Twój sposób uruchamiania jest na tyle dziwny że nie chciało mi się robić takiego aktywatora ;)
Offline
su - touch /usr/bin/skrypt $EDITOR /usr/bin/skrypt
i wklejasz:
#!/bin/sh $HOME/tvheadend/build.linux/tvheadend && sleep 5 && xbmc
Nadaj prawa:
chmod +x /usr/bin/skrypt
w aktywatorze podaj:
Exec=lxterminal -e skrypt
Offline
yossarian napisał(-a):
Twój sposób uruchamiania jest na tyle dziwny że nie chciało mi się robić takiego aktywatora ;)
Nie wiem, co jest w tym dziwnego, że chce w aktywatorze podać dwa polcenecnia zamiast jednego ;)
userpc@userpc:~$ xterm -e "/home/yossarian/tvheadend/build.linux/tvheadend &" && sleep 3 && xbmc bash: xterm: nie znaleziono polecenia userpc@userpc:~$
Do mati75:
Tak to ja wiem, że będzie działać. Pisałem o tym wcześniej :)
Ostatnio edytowany przez prosze (2013-02-03 14:34:53)
Offline
prosze napisał(-a):
yossarian napisał(-a):
Twój sposób uruchamiania jest na tyle dziwny że nie chciało mi się robić takiego aktywatora ;)
Nie wiem, co jest w tym dziwnego, że chce w aktywatorze podać dwa polcenecnia zamiast jednego ;)
Kod:
userpc@userpc:~$ xterm -e "/home/yossarian/tvheadend/build.linux/tvheadend &" && sleep 3 && xbmc bash: xterm: nie znaleziono polecenia userpc@userpc:~$
Ty wszystko tak bezmyślnie kopiujesz?
Offline
Do yossarian:
Widzisz, tak to jest, jak się coś sprawdza na skróty :) To, że wpisałeś powyższe polecenie (z palca) i ono działa prawidłowo, to jeszcze nic nie znaczy. U mnie wpisane bezpośrednio do terminala polecenie też działa:
lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend | sleep 5 | xbmc
Ostatnio edytowany przez prosze (2013-02-03 15:28:41)
Offline
Taki u mnie działa:
Exec="/home/yossarian/tvheadend/build.linux/tvheadend"& sleep 3 && xbmc
Offline
U mnie wpisane bezpośrednio do terminala polecenie:
Exec="/home/userpc/tvheadend/build.linux/tvheadend"& sleep 5 && xbmc
uruchamia tylko xbmc. Tvheadend nadal nie jest uruchomiony. Dopisanie tego polecenia do aktywatora nie odpala nawet xbmc.
Offline
Sprawdzałem na aktywatorze Opery:
[Desktop Entry] Exec="/home/yossarian/tvheadend/build.linux/tvheadend"& sleep 5 && xbmc Name=Opera Icon=/home/yossarian/.icons/nouveGnomeGray/128x128/apps/opera.png Type=Application
I pięknie działa.
Może to niekompatybilny użyszkodnik? ;)
Nie robisz jakiegoś prostego błędu?
Nie wisi ci jakiś proces tvheadend?
To polecenie odpala na stałe tvheadend i po zamknięciu XBMC nadal działa w tle.
Ostatnio edytowany przez yossarian (2013-02-03 17:36:53)
Offline
Do yossarian:
Myślisz, że coś źle robię? W takim razie zostawmy tvheadend i xbmc. Teraz będzie prosty przykład. Wpisuje do terminala takie polecenie:
Exec= "iceweasel" & sleep 5 && opera
I co? Jako pierwszy uruchamia się iceweasel, a po 5 sekundach opera, czyli wszystko ok.
Teraz tworze plik o zawartości:
[Desktop Entry] Exec= "iceweasel" & sleep 5 && opera Name=test Icon=brak Type=Application
Uruchamiam powyższy plik dwukrotnym kliknięciem, ale otwiera się tylko iceweasel.
Kiedy uruchomię powyższy plik w terminalu poleceniem sh test to wszystko działa ok (otwiera się iceweasel i opera).
EDIT:
Taka sama sytuacja jest z tvheadend i xbmc. Dwuklikem nie można uruchomić poniższego skryptu, ale uruchomienie tego samego skrpytu przez terminal działa ok.
[Desktop Entry] Exec= lxterminal -e "/home/userpc/tvheadend/build.linux/tvheadend" & sleep 5 && xbmc Name=test Icon=brak Type=Application
Ostatnio edytowany przez prosze (2013-02-03 20:56:50)
Offline
prosze napisał(-a):
Tak to ja wiem, że będzie działać. Pisałem o tym wcześniej :)
To po co kombinujesz jak kobyła pod górę?
Offline
Kombinuje, aby się dowiedzieć dlaczego odpalenie tego samego aktywatora dwuklikem nie chce działać, a przez terminal działa.
Offline
prosze napisał(-a):
Do yossarian:
Myślisz, że coś źle robię? W takim razie zostawmy tvheadend i xbmc. Teraz będzie prosty przykład. Wpisuje do terminala takie polecenie:Kod:
Exec= "iceweasel" & sleep 5 && operaI co? Jako pierwszy uruchamia się iceweasel, a po 5 sekundach opera, czyli wszystko ok.
Teraz tworze plik o zawartości:Kod:
[Desktop Entry] Exec= "iceweasel" & sleep 5 && opera Name=test Icon=brak Type=ApplicationUruchamiam powyższy plik dwukrotnym kliknięciem, ale otwiera się tylko iceweasel.
Kiedy uruchomię powyższy plik w terminalu poleceniem sh test to wszystko działa ok (otwiera się iceweasel i opera).
EDIT:
Taka sama sytuacja jest z tvheadend i xbmc. Dwuklikem nie można uruchomić poniższego skryptu, ale uruchomienie tego samego skrpytu przez terminal działa ok.Kod:
[Desktop Entry] Exec= lxterminal -e "/home/userpc/tvheadend/build.linux/tvheadend" & sleep 5 && xbmc Name=test Icon=brak Type=Application
Ja sprawdzałem z aktywatora w tint2. Nie mam pulpitu z ikonkami.
Z tint2 u mnie się normalnie uruchamia.
Offline
Do yossarian:
To teraz jest wszystko jasne. Ja pisałem o aktywatorze na pulpicie, a Ty sprawdzałeś działanie aktywatora na panelu tint2. Na panelu tint2 aktywatory działają bez żadnej kombinacji. Działa nawet polecenie, które podałem wcześniej:
Exec=lxterminal -e /home/userpc/tvheadend/build.linux/tvheadend | sleep 5 | xbmc
Ja natomiast walczyłem z aktywatorem na pulpicie i odkryłem, że można jego uruchomić tylko z terminala. Dwuklik niestety nie działa.
Offline