Δεν αποθηκεύεται η σωστή θέση του δεύτερου monitor σε dual monitor setup

Καλησπέρα και χρόνια πολλά!

Σε fully updated Linux Mint 20, πρόσφατα έκανα τη μετάβαση σε dual monitor setup ως εξής:

H Asus οθόνη είναι η main και στα αριστερά έχω την παλιότερη Dell. Όλα λειτουργούν όπως πρέπει (αναλύσεις, refresh rate - η Asus είναι 144 Hz κτλ). Επίσης οι ρυθμίσεις αποθηκεύονται και μετά από boot όλα λειτουργούν ομαλά. Το γράφω αυτό γιατί έχω διαβάσει αρκετές αναφορές στο διαδίκτυο από χρήστες στους οποίους δεν αποθηκεύονται οι ρυθμίσεις και κάθε φορά πρέπει να τις ξαναπερνάνε.

Το πρόβλημα που εγώ αντιμετωπίζω είναι το εξής: Μερικές φορές, το δεύτερο μόνιτορ δεν το χρειάζομαι και επομένως το απενεργοποιώ για εξοικονόμηση ενέργειας. Κλικάρω δηλαδή τον διακόπτη “active” που φαίνεται στο παραπάνω στιγμιότυπο.

Άπαξ και γίνει αυτό και αργότερα θελήσω, μετά από restart, να ενεργοποιήσω το δεύτερο μόνιτορ, δηλαδή το Dell, τότε εμφανίζεται by default πάλι στα δεξιά (ενώ εγώ το θέλω στα αριστερά). Αυτό σημαίνει ότι κάθε φορά πρέπει να το ξαναμετακινώ στα αριστερά. Δηλαδή ΟΛΑ τα settings αποθηκεύονται, πλην της θέσης του μονιτορ που θέλω να είναι στα αριστερά.

Υπάρχει τρόπος, να εμφανίζεται by default στα αριστερά;

Στα windows η αντίστοιχη διαδικασία κρατάει τη θέση του μονιτορ εκεί που το είχα ρυθμίσει την τελευταία φορά (αν και στα windows η λειτουργικότητα dual monitor έχει άλλα προβλήματα που δεν υπάρχουν στο mint, αλλά αυτό είναι άλλο θέμα).

Παραθέτω και τα στοιχεία του συστήματός μου, αν και δεν νομίζω ότι βοηθάνε σε κάτι.

System:    Kernel: 5.8.0-33-generic x86_64 bits: 64 compiler: N/A Desktop: Cinnamon 4.6.7 
           wm: muffin dm: LightDM Distro: Linux Mint 20 Ulyana base: Ubuntu 20.04 focal 
Machine:   Type: Desktop Mobo: ASUSTeK model: ROG STRIX B350-F GAMING v: Rev X.0x serial: <filter> 
           UEFI: American Megatrends v: 5406 date: 11/13/2019 
CPU:       Topology: 6-Core model: AMD Ryzen 5 1600 bits: 64 type: MT MCP arch: Zen rev: 1 
           L2 cache: 3072 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 93600 
           Speed: 1270 MHz min/max: 1550/3900 MHz Core speeds (MHz): 1: 1270 2: 2341 3: 3899 
           4: 1559 5: 1272 6: 1560 7: 3900 8: 1557 9: 1272 10: 2349 11: 1269 12: 1559 
Graphics:  Device-1: AMD Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] 
           vendor: Sapphire Limited driver: amdgpu v: kernel bus ID: 0a:00.0 chip ID: 1002:731f 
           Display: x11 server: X.Org 1.20.8 driver: amdgpu,ati 
           unloaded: fbdev,modesetting,radeon,vesa resolution: 1920x1200~60Hz 
           OpenGL: 
           renderer: AMD Radeon RX 5600 XT (NAVI10 DRM 3.38.0 5.8.0-33-generic LLVM 10.0.0) 
           v: 4.6 Mesa 20.0.8 direct render: Yes 
Audio:     Device-1: AMD Navi 10 HDMI Audio driver: snd_hda_intel v: kernel bus ID: 0a:00.1 
           chip ID: 1002:ab38 
           Device-2: AMD Family 17h HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel 
           bus ID: 0c:00.3 chip ID: 1022:1457 
           Sound Server: ALSA v: k5.8.0-33-generic 
Network:   Device-1: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: 5.6.0-k port: e000 
           bus ID: 03:00.0 chip ID: 8086:1539 
           IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 5.00 TiB used: 1.02 TiB (20.5%) 
           ID-1: /dev/sda vendor: Crucial model: CT1000MX500SSD1 size: 931.51 GiB speed: 6.0 Gb/s 
           serial: <filter> 
           ID-2: /dev/sdb vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB 
           speed: 6.0 Gb/s serial: <filter> 
           ID-3: /dev/sdc vendor: Seagate model: ST31000528AS size: 931.51 GiB speed: 3.0 Gb/s 
           serial: <filter> 
           ID-4: /dev/sdd vendor: Toshiba model: HDWD130 size: 2.73 TiB speed: 6.0 Gb/s 
           serial: <filter> 
Partition: ID-1: / size: 236.04 GiB used: 27.10 GiB (11.5%) fs: ext4 dev: /dev/sdb5 
           ID-2: swap-1 size: 19.07 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdb4 
USB:       Hub: 1-0:1 info: Full speed (or root) Hub ports: 10 rev: 2.0 chip ID: 1d6b:0002 
           Device-1: 1-5:2 info: Logitech G710 Gaming Keyboard type: Keyboard,HID 
           driver: hid-generic,usbhid rev: 2.0 chip ID: 046d:c24d 
           Hub: 2-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.1 chip ID: 1d6b:0003 
           Hub: 3-0:1 info: Full speed (or root) Hub ports: 1 rev: 2.0 chip ID: 1d6b:0002 
           Hub: 3-1:2 info: VIA Labs Hub ports: 4 rev: 2.1 chip ID: 2109:3431 
           Hub: 4-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.0 chip ID: 1d6b:0003 
           Hub: 5-0:1 info: Full speed (or root) Hub ports: 4 rev: 2.0 chip ID: 1d6b:0002 
           Device-2: 5-2:2 info: Logitech G502 Proteus Spectrum Optical Mouse type: Mouse,HID 
           driver: hid-generic,usbhid rev: 2.0 chip ID: 046d:c332 
           Hub: 6-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.0 chip ID: 1d6b:0003 
Sensors:   System Temperatures: cpu: 34.4 C mobo: N/A gpu: amdgpu temp: 56 C 
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 0 
Repos:     No active apt repos in: /etc/apt/sources.list 
           Active apt repos in: /etc/apt/sources.list.d/additional-repositories.list 
           1: deb https: //www.bchemnet.com/suldr/ debian extra
           Active apt repos in: /etc/apt/sources.list.d/fredcox-p-crazydiskmark-focal.list 
           1: deb http: //ppa.launchpad.net/fredcox-p/crazydiskmark/ubuntu focal main
           2: deb-src http: //ppa.launchpad.net/fredcox-p/crazydiskmark/ubuntu focal main
           Active apt repos in: /etc/apt/sources.list.d/google-chrome.list 
           1: deb [arch=amd64] http: //dl.google.com/linux/chrome/deb/ stable main
           Active apt repos in: /etc/apt/sources.list.d/google-earth-pro.list 
           1: deb [arch=amd64] http: //dl.google.com/linux/earth/deb/ stable main
           Active apt repos in: /etc/apt/sources.list.d/hluk-copyq-focal.list 
           1: deb http: //ppa.launchpad.net/hluk/copyq/ubuntu focal main
           Active apt repos in: /etc/apt/sources.list.d/libreoffice-libreoffice-7-0-focal.list 
           1: deb http: //ppa.launchpad.net/libreoffice/libreoffice-7-0/ubuntu focal main
           No active apt repos in: /etc/apt/sources.list.d/libreoffice-ppa-focal.list 
           Active apt repos in: /etc/apt/sources.list.d/linuxuprising-shutter-focal.list 
           1: deb http: //ppa.launchpad.net/linuxuprising/shutter/ubuntu focal main
           Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 
           1: deb http: //packages.linuxmint.com ulyana main upstream import backport
           2: deb http: //archive.ubuntu.com/ubuntu focal main restricted universe multiverse
           3: deb http: //archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
           4: deb http: //archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
           5: deb http: //security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
           6: deb http: //archive.canonical.com/ubuntu/ focal partner
           Active apt repos in: /etc/apt/sources.list.d/official-source-repositories.list 
           1: deb-src http: //packages.linuxmint.com ulyana main upstream import backport
           2: deb-src http: //archive.ubuntu.com/ubuntu focal main restricted universe multiverse
           3: deb-src http: //archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
           4: deb-src http: //archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
           5: deb-src http: //security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
           6: deb-src http: //archive.canonical.com/ubuntu/ focal partner
           Active apt repos in: /etc/apt/sources.list.d/radeon-profile-stable-focal.list 
           1: deb http: //ppa.launchpad.net/radeon-profile/stable/ubuntu focal main
           Active apt repos in: /etc/apt/sources.list.d/skype-stable.list 
           1: deb [arch=amd64] https: //repo.skype.com/deb stable main
           Active apt repos in: /etc/apt/sources.list.d/steam.list 
           1: deb [arch=amd64,i386] https: //repo.steampowered.com/steam/ stable steam
           2: deb-src [arch=amd64,i386] https: //repo.steampowered.com/steam/ stable steam
           Active apt repos in: /etc/apt/sources.list.d/stebbins-handbrake-releases-focal.list 
           1: deb http: //ppa.launchpad.net/stebbins/handbrake-releases/ubuntu focal main
           2: deb-src http: //ppa.launchpad.net/stebbins/handbrake-releases/ubuntu focal main
           Active apt repos in: /etc/apt/sources.list.d/teamviewer.list 
           1: deb https: //linux.teamviewer.com/deb stable main
Info:      Processes: 323 Uptime: 29m Memory: 31.36 GiB used: 1.99 GiB (6.4%) Init: systemd v: 245 
           runlevel: 5 Compilers: gcc: 9.3.0 alt: 9 Client: Unknown python3.8 client inxi: 3.0.38 

Χρόνια πολλά!
Δοκίμασες (αν τεχνικά γίνεται) να αλλάξεις τα καλώδια;
(Η Asus στο display port και η Dell στο HDMI);

H Dell δεν έχει HDMI και θα χρειαστώ converter (που έχω), αλλά δεν θα αλλάξει κάτι. by default το Linux mint τοποθετεί το δεύτερο μονιτορ δεξιά.

Λοιπόν ψάχτηκα αρκετά με το xrandr (το command line app που μπορώ μέσω αυτού να σετάρω τα πάντα και έφτιαξα το εξής σκριπτάκι

xrandr --listactivemonitors | grep 'DisplayPort-0' && xrandr --output DisplayPort-0 --off || xrandr --output DisplayPort-0 --left-of HDMI-A-0 --auto

Έφτιαξα ένα σκριπτ δηλαδή που θα το βάλω στο desktop και θα το εκτελώ κάθε φορά που θέλω να ανοιγοκλείσω το μονιτορ με διπλό κλικ

Τι κάνει αυτό;

xrandr --listactivemonitors | grep 'DisplayPort-0'

Εμφάνισε τη λίστα με τα ενεργά μονιτορς και βρες το DisplayPort-0 (η DELL- δεύτερο μονιτορ)

&& xrandr --output DisplayPort-0 --off

(Εφόσον το βρει ενεργό) τότε σβήστο

|| xrandr --output DisplayPort-0 --left-of HDMI-A-0 --auto

|| → else
ενεργοποίησε το δεύτερο μονιτορ και βάλτο στα αριστερά (–left-of) του πρώτου (HDMI)

case solved!!!

Και πιο εύκολο από το να ανοίγω τον display manager του mint κάθε φορά!!!

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

Μιας και η λυση βρεθηκε, εγω να κανω μια ερωτηση;
Γιατι απλα δεν εκλεινες το monitor μεσω του φυσικου power button του; Εφοσον το εκλεινες για λογους εξοικονομισης ενεργειας. Υπαρχει η περιπτωση καποιο monitor να μην εχει φυσικο power button;

Αργοτερα σκεφτηκα οτι κλεινοντας το monitor μεσω του power button, το λειτιουργικο δεν αντιλαμβανεται την απουσια του και ισως συνεχισει να ανοιγει εφαρμογες εκει, δηλαδη που εχουν καθοριστει να ανοιγουν σε δευτερη οθονη.

Ωστοσο το δοκιμασα και μολις κλεινω(μεσω power button) την οθονη, σταματαει και ο εντοπισμος της. Αν τη ξανανοιξω, επανερχεται.

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

Για καθαρά πρακτικούς λόγους

  1. Το σοκ στο τροφοδοτικό της οθόνης είναι μεγαλύτερο όταν την κλείνεις από το φυσικό power button και την ξανανοίγεις σε σχέση με τη μετάβαση standby–>on–> standby

  2. O χρόνος για να ξανανοίξει με τον φυσικό διακόπτη είναι μεγαλύτερος σε σχέση με αυτόν από standby --> on

  3. Τελικά είναι bug που ταλαιπωρεί δυστυχώς πολλά χρόνια αυτούς που έχουν το δεύτερο μονιτορ αριστερά. (Δεξιά δεν υπάρχει πρόβλημα).

Και στην κοινότητα Ubuntu https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1292398

Και τώρα ελπίζω να ευαισθητοποιήσω και την κοινότητα του Mint/Cinnamon με το δικό μου bug report εδώ https://github.com/linuxmint/cinnamon/issues/9801

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

Αυτό το νήμα έκλεισε αυτόματα 2 ημέρες μετά την τελευταία απάντηση. Δεν επιτρέπονται πλέον νέες απαντήσεις.