Πώς να κάνετε απλά γραφικά σκαλίσματα Shell με το Zenity στο Linux
Το Zenity προσθέτει γραφικές διεπαφές σε δέσμες ενεργειών κελύφους με μία μόνο εντολή. Τα σενάρια Shell είναι ένας πολύ καλός τρόπος για αυτοματοποίηση επαναλαμβανόμενων εργασιών, αλλά συνήθως περιορίζονται στο τερματικό - το Zenity τα εξάγει από το τερματικό και στην επιφάνεια εργασίας σας.
Έχουμε μια εισαγωγή στο shell scripting στο παρελθόν. Δεν χρειάζεται να είστε προγραμματιστής για να ξεκινήσετε με τα κελύφη κελύφους - απαιτούν λίγο περισσότερο από τη γνώση των τερματικών εντολών του Linux.
Getting Zenity
Το Zenity έρχεται με το Ubuntu από προεπιλογή. Εάν χρησιμοποιείτε ένα παράγωγο του Ubuntu, όπως το Kubuntu, ίσως χρειαστεί να το εγκαταστήσετε με το χέρι με την ακόλουθη εντολή:
sudo apt-get εγκατάσταση zenity
Το Zenity είναι μέρος του GNOME, οπότε θα πρέπει να συμπεριληφθεί ήδη σε διανομές Linux που χρησιμοποιούν την επιφάνεια εργασίας του GNOME. Ελέγξτε το διαχειριστή πακέτων για το ζέντη εάν δεν το έχετε.
Χρησιμοποιώντας το Zenity
Μπορείτε να παίξετε με το Zenity από το τερματικό σταθμό. Ας υποθέσουμε ότι θέλετε να δημιουργήσετε ένα παράθυρο σφάλματος όταν προκύψει κάποιο πρόβλημα με το σενάριο κελύφους σας. Ακολουθεί μια εντολή παράδειγμα που θα μπορούσατε να χρησιμοποιήσετε:
zenity -error -title = "Παρουσιάστηκε σφάλμα" -text = "Παρουσιάστηκε πρόβλημα κατά την εκτέλεση της δέσμης ενεργειών του shell".
Εκτελέστε την εντολή και θα δείτε ένα παράθυρο με το μήνυμα.
Βάλτε αυτή τη μία εντολή στο σενάριο κελύφους σας στη σωστή θέση και θα έχετε ένα γραφικό μήνυμα σφάλματος. Θα μπορούσατε επίσης να χρησιμοποιήσετε μεταβλητές για να συμπεριλάβετε περισσότερες πληροφορίες σχετικά με το σφάλμα.
Ας υποθέσουμε ότι θέλετε να κάνετε μια ερώτηση ναι ή όχι. Θα μπορούσατε να χρησιμοποιήσετε μια εντολή όπως αυτή:
zenity -question -title = "Query" -text = "Θέλετε να εκτελέσετε το σενάριο;"
Μπορείτε να πάρετε την απάντηση ναι ή όχι στο script του κελύφους σας και να εκτελέσετε διαφορετικές εντολές με βάση το κουμπί στο οποίο ο χρήστης κάνει κλικ.
Υπάρχει επίσης παράθυρο διαλόγου εισαγωγής κειμένου:
zenity -entry -title = "Αγαπημένος ιστότοπος" -text = "Ποιος είναι ο αγαπημένος σας ιστότοπος;"
Πιάστε την είσοδο του χρήστη σε ένα σενάριο κελύφους και μπορείτε να το αποθηκεύσετε ως μεταβλητή.
Υπάρχει επίσης ένας επιλογέας αρχείων, ημερολόγιο και άλλοι τύποι διαλόγων. Για μια πλήρη λίστα τύπων διαλόγου και των επιλογών τους, συμβουλευτείτε τη σελίδα εγχειριδίων του Zenity.
Ένα παράδειγμα σεναρίου
Ας προσπαθήσουμε να χρησιμοποιήσουμε το Zenity για να δημιουργήσουμε ένα απλό script γραφικών shell. Με μόνο τρεις εντολές, μπορούμε να δημιουργήσουμε ένα γραφικό πρόγραμμα χρονοδιακόπτη:
#! / bin / bash
# Αυτό το σενάριο ζητάει από τον χρήστη για κάποιο χρονικό διάστημα, περιμένει το καθορισμένο ποσό
# του χρόνου και εμφανίζει ένα παράθυρο ειδοποίησης.TIME = $ (zenity -entry -title = "Timer" -text = "Εισάγετε μια διάρκεια για το χρονοδιακόπτη. \ N \ n Χρησιμοποιήστε 5s για 5 δευτερόλεπτα, 10μ για 10 λεπτά ή 2 ώρες για 2 ώρες.
κοιμάστε $ TIME
zenity -info -title = "Χρόνος ολοκλήρωσης" -text = "Ο χρονομετρητής τελείωσε. \ n \ n Έχει $ TIME."
Χρησιμοποιούμε κάποια επιπλέον κόλπα εδώ. Παίρνουμε την τιμή της μεταβλητής TIME από την πρώτη εντολή zenity και την τροφοδοτούμε στην εντολή ύπνου. Χρησιμοποιούμε επίσης / n για να δημιουργήσετε νέες γραμμές κειμένου στους διάφορους διαλόγους.
Αφού αποθηκεύσετε το σενάριο κελύφους και τρέξετε το chmod + x εντολή σε αυτό για να δώσει εκτελέσιμα δικαιώματα, μπορούμε να το ξεκινήσουμε.
Καταχωρίστε μια διάρκεια και το σενάριο θα χρησιμοποιήσει το πρότυπο ύπνος εντολή για αντίστροφη μέτρηση στο παρασκήνιο. Όταν τελειώσει ο χρονοδιακόπτης εντολής ύπνου, το σενάριο θα εμφανίσει το μήνυμα πληροφοριών για τη ζενίτη.
Θα μπορούσατε να δημιουργήσετε μια συντόμευση επιφάνειας εργασίας ή πίνακα για αυτό το σενάριο και να το εκτελέσετε χωρίς καν να αγγίξετε το τερματικό.
Αυτό είναι μόνο ξύσιμο της επιφάνειας του τι θα μπορούσατε να κάνετε με zenity? θα μπορούσατε να το χρησιμοποιήσετε για να κάνετε πολύ πιο περίπλοκα προγράμματα. Αν ψάχνετε για περισσότερες πληροφορίες σχετικά με το script shell, ανατρέξτε στον οδηγό μας για χρήση για βρόχους σε δέσμες ενεργειών κελύφους.