Διαχείριση πολλαπλών οθονών με το autorandr

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

Το Xrandr είναι ο μοντέρνος τρόπος του Χ11 για τη διαχείριση των οθονών. Πράγματα όπως ανάλυση και συχνότητα ανανέωσης, αν είναι ανοιχτές ή όχι, σχετική θέση, αλλά και το gamma μεταξύ άλλων. Το xrandr είναι ένα πρόγραμμα που κάνει χρήση του πρωτοκόλλου. Το ίδιο και ότι γραφικό χρησιμοποιείς για να ρυθμίσεις τις οθόνες. Σε Wayland υπάρχει αντίστοιχο πρωτόκολλο, αλλά τα παρακάτω δε θα δουλέψουν.

To autorandr είναι έξυπνο και θα βρει για ένα συγκεκριμένο αριθμό συνδεμένων οθονών ποια είναι η καλύτερη για να χρησιμοποιήσει. Στο σύστημα μου η εντολή

autorandr

θα δώσει 4 πιθανά configurations και θα επιλέξει την καλύτερη

full (detected) (1st match) (current)
single (detected) (2nd match)
dual (detected) (3rd match)
single_movie (detected) (4th match)

Βασική εγκατάσταση και χρήση

Το εγκατέστησα με μια απλή εντολή apt. Αλλά επειδή μου έβγαζε – τη στιγμή που γράφω αυτές τις γραμμές-- ένα αθώο πλην όμως σπαστικό μήνυμα, πήγα στο αποθετήριο του και απλά αντικατέστησα το εκτελέσιμο. Έτσι γλυτώνω αρκετά από το setup για πλήρη ενσωμάτωση. Ας δούμε τι περιέχει το πακέτο

Βλέπουμε πως έχει υποστήριξή για αφύπνιση /etc/pm/sleep.d/40autorandr και για hotplug μιας οθόνης /lib/udev/rules.d/40-monitor-hotplug.rules καθώς και να τρέχει μαζί με τη συνεδρία του χρήστη /etc/xdg/autostart/autorandr.desktop.

Ρύθμισε τώρα τις οθόνες σε κάποιο συνδυασμό και αποθήκευσε τον

autorandr --save full --force

Επανέλαβε το ίδιο και αποθήκευσε με άλλο όνομα

autorandr --save single --force

Μπορούμε να επιλέξουμε τον συνδυασμό που θέλουμε με την εντολή

autorandr --load single --force

Αλλά πως θα επιλέξει ποιος συνδιασμός είναι ο προτιμότερος; Θα πρέπει να του το πούμε με την εντολή

autorandr --default full

Αν δούμε στα αρχεία που αναφέραμε παραπάνω ουσιαστικά τρέχει την εντολή

/usr/bin/autorandr --batch --change --default default

** Στα παραπάνω παραδείγματα το --force και --load μπορούν τα παραλειφθούν.

Αυτοματισμός με το πληκτρολόγιο

Στη διανομή μου, που είναι βασισμένη στο Gnome :gnome:, προσέθεσα κάποιους συνδυασμούς στο πληκτρολόγιο για να αλλάζω εύκολα προφίλ.

Αν και είναι αρκετά έξυπνο και επιλέγει μια καλή διάταξη, θέλω καλύτερο έλεγχο. Επίσης, για τους βιαστικούς υπάρχουν κάποια έτοιμα προφίλ. Αν τρέξω autorandr --help, μαζί με πολλές άλλες δυνατότητες που δεν αναφέρω εδώ θα δούμε

 The following virtual configurations are available:
  off             Disable all outputs
  common          Clone all connected outputs at the largest common resolution
  clone-largest   Clone all connected outputs with the largest resolution (sca-
                  led down if necessary)
  horizontal      Stack all connected outputs horizontally at their largest re-
                  solution
  vertical        Stack all connected outputs vertically at their largest reso-
                  lution
  horizontal-reverse Stack all connected outputs horizontally at their largest re-
                  solution in reverse order
  vertical-reverse Stack all connected outputs vertically at their largest reso-
                  lution in reverse order

Προχωρημένες δυνατότητες

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

Για παράδειγμα, στο σύστημα μου έχω ένα εκτελέσιμο αρχείο ~/.config/autorandr/postswitch με τα παρακάτω

#!/usr/bin/env bash
sleep 1
notify-send -i display "Display profile" "$AUTORANDR_CURRENT_PROFILE"
echo "Change display profile to" "$AUTORANDR_CURRENT_PROFILE" | systemd-cat -t "autorandr"

Δείτε στο αποθετήριο για περισσότερες πληροφορίες.

Στην πραγματικότητα είναι λίγο πιο πολύπλοκο, καθώς αν επιλέξω ένα προφίλ που περιέχει στο όνομα _movie θα αλλάξει τις ρυθμίσεις της οθόνης κατάλληλα, καθώς και φωτισμό, ενώ κάποια στιγμή θα φτιάξω και για το _game, αλλά αυτό είναι μια άλλη ιστορία. Ίσως, σε κάποιο άλλο άρθρο στο μέλλον.

Επίσης, έχω ένα αρχείο ~/.config/autorandr/settings.ini που περιέχει τα παρακάτω:

[config]
skip-options=gamma

Να αλλάξω διάταξη θέλω, το gamma στην οθόνη είναι δουλεία για κάτι σαν το timeshift.

Σύγκριση με arandr

Το autorandr είναι έξυπνο, αλλά και θα κάνει τις λιγότερο δυνατές αλλαγές με ασφάλεια και (σχεδόν) δεν θα αποτύχει ποτέ, αρκεί να υπάρχει μια δυνατή διάταξη να εφαρμόσει.

Εκεί που το arandr θα κάνει για μια πολύπλοκη διάταξη

unxrandr

σε μια μεγάλη εντολή μακρυνάρι,

xrandr --output DP-0 --primary --mode 1920x1080 --pos 1080x765 --rotate normal 
--output DP-1 --off --output DP-2 --mode 1920x1080 --pos 3000x765 
--rotate normal --output DP-3 --off --output HDMI-0 --mode 2560x1080 
--pos 0x0 --rotate left --output None-1-1 --off

το autorandr αντίθετα θα το κάνει σιγά σιγά και με ασφάλεια.

autorandr --load full --force --dry-run
xrandr --fb 4920x2560 --output HDMI-0 --crtc 2 --mode 2560x1080
 --pos 0x0 --rate 60.00 --reflect normal --rotate left --set non-desktop 0 
--output DP-0 --crtc 0 --mode 1920x1080 --pos 1080x765 --primary 
--rate 60.00 --reflect normal --rotate normal --set non-desktop 0 

xrandr --fb 4920x2560 --output DP-2 --crtc 1 --mode 1920x1080 --pos 3000x765 --rate 60.00 --reflect normal --rotate normal --set non-desktop 0 

xrandr --fb 4920x2560 

Για να είμαι δίκαιος το arandr περιέχει και ένα gui, αλλά βρίσκω αυτό που έρχετε με το γραφικό μου περιβάλλον καλύτερο. Ελπίζω κάποια στιγμή να μπορείς να αποθηκεύσεις μια διάταξη μέσα απο το γραφικό περιβάλλον, δεν γνωρίζω κανένα που να το κάνει.

Το xrandr σαν πρωτόκολλό δεν είναι τέλειο και συχνά υπάρχουν προβλήματα. Ευτυχώς, κάποιες φορές συμβαίνουν αναπάντεχες εκπλήξεις. Έχοντας για παράδειγμα αποτύχει να χωρίσω μια οθόνη στη μέση, και απορώντας για το τι συμβαίνει, και αποτυγχάνοντας βρήκα πως το Gnome κατάφερε να περάσει κάποιες αλλαγές στο πρωτόκολλο, που είναι πιθανό να σπάσουν κάποια scripts. Αδιανόητο, αυτό πριν λίγους μήνες, οπότε ελπίζω κάποια στιγμή να περάσει downstream.

Δείτε ακόμα

2 «Μου αρέσει»