Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w wątku Administracja.
Wątki z problemami zamieszczone w dziale "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Autor Wątek: jak uruchomić aplikacje GUI z crona?  (Przeczytany 1387 razy)

Offline microsofter

  • Sr. Member
  • ****
  • Wiadomości: 268
  • Reputacja: 5
jak uruchomić aplikacje GUI z crona?
« dnia: Czerwiec 12, 2021, 11:43:56 pm »
Nie dziala mi z dodanym export DISPLAY=:0.0 przed wywolaniem aplikacji, ani przez odpalanie skryptu ktory startuje aplikacje. Dzialaja tylko programy CLI. Jak zaplanowac automatyczne uruchomienie aplikacji graficznej?
Solaris by Sun Microsystems

Offline pavbaranov

  • Hero Member
  • *****
  • Wiadomości: 3167
  • Reputacja: 51
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #1 dnia: Czerwiec 13, 2021, 06:27:02 am »
Może coś Ci pomoże: https://wiki.archlinux.org/title/Cron#Running_X.org_server-based_applications.

Offline microsofter

  • Sr. Member
  • ****
  • Wiadomości: 268
  • Reputacja: 5
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #2 dnia: Czerwiec 13, 2021, 11:42:13 am »
Poddaje sie. Nie mam xuserrun i nie pomaga dodanie przed aplikacja env DISPLAY=:0, env DISPLAY=:0:0 ani nawet xhost +. Widac chwilowa aktywnosc dysku, wiec aplikacja probuje startowac, ale nie moze.

Potrzebny mi jest budzik. W Windows zawsze mialem zaplanowane odtwarzanie jakiegos MP3 albo WAV (w tych starszych). Da sie to zrobic na Unixie? Aktualnie musi mi chodzic drugi komp z Windows.
Solaris by Sun Microsystems

Offline pavbaranov

  • Hero Member
  • *****
  • Wiadomości: 3167
  • Reputacja: 51
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #3 dnia: Czerwiec 13, 2021, 12:00:32 pm »
Szczerze nie wiem - na BSD nie znam się kompletnie, ale skoro wywołujesz program konsolowy bez problemu, a chodzi Ci wyłącznie o odtworzenie jakiegoś dźwięku, to po prostu wywołaj program konsolowy do odtwarzania muzyki. Nie wiem co tam w BSD masz, ale być może coś z tej listy: https://wiki.archlinux.org/title/List_of_applications#Console_13 się znajdzie (bądź proste mpg123 - zob.: https://mpg123.de/ - to na pewno na UNIX jest).

Offline microsofter

  • Sr. Member
  • ****
  • Wiadomości: 268
  • Reputacja: 5
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #4 dnia: Czerwiec 13, 2021, 01:40:08 pm »
W ostatecznosci nada sie konsolowy.
Dzieki za liste, jest bardzo obszerna. Niestety, wszystkie te programy oferowane sa wylacznie w postaci zrodel. Wyjatkiem jest XMMS2, ktory ma binarki do kazdego OS ... za wyjatkiem Solarisa! Trudno, zostawiam ta sprawe na pozniej.

Zmienilem awatar. Juz kazdy bedzie wiedzial, o jaki OS pytam.
Solaris by Sun Microsystems

Offline pavbaranov

  • Hero Member
  • *****
  • Wiadomości: 3167
  • Reputacja: 51
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #5 dnia: Czerwiec 13, 2021, 01:51:59 pm »
To skompiluj sobie mpg123 (przykładowo, bo to stosunkowo mały programik). Nb. jeśli masz tam VLC, to jest on dostarczany również z konsolowym cvlc.

Offline microsofter

  • Sr. Member
  • ****
  • Wiadomości: 268
  • Reputacja: 5
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #6 dnia: Czerwiec 13, 2021, 02:54:50 pm »
Zebym tak umial. Nie mam zielonego pojecia, jak to sie robi. I przypuszczam, ze aby ktos mogl ,,poprowadzic za reke", musialby miec taki sam system.
VLC tez chetnie skompilowalbym sobie. Brak porzadnego otwarzacza filmow to pierwsze, co zaczelo doskwierac mi w Solarisie. Aby cos obejrzec, musze uzyc drugiego kompa z malym monitorkiem.

ps. Nazwa mpg123 brzmi bardzo znajomo. Czy ja czasem nie uzywalem go, wieki temu, do sluchania MP3 w Win3.1x? Pamietam, ze program mial GUI (musial miec, bo wtedy Windows jeszcze nie posiadal konsoli) i nie dalo sie przewinac piosenki - byl tylko start, pauza i stop. Aby nie rwalo, przy bardziej wymagajacych utworach, trzeba bylo przestawiac dekodowanie na i486. Tylko najpotezniejsze PC byly w stanie odtwarzac MP3, czesto dobijajac do 100% CPU. Rzadzily kasety, opornie wchodzily plyty CD-Audio, a my juz sluchalismy MP2 i MP3. To byly prawdziwie pionierskie czasy!
Solaris by Sun Microsystems

Offline pavbaranov

  • Hero Member
  • *****
  • Wiadomości: 3167
  • Reputacja: 51
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #7 dnia: Czerwiec 13, 2021, 03:15:50 pm »
mpg123 nie ma GUI. Tak go się kompiluje: https://github.com/archlinux/svntogit-packages/blob/packages/mpg123/trunk/PKGBUILD (od sekcji build, a w zasadzie od #25). Proste narzędzie, które normalnie wywołuje przez 'mpg123 plik'. I gra :)
BSD - dla mnie to jedna wielka niewiadoma. Być może tam również są jakieś zamienniki na aplikacje, które Ci podrzuciłem. Mają otwarty kod, pewnie ktoś potrudził się, by zrobić jakąś binarkę na Solarisa lub jest jakaś alternatywa. Jeśli nie, to pozostaje kompilacja (jeśli da się ją w Solarisie przeprowadzić).
PS: VLC to kilka ładnych godzin kompilacji (o ile pamiętam) :D

Offline microsofter

  • Sr. Member
  • ****
  • Wiadomości: 268
  • Reputacja: 5
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #8 dnia: Czerwiec 13, 2021, 05:01:51 pm »
Zgoda, bede mial wiecej czasu, to sprobuje skompilowac mpg123. Nie zaszkodzi podjac probe.

Solaris NIE nalezy do rodziny BSD. To jest Unix System V release 4 i posiada certyfikat Unix, ktorego nigdy nie dostal zaden BSD. Dlatego postanowilem zainstalowac go. Zakladam tematy w dziale ,,Inne systemy BSD", bo jedyna alternatywa to ,,Inne dystybucje Linux". Wydaje mi sie, ze tu pasuje lepiej. BSD jest starym forkiem Unixa, natomiast GNU i Linux nie sa spokrewnione z nim wcale.
Osobny temat to fakt, ze wiele dobrodziejstw BSD trafilo do Solarisa, chocby UFS.

Kompilacja VLC to kilka godzin siedzenia przed kompem i cos trzeba robic co chwila, czy zapuszczasz kompilacje i po paru godzinach jest gotowe? Jesli to drugie, to zaden problem. Uruchomie na noc, lub gdy bede wychodzil do pracy.
Solaris by Sun Microsystems

Offline pavbaranov

  • Hero Member
  • *****
  • Wiadomości: 3167
  • Reputacja: 51
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #9 dnia: Czerwiec 13, 2021, 08:45:04 pm »
Kompilacja VLC to kilka godzin siedzenia przed kompem i cos trzeba robic co chwila, czy zapuszczasz kompilacje i po paru godzinach jest gotowe?
Kompilacja składa się zazwyczaj z trzech części:
1. przygotowania kompilacji (prekompilacji) - w przypadku mpg123 to te linie zaczynające się od .configure, ale nie za każdym razem tak będzie, może to być choćby cmake, qmake, nps, cokolwiek, w zależności od tego jak zostały źródła przygotowane; informacja winna być dostarczana wraz ze źródłami, choć niekiedy jest również w jakimś "wiki" źródeł; także z tego pliki/wiki można przeczytać jakie "przełączniki" są do dyspozycji (tu bowiem często możemy wydać dyspozycje czy np. program ma być przygotowany na Windows, na linuksa, na inny system albo co dany program ma obsługiwać /w tym jaki sprzęt/ itd. itp.);
2. właściwej kompilacji (to w jej wyniku otrzymujemy pliki binarne) i najczęściej (tradycyjnie) wywoływana jest przez make, choć i ono może mieć swoje ustawienia (np. jeśli program ma być rozmieszczony w innych, niż to przewidział twórca miejscach w systemie plików),
3. instalacji w systemie - zazwyczaj (tradycyjnie) to make install, ale znów obecnie niekoniecznie; niektóre programy tego elementu nie przewidują i trzeba "ręcznie" rozmieścić powstałe pliki w odpowiednich miejscach systemu.
I dlatego lubię takie kompilacje jakie oferowane są przez PKGBUILD w Archu (absolutnie nie mam pojęcia jak to w Solaris wygląda).
W przypadku istnienia rozwiązań jak PKGBUILD zasadniczo - jeśli kompilacja przebiega prawidłowo - cała kompilacja (gdy już ów PKGBUILD mamy) sprowadza się do wydania jednego polecenia w wyniku którego otrzymujemy paczkę. Gorzej, gdy kompilacja prawidłowo nie przebiega, bo wówczas trzeba sprawdzić dlaczego tak się dzieje. W przypadku braku rozwiązań takich jak PKGBUILD oraz jeśli we własnym zakresie nie napiszemy sobie skryptu, to ingerencja kompilującego konieczna jest po zakończeniu każdego z etapów kompilacji ze źródeł. Fakt - najdłużej trwa zwykle etap 2. Warto też widzieć co się dzieje podczas kompilacji, zwłaszcza, jeśli się to robi pierwszy raz (czy ogólnie na początku), stąd dobrze, by podczas kompilacji powstawały jakieś logi, te bowiem możesz komuś podrzucić, by ocenić mógł co się dzieje i dlaczego kompilacja nie przebiegła prawidłowo.
Oczywiście systemowi trzeba zapewnić jeszcze kilka rzeczy: odpowiedni kompilator, którym można skompilować określone źródła (w przypadku linuksów to najczęściej gcc bądź clang), zainstalowanie w systemie paczek (z nagłówkami), które dostarczają zależności i to tak budowy, jak i działania oraz owego "prekompilatora" (wyżej np. cmake), choć niekiedy (.configure) to po prostu skrypt i nie wymaga żadnych dodatkowych. Wiedzę o tym czerpiesz z kilku źródeł: przede wszystkim z opisu jak budować paczkę oferowanego wraz ze źródłami (o ile taki opis jest), ogólnej wiedzy nt. kompilacji programów danego typu, niekiedy z jakichś plików (jak CMakeLists.txt) oraz... z Gentoo, Archa, czy innej Fedory, które oferują pliki budujące paczki i są to pliki w miarę czytelne.
Dobra rada: zacznij od jakichś prostych, konsolowych programów (jak np. mpg123), bo te stwarzają podczas kompilacji stosunkowo mało kłopotów (znacznie mniej od aplikacji z GUI, które bardzo często nie tylko wymagają określonych zależności, ale nawet w określonej wersji, a nadto lubią sprawiać kłopoty, gdy nie zostały wprost napisane na jakiś system).
Instrukcje związane z kompilacją VLC masz tu: https://wiki.videolan.org/UnixCompile/ i generalnie sporo tam w wiki videolan informacji o tym jak ten program kompilować.
PS: Fakt, mea culpa, Solaris to oczywiście jeszcze inna bajka niż BSD. Mniejsza jednak o to - nie jest to mniej czy bardziej typowy linux.

Offline rzax666

  • Jr. Member
  • **
  • Wiadomości: 80
  • Reputacja: -39
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #10 dnia: Czerwiec 27, 2021, 07:11:02 am »
Zgoda, bede mial wiecej czasu, to sprobuje skompilowac mpg123. Nie zaszkodzi podjac probe.

Solaris NIE nalezy do rodziny BSD. To jest Unix System V release 4 i posiada certyfikat Unix, ktorego nigdy nie dostal zaden BSD. Dlatego postanowilem zainstalowac go. Zakladam tematy w dziale ,,Inne systemy BSD", bo jedyna alternatywa to ,,Inne dystybucje Linux". Wydaje mi sie, ze tu pasuje lepiej. BSD jest starym forkiem Unixa, natomiast GNU i Linux nie sa spokrewnione z nim wcale.
Osobny temat to fakt, ze wiele dobrodziejstw BSD trafilo do Solarisa, chocby UFS.

Kompilacja VLC to kilka godzin siedzenia przed kompem i cos trzeba robic co chwila, czy zapuszczasz kompilacje i po paru godzinach jest gotowe? Jesli to drugie, to zaden problem. Uruchomie na noc, lub gdy bede wychodzil do pracy.

akurat ten system bardziej znany z przereklamowanego zfs.. akto te cetrtyfikaty rozdawal? krolowa? pozatym ten solaris ma 100 razy wiecej wspolnego z linuxami niz z systemem v ;D

Offline microsofter

  • Sr. Member
  • ****
  • Wiadomości: 268
  • Reputacja: 5
Odp: jak uruchomić aplikacje GUI z crona?
« Odpowiedź #11 dnia: Październik 31, 2021, 01:38:31 am »
Cytuj
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

Playing MPEG stream from Agnieszka_Chyli__ska_-_Nie_mogae__Ciae__zapomnieae___Kalwi___Remi_Extended_Remix_.mp3 ...
Junk at the beginning 49443303
MPEG 1.0 layer III, 320 kbit/s, 44100 Hz joint-stereo

[5:29] Decoding of Agnieszka_Chyli__ska_-_Nie_mogae__Ciae__zapomnieae___Kalwi___Remi_Extended_Remix_.mp3 finished.


Radosc nie trwala dlugo, bowiem okazalo sie, ze   . . . .     Mpg123 pieknie dziala w konsoli, ale pod cronem nie! Nie startuje i koniec.
Rozwiazanie problemu znalazlem w dokumentacji. A nadeszlo z zupelnie nieoczekiwanej strony. Okazalo sie, ze podobny odtwarzacz konsolowy, o nazwie Audioplay, jest juz wbudowany w system. I pod cronem dziala like a charm!!
Solaris by Sun Microsystems