Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: On 02 Října 2009, 10:12:42

Název: Cron a X aplikace [vyřešeno]
Přispěvatel: On 02 Října 2009, 10:12:42
Potřeboval bych, aby mi Cron spouštěl i X aplikace...jako třeba notify-send (nějakou předem nadefinovanou hlášku)...na googlu jsem našel, že by se mohlo do cronu zapsat:

Kód: [Vybrat]
00 7 * * * DISPLAY=:0 xterm -e 'date; echo Záloha systému hotova; read'
případně

Kód: [Vybrat]
00 7 * * *  DISPLAY=:0.0 notify-send -i face-smile Systém 'Záloha systému dokončena'
bohužel nefunguje ani jedno..byla by rada?
Název: Re: Cron a X aplikace
Přispěvatel: NoWin 02 Října 2009, 10:34:10
Máš nainstalovanej balík libnotify-bin?
Název: Re: Cron a X aplikace
Přispěvatel: On 02 Října 2009, 10:51:22
jj, tento balík mám...notify-send mi normálně funguje, nefunguje jen při spouštění cronem..nechávám si výpisy posílat na mejl a když to zadám do cronu a nespustí se, přijde mi:

Kód: [Vybrat]
libnotify-Message: Unable to get session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.
Název: Re: Cron a X aplikace
Přispěvatel: starenka 03 Října 2009, 15:19:58
ja nevim, v shell skriptu, kterej cron spoustimi to funguje..
Název: Re: Cron a X aplikace
Přispěvatel: On 05 Října 2009, 06:31:57
hm...nevím, kolik tady mám cronů, ale počítám, že jeden :)..zapisuji do /etc/crontab. Ale X aplikace prostě nespustí...někde v diskuzi jsem četl, že Cron není dělaný na spouštění X aplikací, ale v té samé diskuzi se mu to podařilo rozjet..právě tím DISPLAY=:0.0, což mi není jasné, proč nefunguje mně :(
Název: Re: Cron a X aplikace
Přispěvatel: Roman Vacho 05 Října 2009, 06:42:14
A používáš primárně správný displej?
Název: Re: Cron a X aplikace
Přispěvatel: arrange 05 Října 2009, 09:24:10
zenity funguje? Já to používám tak, že do cronu dám pouze odkaz na ten skript, a ve skriptu mám na začátku
Kód: [Vybrat]
export DISPLAY=:0.0
...
zenity --notification --text='Nové zprávy z forum.ubuntu!'
Když jsem to dával přímo do cronu, taky to nefungovalo.
Název: Re: Cron a X aplikace
Přispěvatel: On 07 Října 2009, 12:08:54
Na zkoušku jsem jen překopíroval tyto řádky do skriptu "zkouska", který jsem spustil cronem:

Kód: [Vybrat]
export DISPLAY=:0.0
zenity --notification --text='Nové zprávy z forum.ubuntu!'

nic se ale nedělo...odmazal jsem i ten "export", ale taky nic...do cronu jsem zkusil i za cestu spuštění ($HOME/zkouska > $HOME/zkouska.cron), zadat, aby se výstup uložil do zkouska.cron, ale soubor se ani nevytvořil..přijde mi, jako by to ignoroval...cron mi ale funguje, dělám tak zálohu systému a funguje pravidelně..
Název: Re: Cron a X aplikace
Přispěvatel: LuciusMare 07 Října 2009, 16:58:18
jenže arrange ho nespouští přímo cronem ale ty ano.arrange má ve skriptu který spouští cron odkaz na skript kde už je vše potřebné.
Název: Re: Cron a X aplikace
Přispěvatel: On 07 Října 2009, 18:59:23
Aháááá...už to funguje, paráda...Ale tohle by mě jaksi nenapadlo. díky díky

+1
Název: Re: Cron a X aplikace [vyřešeno]
Přispěvatel: On 08 Října 2009, 11:27:36
Ještě přece jen drobný dotaz..když do cronu zadám jako uživatele, resp vlastníka sebe, tak se X aplikace normálně spustí
Kód: [Vybrat]
00 7 * * * ladik /skript ...ale jsou tam příkazy (na zálohu systému), které je potřeba spouštět pod rootem. Když do cronu použiju root

Kód: [Vybrat]
00 7 * * * root /skript ...tak se zas spustí ta záloha, ale ne aplikace X...nevěděl by někdo proč?

celý ten skript vypadá cca takhle:
Kód: [Vybrat]
DISPLAY=:0.0 notify-send -i face-smile Systém 'Provádím zálohu systému !' 2> /home/ladik/Programovani/zaloha.log

if [ $? -eq 0 ]; then
  tar...bla bla, prostě záloha systému - nutná spouštět pod rootem
else
  zenity --notification --text='Záloha nebyla provedena. Detaily v zaloha.log'
fi
Název: Re: Cron a X aplikace - ještě dotaz
Přispěvatel: arrange 08 Října 2009, 20:48:38
Osobně se mi to nepodařilo vyřešit inteligentněji než tak, že z "root skriptu" volám GUI aplikaci přes
Kód: [Vybrat]
sudo -u arrange /cesta_ke_skriptu/skript_obsahující_volání_GUI_aplikace
Název: Re: Cron a X aplikace - ještě dotaz
Přispěvatel: On 09 Října 2009, 08:11:45
no, tak jsem to zkusil a částečně to funguje...částečně proto, pač několik souborů to vynechalo a neuložilo..

Citace
.....
tar: /home/ladik/.dbus: Nelze open: Permission denied
tar: /home/ladik/.kde/share/config/kglobalshortcutsrc: Nelze open: Permission denied
tar: /home/ladik/.kde/share/config/k9copyrc: Nelze open: Permission denied
tar: /home/ladik/.kde/share/config/phonondevicesrc: Nelze open: Permission denied
tar: /home/ladik/.mozilla/firefox/dhwppvrq.default/Cache/_CACHE_001_: soubor byl během čtení změněn
tar: /home/ladik/.mozilla/firefox/dhwppvrq.default: soubor byl během čtení změněn
tar: /usr/share/keyrings/ubuntu-archive-removed-keys.gpg: Nelze open: Permission denied
tar: /etc/at.deny: Nelze open: Permission denied
tar: /etc/qt3/.qt_plugins_3.3rc.lock: Nelze open: Permission denied
tar: /etc/qt3/.qtrc.lock: Nelze open: Permission denied
tar: /etc/security/opasswd: Nelze open: Permission denied
tar: /etc/fuse.conf: Nelze open: Permission denied
tar: /etc/sudoers: Nelze open: Permission denied
tar: /etc/mysql/debian.cnf: Nelze open: Permission denied
tar: /etc/shadow-: Nelze open: Permission denied
tar: /etc/fcron.deny: Nelze open: Permission denied
tar: /etc/fcron.conf: Nelze open: Permission denied
tar: /etc/gshadow: Nelze open: Permission denied
.....

je jich samozřejmě víc..normálně to ale uložilo všechno, v chybových výpisech byly jen soubory, u kterých bylo napsáno "soket ignorován", což nevadí..jen mi není jasné, když jsem příkaz pro zálohu systému spouštěl pod rootem, resp "sudo -u ladik tar ........", proč píše, že mám nedostatečná oprávnění..Kořenový adresář "/" to ale pro změnu uložilo...nevím, proč zrovna tyto soubory vynechal..ikdyž, /var/lib taky neuložil kompletně
Název: Re: Cron a X aplikace - ještě dotaz
Přispěvatel: Peterx 09 Října 2009, 08:30:17
Kód: [Vybrat]
#! /bin/bash

spusti1 ()
{
CO SA MA SPUSTAT
}


export DISPLAY=:0.0 && spusti1
Název: Re: Cron a X aplikace - ještě dotaz
Přispěvatel: arrange 09 Října 2009, 08:31:14
Myslel jsem to nějak takhle
Kód: [Vybrat]
# spouštím vše normálně přes root
if [ $? -eq 0 ]; then
  tar...bla bla, prostě záloha systému - nutná spouštět pod rootem
else
  sudo -u ladik /cesta_ke_skriptu/volam_zenity
fi
Název: Re: Cron a X aplikace - ještě dotaz
Přispěvatel: On 09 Října 2009, 08:39:50
aha, takže opačně...já dal sudo -u k tomu, co oprávnění vyžadovalo, takže tar......když to čtu ale znovu, tak jsem to prostě blbě pochopil :)tar jaksi není GUI aplikace..:) tak přinesu za chvíli výsledky..

edit: Noo, tak opravdu, teď už plně funkční...díky moc, hodně mi to pomohlo i při dalším programování...