Sziasztok!
A család kérésére adott időpontokban szeretném automatikusan cserélni a hátteret (WallpaperClock screenlet).
Mivel minden este kikapcsolom a gépet ezért az "at"-tel próbálom megcsinálni (továbbá a crontabot még ennyire sem értem).
Ezért, úgy próbáltam megoldani, hogy írtam egy scriptet ami bejelentkezéskor lefut.
A kódrészletem:
"
#!/bin/bash
rm -f /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz && ln -s /home/jac/.screenlets/WallpaperClock/lcd_green1280x1024.wcz/ /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz && echo "zöld 0800" > /home/jac/zöld.txt | at 0800
rm -f /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz && ln -s /home/jac/.screenlets/WallpaperClock/lcd_red1280x1024.wcz/ /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz && echo "piros 2200" > /home/jac/piros.txt | at 2200
"
De, amíg parancssorban ezek tökéletesen működnek addig bejelentkezéskor indulva lefut mindkettő (pont ezért használom az "echo"-t, hogy lássam melyik .txt jelenik meg a mappámban - hát mindkettő, ráadásul azonnal), de az "atq" kimenete azt írja , hogy ezek a feladatok várakoznak, s amikor eljön az idejük már nem csinálnak semmit.
Próbáltam szétszedni a parancsokat sorokra hátha a "&&"-ok zavarják, de az sem vezetett eredményre:
"
rm -f /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz | at 0800
ln -s /home/jac/.screenlets/WallpaperClock/lcd_green1280x1024.wcz/ /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz | at 0800
echo "zöld 0800" > /home/jac/zöld.txt | at 0800
"
Van valakinek ötlete mit rontok el?
Előre is köszönöm!
Szerk.:
Valaki hazudik!
Gondoltam egyszerűsítek, nekem az "at" okoz gondot hát kipróbáltam egy ilyet:
jac@betelgeuse ~ $ touch ~/teszt.txt | at 1258
warning: commands will be executed using /bin/sh
job 57 at Fri Aug 5 12:58:00 2011
Tehát, 12:58-kor létrehozod nekem a teszt.txt-t, hát nem, mert azonnal létrehozta.
Pedig:
jac@betelgeuse ~ $ atq
57 Fri Aug 5 12:58:00 2011 a jac
Szóval a feladat még várakozik, pedig már elvégeztetett...
Szerk.2 a Megoldás:
#nappal
echo "rm -f /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz && ln -s /home/jac/.screenlets/WallpaperClock/lcd_green1280x1024.wcz/ /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz" | at 0800
#este
echo "rm -f /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz && ln -s /home/jac/.screenlets/WallpaperClock/lcd_red1280x1024.wcz/ /home/jac/.screenlets/WallpaperClock/wallpapers/lcd_actual.wcz" | at 2200
- 1749 megtekintés
Hozzászólások
H(elp)UP
- A hozzászóláshoz be kell jelentkezni
így próbáld:
$ echo "touch ~/teszt.txt" | at 1258
gondold végig, hogy a te verziód mit pipe-ol át az at-nek.
alias killall='echo "Wenn ist das Nunstück git und Slotermeyer? Ja. Beiherhund das Oder die Flipperwaldt gersput." | espeak -vde' #That's not funny.
- A hozzászóláshoz be kell jelentkezni
Köszönöm!
Most már értem, hogy az "echo" kimenetét irányítom át, és nem az "at" előtt lévő parancsok sorozatát.
---
Mostly Harmless
- A hozzászóláshoz be kell jelentkezni
úgy, úgy.
a
touch ~/teszt.txt
lefut, a fájl létrejön, a touch kimenetét pedig, ami a nagy semmi, boldogan pipe-olod az at-nek, ezzel pontosan el is éred, amit sikerült, csak nem azt, amit akartál.
alias killall='echo "Wenn ist das Nunstück git und Slotermeyer? Ja. Beiherhund das Oder die Flipperwaldt gersput." | espeak -vde' #That's not funny.
- A hozzászóláshoz be kell jelentkezni
Köszönöm még egyszer - probléma megoldva, a "script" már működik.
---
Mostly Harmless
- A hozzászóláshoz be kell jelentkezni
Ha jól értem ennyi kéne neked:
8 0 * * * ln -sf nappalit ide
22 0 * * * ln -sf éjjelit ide
- A hozzászóláshoz be kell jelentkezni
A /var/spool/cron/atjobs alatt megtalálod az eltett job-okat. Belenézve az eleje egy rakat változó beállítása lesz, és a végén lesznek azok, amiket parancsként fog majd végrehajtani. Ott meg tudod nézni, hogy tulajdonképpen mit is sikerült neki átadnod.
A fentiek alapján gyakorlatilag semmit :D
- A hozzászóláshoz be kell jelentkezni
Hm, jogos az észrevétel.
---
Mostly Harmless
- A hozzászóláshoz be kell jelentkezni