Αψήφησε τους κανόνες της αναδυόμενης τάξης της Πληροφορίας

Undistract-me: ειδοποιήσεις τερματικού χωρίς ενόχληση

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

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

Παρόλα αυτά το τερματικό είναι ένα παντοδύναμο εργαλείο, που φυσικά δε χρησιμοποιείται μόνο στο Linux μα σε κάθε UNIX based σύστημα (μέχρι και το macOS έχει το bash), ως ακόμα -με τον όποιον τρόπο- και στα Windows.

Όπως και να έχει, επιλογή σας είναι το τι θα χρησιμοποιείτε μα υπάρχουν στιγμές που προσωπικά βρίσκω το τερματικό απείρως πιο βολικό από μια σειρά με απανωτά κλικ προκειμένου να κάνω κάτι. Είναι και πιο γρήγορος τρόπος.

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

Έρχεται λοιπόν να μας δώσει τη λύση ένα μικρο και πολύ καλό εργαλείο, το undistract-me, που δουλεύει σε οποιοδήποτε Linux γραφικό περιβάλλον και, μέσω του συστήματος ειδοποιήσεων, μας ενημερώνει για το πέρας κάθε εντολής που διαρκεί για περισσότερα από κάποια δευτερόλεπτα (δέκα από προεπιλογή).

Εγκατάσταση του undistract-me

Θα το βρείτε στα αποθετήρια για Ubuntu, Linux Mint και παράγωγες διανομές, άρα η εγκατάστασή του γίνεται εύκολα από το διαχειριστή λογισμικού. Μπορείτε επίσης να το εγκαταστήσετε από το τερματικό σας με την εντολή

sudo apt-get install undistract-me

Η ίδια εντολή ισχύει και για το Debian και τα παράγωγά του.

Υπάρχει επίσης σε git έκδοση για το Arch Linux, στο AUR. Ένας ενδεικτικός τρόπος εγκατάστασης είναι οι ακόλουθες εντολές:

sudo pacman -S base-devel git
git clone https://aur.archlinux.org/undistract-me-git.git
cd undistract-me-git
makepkg -crsi

Σε Fedora υπάρχει ήδη αντίστοιχη λειτουργία αν χρησιμοποιείτε το GNOME Terminal. Για τις υπόλοιπες περιπτώσεις θα βρείτε το ανάλογο πακέτο σε third-party αποθετήριο στο Copr.

Για τις διανομές που δεν έχουν έτοιμο πακέτο, μπορείτε να το εγκαταστήσετε από τον πηγαίο κώδικα χρησιμοποιώντας το Bazaar (το πακέτο ονομάζεται bzr, αν δεν το έχετε ήδη εγκατεστημένο). Ενδεικτικός τρόπος εγκατάστασης και εδώ:

bzr checkout --lightweight lp:undistract-me
cd undistract-me
sudo chmod +x *
./undistract-me.sh

Για να κλείσετε, πατήστε: Ctrl + Z και μετά γράψτε disown.

Μετά την εγκατάσταση

Δε χρειάζεται να ρυθμίσετε το παραμικρό, αφού όλα είναι έτοιμα. Να πούμε επίσης ότι οι ειδοποιήσεις λειτουργούν μόνο αν το τερματικό δεν είναι σε πρώτο πλάνο.

Θα πρέπει απλά να ξεκινήσετε τη λειτουργία. Αυτό γίνεται πανεύκολα από τις επιλογές του τερματικού σας: Επεξεργασία > Προτιμήσεις Προφίλ > Τίτλος και Εντολή (Edit > Profile Preferences > Title and Command) και τσεκάρετε το Εκτέλεση εντολής ως κέλυφος εισόδου (Run command as a login shell). Η διαδικασία είναι σχεδόν ίδια σε οποιοδήποτε τερματικό.

Undistract-me: ειδοποιήσεις τερματικού χωρίς ενόχλησηΑν το εγκαταστήσατε από τον κώδικά του όπως είπαμε πιο πάνω, κάντε το setup του δίνοντας με τη σειρά τις εξής εντολές:

cd undistract-me
sudo mv undistract-me.sh /etc/profile.d/
cp ~/.bashrc ~/Documents/.bashrc-bakup
echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc

Αν θέλετε να έχετε ειδοποιήσεις σε διαφορετικό χρόνο (για παράδειγμα στα 6 δευτερόλεπτα), ανοίξτε σαν διαχειριστές το αρχείο /etc/profile.d/undistract-me.sh και αλλάξτε τη γραμμή

long_running_commands_finish_install

σε

long_running_commands_timeout=6

Ο αριθμός αντιστοιχεί σε δευτερόλεπτα και εννοείται ότι μπορείτε να ορίσετε όσα θέλετε.

Undistract-me: ειδοποιήσεις τερματικού χωρίς ενόχλησηΑποθηκεύστε και κλείστε τα όλα. Μπορείτε εδώ να δώσετε και την ακόλουθη εντολή, προκειμένου να ενημερώσετε για την αλλαγή:

source ~/.bashrc

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

Για να σιγουρευτείτε πως λειτουργεί, δώστε την εντολή

sleep x

όπου x είναι οποιοσδήποτε μεγαλύτερος αριθμός από τα δευτερόλεπτα που έχετε ορίσει (ή το 10 αν κρατήσατε την προεπιλεγμένη τιμή).

Φυσικά, υπάρχουν και άλλοι τρόποι για να λαμβάνετε ειδοποιήσεις για τις εντολές τερματικού (π.χ. το some-cmd && notify-send), μα το undistract-me θα δουλέψει σίγουρα παντού και θα ενσωματωθεί πολύ καλά στις ειδοποιήσεις του συστήματός σας ανεξαρτήτως του γραφικού περιβάλλοντος.

11
Μοιραστείτε μαζί μας τις σκέψεις σας

avatar
4 Νήματα σχολίων
7 Απαντήσεις νήματος
0 Ακόλουθοι
 
Σχόλιο με τις περισσότερες αντιδράσεις
Πιο ενδιαφέρον νήμα
8 Σχολιαστές
DarkGothJimsp1thasJimSoulrain Πρόσφατοι σχολιαστές
  Εγγραφή  
νεότερο παλιότερο περισσότερο ψηφισμένο
Ειδοποίηση για
Jim
Επισκέπτης
Jim

Κωνσταντίνε σε τι distro/DE είσαι τώρα;

Άπο ότι καταλαβαίνω δεν ακολούθησες ubuntu με gnome 3 😛

Σε mint mate 19 είσαι τώρα?

Comm Enter
Επισκέπτης
Comm Enter

Στο τερματικό του kubuntu δεν βρίσκω αυτήν την εντολή.

sp1thas
Επισκέπτης
sp1thas

Πολύ χρησιμο αλλά σε Debian 9 με gnome shell και zsh ακόμα δεν το έχω καταφέρει να δουλέψει :/

DarkGoth
Συντάκτης
DarkGoth

Αποθηκεύστε και κλείστε τα όλα. Μπορείτε εδώ να δώσετε και την ακόλουθη εντολή, προκειμένου να ενημερώσετε για την αλλαγή:

source ~/.bashrc

θελει εντολη το bash για να αποθηκευσει αλλαγες που το κανεις; πρωτη φορα το ακουω αυτο. και εγω στο debian, bash εχω αλλα οταν κανω αλλαγες δεν τρεχω τιποτα. απλα κλεινω το terminal και το ξανανοιγω (και στο σαπιο ουμπουντου που ειχα το ιδο εκανα). αν ειμαι σε TTY απλα κανω logoff και οταν κανει αυτοματα ξανα login εχει παρει την αλλαγη (εχω πειραξει το getty@service του systemd. δινω απλα «exit» και βγαινει και ξανακανει login αυτοματα)

Σας ενημερώνουμε ότι η ιστοσελίδα μας ακολουθεί ειδικό πρόγραμμα διατροφής και μασουλάει φρεσκοψημένα cookies Καλά μωρέΘέλω να μάθω περισσότερα