Πόσες ήταν οι φορές που ξεχάσαμε κάποια γιορτή, μόνο και μόνο γιατί δε μας το θύμισε κάποιος. Άλλες τόσες ήταν οι φορές που παίρναμε ετεροχρονισμένα τηλέφωνο. Μπορούμε λοιπόν να δούμε ποιος γιορτάζει σήμερα με τη βοήθεια του bash και του zenity ώστε να γλιτώσουμε την καζούρα και να περισώσουμε την υπόληψη μας.
Όπως είχαμε δει και στο σχετικό άρθρο μπορούμε να μετατρέψουμε σε εκτελέσιμα τα bash script μας και να τα καλούμε απλώς δίνοντας το όνομα τους στο τερματικό. Στο παρόν άρθρο θα πάμε λίγο παραπέρα. Εκτός του script θα ρυθμίσουμε και την αυτόματη εκκίνηση του, ούτως ώστε να μη χρειάζεται να το τρέχουμε χειροκίνητα.
Πριν ξεκινήσουμε
Ελέγχουμε αν έχουμε εγκατεστημένο το zenity
ή το libnotify-bin
που είναι απαραίτητα για την ενημέρωση μας στο desktop.
sudo apt install zenity libnotify-bin
Εφόσον σιγουρευτούμε ότι έχουν εγκατασταθεί (ή ήταν ήδη εγκατεστημένα) προχωρούμε στη συνέχεια
Δημιουργία Script
Αρχικά δημιουργούμε το bash script eortes με κάποιον από τους από τους αγαπημένους μας editors (πχ VIM)
vim eortes
Στη συνέχεια γράφουμε εντός του
#!/bin/bash simera=$(wget -q -O- http://www.greeknamedays.gr/tools/eortologiorssfeed/index.php\?langid\=gr | grep -o "<description>.*" | tail -n1 | cut -c 14- | cut -f1 -d"<" | sed 's/\, /\n/g') #notify-send "$simera" zenity --title "Σήμερα γιορτάζει" --info --text="$simera" --width=250
Αυτό το script στην ουσία δημιουργεί μια μεταβλητή simera η οποία αποθηκεύει το αποτέλεσμα της εντολής που βρίσκεται εντός των παρενθέσεων της. Εντός της παρένθεσης με τη βοήθεια του wget τραβάμε το περιεχόμενο της σελίδας και με τη χρήση regular expressions, tail, cut και sed «καθαρίζουμε» το string ώστε να περιέχει μόνο τις πληροφορίες που θέλουμε.
Ακολούθως κάνουμε comment ή uncomment (αφαιρούμε το # ή το προσθέτουμε) σε όποια από τις 2 εντολές θέλουμε να τρέχει κατά την εκκίνηση του script.
Αν κάνουμε comment zenity οι ενημερώσεις που θα λαμβάνουμε (Στο gnome desktop) θα είναι κάπως έτσι

Ενώ αν κάνουμε το notify-send

Φυσικά αν θέλουμε μπορούμε να έχουμε και τις 2 μορφές ενημερώσεων.
Στο τέλος της διαδικασίας κάνουμε το αρχείο εκτελέσιμο δίνοντας στο τερματικό
chmod +x eortes
Και το μετακινούμε στο φάκελο /usr/local/bin/ δίνοντας
sudo mv eortes /usr/local/bin/
Αυτόματη εκκίνηση του script κατά την έναρξη του συστήματος
Στο gnome-shell ανοίγουμε το σχετικό πρόγραμμα για την προσθήκη προγραμμάτων στην έναρξη (γράφοντας startup στο dash) και επιλέγουμε Add στο παράθυρο που εμφανίζεται

Στην επόμενη οθόνη γράφουμε μια περιγραφή και την εντολή όπως φαίνεται στην ακόλουθη εικόνα. Αποθηκεύουμε πατώντας το Add/Save

Θα προσέξατε ότι πρώτα βάλαμε τη λειτουργία sleep και μετά την εκτέλεση της εντολής. Αυτό το κάνουμε γιατί η εντολή προϋποθέτει την ύπαρξη δικτύου για να λειτουργήσει και σε μερικές περιπτώσεις μπορεί να μην έχουμε αμέσως σύνδεση (Wifi). Μπορείτε να πειραματιστείτε με μικρότερες τιμές για το sleep.
Επίλογος
Σας άρεσε το script; Το βρήκατε χρήσιμο; Μπορείτε να δείτε τον κώδικα του και να προτείνετε βελτιώσεις στο Cerebrux Code και να βοηθήσουμε όλοι μαζί να γίνει καλύτερο. Άλλωστε το πνεύμα των εορτών δεν διαφέρει και πολύ από αυτό του Open Source. Μαζί πετυχαίνουμε περισσότερα.
Καλή χρονιά και χρόνια πολλά σε όλους
καλησπερα, εχεις ξεχασει το στο grep =o, το σκριπτακι τελειο. Καλη συνεχεια.
Υπήρχε ένα λάθος που διορθώθηκε. Ευχαριστώ για την ενημέρωση :)
Τρέχοντας το script ακριβώς όπως το λέει παραπάνω, το μόνο που εμφανίζει είναι «rss/». Τι συμβαίνει;
Μήπως έκανες κάποιο λάθος στην αντιγραφή;
Το ίδιο αποτέλεσμα παίρνω και εγώ: rss/
Διορθώθηκε παιδιά, συγγνώμη για την ταλαιπωρία
Ωραίος (και αμεσότατος) ο παίχτης! Ευχαριστούμε Bill!
πολυ ωραιο. επειδη ειμαι σε xfce εφτιαξα ενα κουμπακι σε δευτερο πανελ για να το τρεχω οποτε θελω εγω και οχι στην αρχη του σεσιον που δεν θα το ηθελα. ευχαριστουμε και καλη χρονια.
αν εχεις και κανα άλλο ευχαριστως να το υιοθετησουμε γιατι αυτα με sed ειναι πολυ πονοκεφαλος
## $HOME/.bashrc
alias eortologio=’clear;echo;echo «Γιορτάζουν Σήμερα :»;wget -qO- http://www.greeknamedays.gr/tools/eortologiorssfeed/index.php?langid=gr|grep -i «description»|tail -1|cut -c 38-|sed -e «s//./»;echo;’
Το εγκατεστησα και ετρεξε απ ευθειας σε ΜΙΝΤ sarah μετα την επανεκκινση…Τελειο…μπραβο και ευχαριστω…ΚΑΛΗ ΧΡΟΝΙΑ.
Καλή χρονιά Γιάννη και να χαίρεσαι το όνομα σου
Πολύ ωραίρο και χρήσιμο! thanks
Καλησπέρα, έχω ένα προβληματάκι στη δημιουργία script και αμέσως μετά την εντολή vim eortes
έγραψα και τις 4 εντολές και μετά δεν έγινε τίποτα δεν προχωρούσε τι να κάνω ?
Αν δεν έχεις ξαναχρησιμοποιησει το vim τοτε δοκίμασε κάποιον άλλον editor όπως πχ το gedit
Άπειρες ευχαριστίες για την αμεσότητα της απάντησης…
Ωραιο το αρθρο σας.
Ευχαριστουμε