Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: CRON, spustenie filmu. [Vyřešeno]  (Přečteno 1952 krát)

koperator

  • Návštěvník
  • Příspěvků: 48
CRON, spustenie filmu. [Vyřešeno]
« kdy: 05 Října 2019, 16:24:51 »
Ahoj.
Skúšam spustiť film v daný čas.
Do príkazového riadku napíšem tento príkaz "DISLPLAY=:0 vlc Plocha/Servis/AUTO.mp4 ".
Film sa mi spustí.
Ak to však napíšem do Cronu, tak sa nič nedeje. (*/1 * * * *  DISLPLAY=:0 vlc Plocha/Servis/AUTO.mp4).
To */1 je tam len preto aby som nemusel nastavovať čas, keď to skúšam.
Cron určite funguje lebo som mu tam napísal príkazy na kopírovanie a vymazávanie súborov
a to funguje.
Vo všeobecnosti mám problém spustiť v Crone - Príkazový riadok, web prehliadač a aj video.
To čo odladím v príkazovom riadku, by som rád nakopíroval do Cronu alebo skriptu no tam mi to už nefunguje.
Výminkou je len kopírovanie a mazanie súborov. To funguje spoľahlivo aj v Crone.

Ďakujem.
« Poslední změna: 09 Října 2019, 16:24:17 od koperator »

koperator

  • Návštěvník
  • Příspěvků: 48
Re:CRON, spustenie filmu.
« Odpověď #1 kdy: 05 Října 2019, 18:04:27 »
Do logu mi vypísalo:
No protocol specified.
Nelze otevřít displej:
Seznam všech dostupných možností získáte příkazem "vlc --help".

Ja tam mám aj totem, takže "totem --help".
Poskúšal som, čo som vedel, potrebujem radu.

juwa2

  • Závislák
  • ***
  • Příspěvků: 4935
Re:CRON, spustenie filmu.
« Odpověď #2 kdy: 05 Října 2019, 21:48:43 »
Cronem není problém spustit nějaký příkaz který má něco provést (např. něco kopírovat, smazat atd.).
Pokud se ale má spustit nějaká GUI aplikace (otevřít nějaké okno atd.), je to o něco složitější, navíc se řešení liší podle konkrétní verze Ubuntu. Nicméně řešit to lze. A napsat do příkazu "DISLPLAY=:0" nestačí, to fungovalo v dřívějších verzích....
Nepíšeš, jakou verzi Ubuntu používáš, napíšu ti tedy funkční postup pro U18.04
-----------------------------------------------------------------------
Princip je ten, že si napíšeš spouštěcí skript a teprve tento skript budeš spouštět cronem.
Takže si vytvoř soubor
Kód: [Vybrat]
~/vlc_launcher.sh
s obsahem
Kód: [Vybrat]
#!/bin/bash
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)"
vlc ~/Plocha/Servis/AUTO.mp4

Pokud používáš jiné prostředí než gnome, musíš to ve skriptu zohlednit (místo gnome-session tam napiš mate-session příp. jiné).

Nastav mu spustitelnost.
Kód: [Vybrat]
chmod a+x ~/vlc_launcher.sh
Příkaz do cronu pak bude (pro vyzkoušení, spouštění každou minutu)
Kód: [Vybrat]
* * * * * ~/vlc_launcher.sh--------------------------------------------------------------------
Závěrem připomínám, že cron neumí spouštět promeškané úlohy (pokud v době naplánovaného spuštění je PC uspaný/vypnutý, úloha se nespustí). I to lze však řešit, např. pomocí fcron což je v podstatě takový "cron na steroidech".
« Poslední změna: 09 Října 2019, 21:22:16 od juwa2 »

koperator

  • Návštěvník
  • Příspěvků: 48
Re:CRON, spustenie filmu.
« Odpověď #3 kdy: 09 Října 2019, 09:32:07 »
Urobil som to podľa tých príkazov. Nejde mi to spustiť.
V LOGu mi vypísalo toto:

/home/ubuntu-fujitsu/Plocha/Servis/prehraj.sh: řádek 4: varování: command substitution: ignored null byte in input
[000055bac338cdd0] main interface error: no suitable interface module
[000055bac32aa630] main libvlc error: interface "globalhotkeys,none" initialization failed
[000055bac32aa630] main libvlc: Spouštím přehrávač VLC s výchozím rozhraním. Přejete-li si spouštět přehrávač VLC bez rozhraní, použijte příkaz 'cvlc'.
error: XDG_RUNTIME_DIR not set in the environment.
[000055bac338cdd0] skins2 interface error: cannot initialize OSFactory
[000055bac338cdd0] [cli] lua interface: Listening on host "*console".
VLC media player 3.0.8 Vetinari
Command Line Interface initialized. Type `help' for help.
> Shutting down.
[000055bac338cdd0] [cli] lua interface: Requested shutdown.
[000055bac338cdd0] [cli] lua interface error: Error loading script /usr/lib/x86_64-linux-gnu/vlc/lua/intf/cli.luac: lua/intf/modules/host.lua:289: Interrupted.
[00007fa64c001b70] cache_read stream error: cannot pre fill buffer
[00007fa64c0035b0] mjpeg demux error: cannot peek

Používam: UBUNTU 18.04.3 LTS 64b.
« Poslední změna: 09 Října 2019, 09:35:37 od koperator »

juwa2

  • Závislák
  • ***
  • Příspěvků: 4935
Re:CRON, spustenie filmu.
« Odpověď #4 kdy: 09 Října 2019, 11:04:24 »
No a když spustíš ten skript z Terminálu?
Navíc ten skript má přece jenom 3 řádky a v logu se píše o nějaké chybě ve čtvrtém......
« Poslední změna: 09 Října 2019, 11:06:18 od juwa2 »

koperator

  • Návštěvník
  • Příspěvků: 48
Re:CRON, spustenie filmu.
« Odpověď #5 kdy: 09 Října 2019, 12:20:46 »
Ahoj.
Ak ten skript pustím v termináli, tak funguje perfektne.

To, že ukazuje nejakú chybu vo štvrtom riadku je len preto lebo tam mám poznámky.

Kód: [Vybrat]
#!/bin/bash
# Prehra video AUTO.mp4
#
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)"
vlc ~/Plocha/Servis/AUTO.mp4
« Poslední změna: 09 Října 2019, 12:27:10 od koperator »

juwa2

  • Závislák
  • ***
  • Příspěvků: 4935
Re:CRON, spustenie filmu.
« Odpověď #6 kdy: 09 Října 2019, 14:03:48 »
Dobře, takže si ten skript uprav takto:
Kód: [Vybrat]
#!/bin/bash
# Prehra video AUTO.mp4
#
export DISPLAY=:0 && export XAUTHORITY=~/.Xauthority
vlc ~/Plocha/Servis/AUTO.mp4

To už by fungovat mělo.  ;)

koperator

  • Návštěvník
  • Příspěvků: 48
Re:CRON, spustenie filmu.
« Odpověď #7 kdy: 09 Října 2019, 15:31:42 »
HURáááááá funguje to.

Pekne sa to spúšťa každú minútu.
Ešte by som potreboval pomôcť aby sa to spúšťalo po reštarte.
Mám tam tento príkaz.
Kód: [Vybrat]
@reboot ....... cesta ku skriptu.
toto mi nefunguje.

toto pekne ide
Kód: [Vybrat]
*/1 * * * * ........skript

Neviem ako to do CRONu napísať aby to šlo aj po reštarte.
Kľudne by stačilo ak by sa to pustilo 1min. po reštarte.
« Poslední změna: 09 Října 2019, 15:34:36 od koperator »

juwa2

  • Závislák
  • ***
  • Příspěvků: 4935
Re:CRON, spustenie filmu.
« Odpověď #8 kdy: 09 Října 2019, 15:45:13 »
Kód: [Vybrat]
@reboot (sleep 60; sh /cesta/ke/skriptu.sh)
A kdyby to náhodou nefungovalo, dej to do rootovského cronu (sudo crontab -e)
« Poslední změna: 09 Října 2019, 15:53:46 od juwa2 »

koperator

  • Návštěvník
  • Příspěvků: 48
Re:CRON, spustenie filmu.
« Odpověď #9 kdy: 09 Října 2019, 16:13:11 »
100% - funguje to bez problémov.

sleep 60 - som musel dať na 120 lebo video bolo pustené, kým sa zobrazillo, asi 10s.
Teraz sa pri "sleep 120" UBUNTU spustí a po chvíli za pustí aj video. - Úžasné. Tak som si to predstavoval.
Funguje mi to s "crontab -e" nemusel som zadávať "sudo crontab -e".

Ďakujem za pomoc.
Si macher.

 

Provoz zaštiťuje spolek OpenAlt.