Jump to content



Gnome Schedule Commands


Havic

Recommended Posts

Θέλω να βάλω μια εντολή στο Gnome Schedule να τρέχει ενα script ανά μία ώρα, το script βρίσκεται στο home/John/scripts/wallpaper.sh, το script είναι για να βάζει στην επιφάνεια εργασίας ένα τυχαίο wallpaper από ένα φάκελο που έχω ορίσει, τρέχοντας την εντολή ls μου εμφανίζει τα περιεχόμενα του home, έβαλα στο commands το "scripts/wallpaper.sh" και μου έβγαλε στο terminal

/tmp/tmpZHf_1w: line 1: scripts/wallpaper.sh: Permission denied

Press ENTER to continue and close this window.

Το script το βρήκα εδώ

#!/bin/bash

# Script to randomly set Background from files in a directory

# Directory Containing Pictures

DIR="/home/John/Pictures/Background"

# Command to Select a random jpg file from directory

# Delete the *.jpg to select any file but it may return a folder

PIC=$(ls $DIR/*.jpg | shuf -n1)

# Command to set Background Image

gconftool -t string -s /desktop/gnome/background/picture_filename $PIC

Link to comment
Share on other sites

[ame]http://en.wikipedia.org/wiki/Sudo[/ame] :flex:

για να σου βγαζει Permission denied

μαλλον θελει να το τρεξεις με sudo

Δοκίμασε και πες μας αν δούλεψε

ΔΟΚΙΜΑΣΕ ΠΡΩΤΑ ΑΥΤΟ

λοιπον αν τρεξεις απο τερματικο

sh wallpaper.sh

στον φακελο που έχεις το script

τρεχει κανονικα?

Link to comment
Share on other sites

Το έτρεξα με su και μου έσκασε στη μούρη :slap:, μου έβγαλε

ls: cannot access /home/John/Pictures/Background/*.jpg: No such file or directory

No value to set for key: `/desktop/gnome/background/picture_filename'

Thanks πάντως είχα δοκιμάσει να το τρέξω ως root αλλά δεν ήξερα ότι έπρεπε να βάλω sh για να τρέξω το script...:tomato:και δεν το είδα και πουθενά...

------update

άλλαξα το path John=john οταν ξανακολίσω θα postaro

-----update

Ολα οκ!! Thanks man!!!\

Δεν χρειάζεται να το τρέχω ως root, στο Gnome Schedule έγραψα "sh scripts/wallpaper.sh" και χειροκίνητα έτρεξε μια χαρά, να δω τώρα με "χρονοδιακόπτη"!

------update

Το έβαλα ανα λεπτό αλλά δεν τρέχει:hang3:...ψάχνω μπας και βρω λύση, κοντά είμαι :p

Link to comment
Share on other sites

Τελικά δεν τα κατάφερα, το script είναι σωστό και η εντολή που βάζω στο Gnome Schedule, αλλά δεν λέει να αλλάξει μόνο του...δοκίμασα τα παρακάτω

1. Να βάλω σαν σαν startup application το script, έκανα reboot και άλλαξε wallpaper, αλλά θέλω να αλλάζω ανά δυο ώρες και όχι ανά επανεκκίνηση.

2. Να βάλω σαν σαν startup application το Gnome Schedule, έκανα reboot και άλλαξε wallpaper αλλά ανοιγει και το Gnome Schedule..

Μου βγάζει το ενα μνμ όταν δημιουργώ μια εργασία και το άλλο όταν την τρέχω χειροκίνητα, δεν ξέρω αν έχουν σχέση..

Πάντως τρέχει το gnome-schedule στις διεργασίες (waiting channel do_exit)

post-14015-1416074428,7227_thumb.jpg

post-14015-1416074428,9996_thumb.jpg

Link to comment
Share on other sites

ορεξη για διαβασμα εχουμε?:nerd:

http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

https://help.ubuntu.com/community/CronHowto

ελπιζω να βγαλεις ακρη,αυτο το θεμα δεν το εχω ψαξει ουτε εγω

αλλα με εβαλες στο λουκι να το ψαξω :p

αν το κανεις πες πως

αν το κανω πρωτος θα πω εγω:daisy:

Link to comment
Share on other sites

Θα το δώ, πάντως έχω δοκιμάσει ότι μπορώ να σκεφτώ και ότι μου πρότειναν σε άλλα δυο forum αλλά τπτ...

Το script λειτουργεί/τρέχει κανονικά όταν

1. Μέσω terminal, γράφω "sh wpp.sh"

2. Το έτρεχα χειροκίνητα μέσα από το gnome schedule

3. Όρισα το script να τρέχει μετά από επανεκκίνηση στό gnome schedule, έκανα reboot και άλλαξε wallpaper.

4. Βάλω το script σαν startup application και κάνω reboot άλλαζει wallpaper

Όταν όμως το βάζω να τρέξει μόνο του ανά κάποιο διάστημα δεν γίνετε αυτό που θέλω...

Το αρχείο wallpaper.sh το έκανα μετονομασία σε wpp.sh και το έβαλα στο φάκελο usr (john δλδ όπως με λένε) /home/john/ αντί για το home/John/scripts/wallpaper.sh

Όλες τις εντολές τις έτρεξα μέσω του

  • gnome schedule
  • crontab -e
  • sudo crontab -e

Η εντολή που χρησιμοποιώ είναι

* * * * * sh /home/john/wpp.sh > /home/john/tempfil.txt 2>&1

το δεύτερο μέρος το πρόσθεσα για να βεβαιωθώ ότι τρέχει και όντος δημιουργεί ένα αρχείο tempfil.txt που δεν έχει κανένα σφάλμα μέσα...

Δοκίμασα επίσης τα παρακάτω

chmod +x wpp.sh
sudo chown root:root wpp.sh
sudo mv wpp.sh /usr/bin/
crontab -e
sydo crontab -e
* * * * * sh /usr/bin/wpp.sh > /home/john/tempfil.txt 2>&1

---------

john@Acer ~ $ sudo crontab -e
* * * * * username /usr/bin/wpp.sh > /home/john/tempfil.txt 2>&1
* * * * * username sh /usr/bin/wpp.sh > /home/john/tempfil.txt 2>&1
/bin/sh: username: not found
* * * * * john /usr/bin/wpp.sh > /home/john/tempfil.txt 2>&1
* * * * * john sh /usr/bin/wpp.sh > /home/john/tempfil.txt 2>&1
/bin/sh: john: not found

αλλά δυστυχώς τπτ.

Link to comment
Share on other sites

Μπορείς να χρησιμοποιήσεις το crontab χωρίς sudo,

πρόσθεσε το παρακάτω

0,20,40 * * * * sh /home/john/wpp.sh

Για να σιγουρευτείς ότι τρέχει κάντο πιό σύντομο το διάστημα,δηλαδη αντί για 0,20,40 κάντο 0,5,10,15,20,25,30,35,40,45,50,55(ανα πέντε λεπτά δηλαδή).

Αν θές να δείς τελικώς αν τρέχει κάθε 20 λεπτά πρέπει να κρατάς log ωστέ να δημιουργείται το cron.log.

Link to comment
Share on other sites

Ευχαριστώ για το χρόνο σου, αρχίζω να πιστεύω ότι crontab και sh δεν πάνε μαζί :turn:, το μόνο θετικό είναι ότι εξοικειώνομαι με το terminal, φακέλους και το crontab (=cronos-χρόνος +table :p)

Link to comment
Share on other sites

Λοιπόν,για να φτιάξεις το cron.log.

Κάνε τα παρακάτω

sudo nano /etc/syslog.conf

και βγάλε το # μπροστά απο το cron.*

Με αυτό τον τρόπο θα κρατάει log για το cron σε κάθε αλλαγή ή εκτέλεση.

Μόλις πραγματοποιήσεις τις αλλαγές:

sudo /etc/init.d/sysklogd restart

και

sudo /etc/init.d/cron restart

Για να δείς τι σου λέει το log δίνεις το παρακάτω:

cat /var/log/cron.log

PS.Αν δεν υπάρχει το syslog.conf τότε πρέπει να περάσεις το πακέτο sysklogd με τον παρακάτω τρόπο

sudo apt-get install sysklogd

Link to comment
Share on other sites

Μόλις έκανα αυτό, για να μην τα κάνω σαλάτα θα αφήσω να δω τι θα γίνει και μετά θα αν δεν.. θα κάνω αυτό που μου λες.

Link to comment
Share on other sites

Ο τρόπος που σου λέω παραπάνω όσον αφορά το cron.log,είναι να δείς κατα πόσο το cron τρέχει την εργασία που του δίνεις να κάνει,βάλε το 5λεπτο που σου έστειλα και μετά τσέκαρε αν το cron.log παίρνει εγγραφές.

Με cat /var/log/cron.log ,εκεί θα δείς αν τελικά το εκτέλεσε και τι ώρα επίσης για να συγκρίνεις αν έχεις φτιάξει σωστά τους χρόνου.

Προυποθέτει να γίνουν οι παραπάνω ενέργεις στο post #12 που είναι 2λεπτά δουλειά(το πολύ) και τέλος να ελέγχεις για 5-10 λεπτά το cron.log.Αν τελικά τρέχει και δεν κάνει αλλαγή στο wallpaper ίσως χρειάζεται διόρφωση το bash script που τρέχεις.

Link to comment
Share on other sites

Λοιπόν,για να φτιάξεις το cron.log.

Κάνε τα παρακάτω

sudo nano /etc/syslog.conf

και βγάλε το # μπροστά απο το cron.*

το αρχείο syslog.conf είναι κενό, τα # φαντάζομαι το αφαιρώ από κάτι που θα είχε μέσα?

σρυ είμαι και noob στο linux...

Link to comment
Share on other sites

sry θεώρησα ότι αν δεν υπάρχει δεν θα το ανοίξει καθόλου, το εγκατέστησα μαζί με κάποιες εξαρτήσεις που είχε, μετά έτρεξα όπως είπες το

sudo /etc/init.d/sysklogd restart
και μου έβγαλε
* Restarting system log daemon... chown: cannot access `/var/log/cron.log': No such file or directory

[ OK ]

ξαναδοκίμασα να το τρέξω και
* Restarting system log daemon... [ OK ]
στην εντολή
sudo /etc/init.d/cron restart
βγάζει
Rather than invoking init scripts through /etc/init.d, use the service(8)

utility, e.g. service cron restart

Since the script you are attempting to invoke has been converted to an

Upstart job, you may also use the restart(8) utility, e.g. restart cron

cron start/running, process 4337

cat /var/log/cron.log
May 4 14:16:11 JGAcer cron[4232]: (CRON) INFO (pidfile fd = 3)

May 4 14:16:11 JGAcer cron[4233]: (CRON) STARTUP (fork ok)

May 4 14:16:11 JGAcer cron[4233]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

May 4 14:17:01 JGAcer CRON[4246]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)

May 4 14:23:00 JGAcer cron[4336]: (CRON) INFO (pidfile fd = 3)

May 4 14:23:00 JGAcer cron[4337]: (CRON) STARTUP (fork ok)

May 4 14:23:00 JGAcer cron[4337]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

Πάω να τρέξω το script πάλι
crontab -l
0,5,10,15,20,25,30,35,40,45,50,55 * * * * sh /home/john/wpp.sh
cat /var/log/cron.log

May 4 14:16:11 JGAcer cron[4232]: (CRON) INFO (pidfile fd = 3)

May 4 14:16:11 JGAcer cron[4233]: (CRON) STARTUP (fork ok)

May 4 14:16:11 JGAcer cron[4233]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

May 4 14:17:01 JGAcer CRON[4246]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)

May 4 14:23:00 JGAcer cron[4336]: (CRON) INFO (pidfile fd = 3)

May 4 14:23:00 JGAcer cron[4337]: (CRON) STARTUP (fork ok)

May 4 14:23:00 JGAcer cron[4337]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

May 4 14:29:34 JGAcer crontab[4377]: (john) LIST (john)

May 4 14:29:37 JGAcer crontab[4378]: (john) BEGIN EDIT (john)

May 4 14:30:27 JGAcer crontab[4378]: (john) REPLACE (john)

May 4 14:30:27 JGAcer crontab[4378]: (john) END EDIT (john)

May 4 14:30:30 JGAcer crontab[4382]: (john) LIST (john)

May 4 14:31:00 JGAcer crontab[4404]: (john) BEGIN EDIT (john)

May 4 14:31:18 JGAcer crontab[4404]: (john) REPLACE (john)

May 4 14:31:18 JGAcer crontab[4404]: (john) END EDIT (john)

May 4 14:31:20 JGAcer crontab[4408]: (john) LIST (john)

May 4 14:32:01 JGAcer cron[4337]: (john) RELOAD (crontabs/john)

May 4 14:33:51 JGAcer crontab[4433]: (john) LIST (john)

May 4 14:35:01 JGAcer CRON[4435]: (john) CMD (sh /home/john/wpp.sh)

Πώς τα βλέπεις?

wallpaper δεν άλλαξε πάντως....

Link to comment
Share on other sites

Τελικά επειδή δεν κατάφερα τπτ θα παρατήσω αυτόν το τρόπο και θα δοκιμάσω κάτι άλλο, αν τα καταφέρω θα ποσταρο αυτό που έκανα αλλιώς παπαλα :p, σας ευχαριστώ για την βοήθεια!

Link to comment
Share on other sites

Υπάρχει ένα προγραμματάκι για debian / ubuntu που σου δίνει γραφικό περιβάλλον για να ρυθμίσεις ένα δαίμονα για ακριβώς αυτό το πράγμα. Να αλλάζει desktop wallpaper ανά κάποια ώρα.

Λέγεται wallpapoz

http://wallpapoz.akbarhome.com

Ελπίζω να κατάλαβα καλά ότι αυτό θες να κάνεις :p

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.