Το D-bus είναι ένα σύστημα διαύλου μηνυμάτων-επικοινωνίας μεταξύ των εφαρμογών του συστήματος.
Επιτρέπει στις εφαρμογές να «μιλούν» η μια στην άλλη και επίσης διαθέτει daemons για επικοινωνία με το υλικό (όπως πχ. «προσθήκη νέου υλικού»), καθώς και για επικοινωνία (εφαρμογών) στη συνεδρία του χρήστη (user session daemon).
Σε αυτή τη δημοσίευση θα δούμε κάποια tips που αφορούν την εντολή dbus-send. Μια εντολή που χρησιμοποιείται για να στέλνει μηνύματα στο D-bus.
Θα δούμε πως μπορούμε να χρησιμοποιήσουμε τη dbus-send ώστε να κλείσουμε τον υπολογιστή, να κάνουμε επανεκκίνηση, αναστολή ή αδρανοποίηση. Όλα αυτά, χωρίς να χρειάζονται δικαιώματα root μιας και η dbus-send ανήκει στις εντολές που δεν απαιτούν αυξημένα δικαιώματα.
Οι εντολές έχουν δοκιμαστεί και λειτουργούν σωστά σε Ubuntu 16.04.1 LTS
Οι τέσσερις εντολές
Παρακάτω παραθέτουμε τις τέσσερις εντολές, η κάθε μια από αυτές εκτελεί την εργασία που αναφέρεται με έντονη γραμματοσειρά.
Τερματισμός Λειτουργίας (Shutdown):
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true
Επανεκκίνηση (Reboot):
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" boolean:true
Αναστολή Λειτουργίας (Suspend):
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" boolean:true
Αδρανοποίηση (Hibernate):
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Hibernate" boolean:true
Οι εντολές για Αναστολή ή/και Αδρανοποίηση ίσως να μη λειτουργήσουν σωστά σε όλους και αυτό διότι ειδικά η αδρανοποίηση δεν υποστηρίζεται σε όλους τους υπολογιστές.
Keyboard Shortcuts
Τις παραπάνω εντολές μπορούμε να τις χρησιμοποιήσουμε σε Scripts τα οποία γράφουμε, εδώ όμως θα δούμε έναν άλλο τρόπο χρήσης.
Πως μπορούμε να δημιουργήσουμε δικές μας συντομεύσεις πληκτρολογίου, οι οποίες θα καλούν όποια εντολή επιθυμούμε.
Παρακάτω βλέπουμε ένα παράδειγμα με το ShutDown (Απενεργοποίηση του υπολογιστή).
Χρήσιμοποίησα τα shutdown & reboot για debian jessie, και λειτουργούν μια χαρά. Δεν ήξερα ότι μπορούσαμε να έχουμε shortcuts για αύτες τις βασικές λειτουργίες.
Ευχαριστώ για το ωραίο άρθρο σου.