Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: koperator 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.
-
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.
-
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
~/vlc_launcher.sh
s obsahem
#!/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.
chmod a+x ~/vlc_launcher.sh
Příkaz do cronu pak bude (pro vyzkoušení, spouštění každou minutu)
* * * * * ~/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".
-
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.
-
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......
-
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.
#!/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
-
Dobře, takže si ten skript uprav takto:
#!/bin/bash
# Prehra video AUTO.mp4
#
export DISPLAY=:0 && export XAUTHORITY=~/.Xauthority
vlc ~/Plocha/Servis/AUTO.mp4
To už by fungovat mělo. ;)
-
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.
@reboot ....... cesta ku skriptu.
toto mi nefunguje.
toto pekne ide
*/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.
-
@reboot (sleep 60; sh /cesta/ke/skriptu.sh)
A kdyby to náhodou nefungovalo, dej to do rootovského cronu (sudo crontab -e)
-
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.