Στο σημερινό tip θα δούμε ένα απλό workaround για όσους έχουν έχουν το laptop συνδεδεμένο σε εξωτερική οθόνη και η login εμφανίζεται μόνο στην οθόνη του laptop αντί να εμφανίζεται στην εξωτερική.

Σε ένα laptop με Ubuntu 20.04 που έχω συνδέσει μια εξωτερική οθόνη, το περιβάλλον login εμφανίζεται στην οθόνη του laptop και όχι στην εξωτερική οθόνη την οποία έχω ρυθμίσει ως βασική οθόνη χρήσης.

Η οθόνη εισόδου χρήστη δεν εμφανίζεται στην εξωτερική οθόνη

Αυτό που συμβαίνει είναι ότι, οι διανομές με GNOME περιβάλλον χρησιμοποιούν τον GDM (GNOME Display Manager) για την διαχείριση της οθόνης εισόδου (login) του χρήστη. Έτσι και το Ubuntu, από την έκδοση 18.04 και έπειτα, όταν αντικατέστησε το Unity με το GNOME «κληρονόμησε» και το GDM αντικαθιστώντας τον μέχρι τότε LightDM.

Όταν λοιπόν ο χρήστης έχει ρυθμίσει την εξωτερική οθόνη που έχει συνδέσει π.χ. με HDMI στο laptop, ως Primary display και έχει ρυθμίσει ώστε η οθόνη του laptop να είναι απενεργοποιημένη όταν είναι συνδεδεμένη αυτή η εξωτερική οθόνη, δυστυχώς το GDM δεν το αντιλαμβάνεται. Το αποτέλεσμα είναι, να χρειάζεται να κάνεις login όσο είναι αναμμένη η οθόνη του laptop και μόλις μπεις τότε και μόνο τότε απενεργοποιείται αυτόματα η οθόνη του laptop και εμφανίζεται το desktop στην εξωτερική οθόνη.

Advertisements

Μια «πρόχειρη» λύση που είχα εφαρμόσει ήταν να βάλω πάλι τον LightDM το οποίο δεν αντιμετωπίζει το πρόβλημα. Παρόλα αυτό και το LightDM δεν το έχει υλοποιήσει τέλεια, διότι αυτό που κάνει είναι μόλις το λειτουργικό σύστημα φτάσει στην login screen έχει και τις δύο οθόνες ανοιχτές (extended mode) και απλά «παρακολουθεί» που βρίσκεται το ποντίκι (αρχικά στην οθόνη του laptop) και πρέπει απλά να μετακινήσεις το ποντίκι στην εξωτερική οθόνη για να εμφανιστεί εκεί η login screen.

Το πρόβλημα έχει ήδη αναφερθεί σε bug report και αναμένεται να λυθεί σε επόμενες εκδόσεις του GNOME:

  • Login screen appears on only one monitor and it’s not the one I want (Σημείωση: όσοι αντιμετωπίζετε το ίδιο πρόβλημα, συνδεθείτε στο launchpad και κάντε κλικ στο «This bug affects people. Does this bug affect you?» και να πατήσετε Yes, για να αυξηθεί η προτεραιότητα)

Login από εξωτερική οθόνη

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

Ρύθμιση εξωτερικής οθόνης ως κύρια οθόνη

Το πρώτο πράγμα που θα πρέπει να κάνετε είναι να πάτε στις ρυθμίσεις της οθόνης και να το σετάρετε σύμφωνα με τις ανάγκες σας

Ρύθμιση εξωτερικής οθόνης ως κύρια οθόνη

Στην παραπάνω εικόνα έχω ρυθμίσει την εξωτερική οθόνη Dell 27″ ως μοναδική οθόνη.

Αφού το ρυθμίσετε, αποθηκεύστε και κλείστε τις ρυθμίσεις.

Μεταφορά ρυθμίσεων στον GDM

Με την παραπάνω ρύθμιση θα πρέπει να έχει δημιουργηθεί ένα αρχείο monitors.xml στην διαδρομή .config/monitors.xml. Ας το μεταφέρουμε στον φάκελο του GDM. Πριν το κάνουμε, επιβεβαιώνουμε ότι το αρχείο έχει όντως την εξωτερική οθόνη ως primary. Ανοίξτε λοιπόν το αρχείο π.χ. με VIM:

vim ~/.config/monitors.xml 

και ελέγξτε ότι είναι «yes» η γραμμή <primary>yes<primary> που αφορά την εξωτερική οθόνη

[...]
<configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>HDMI-1</connector>
          <vendor>DEL</vendor>
          <product>DELL SE2719H</product>
[...]

Αν όλα είναι όπως πρέπει τότε αντιγράψτε το στον φάκελο ρυθμίσεων του GDM όπως παρακάτω:

sudo cp ~/.config/monitors.xml /var/lib/gdm3/.config/

Αυτό ήταν. Κάντε επανεκκίνηση και πλέον η login screen θα εμφανίζεται στην εξωτερική οθόνη.

Σας φάνηκε χρήσιμο;
Πείτε μας τη γνώμη σας για το σημερινό tip. Δείτε και τα υπόλοιπα Tips ή πείτε μας τα δικά σας tips στα σχόλια ή επικοινωνήστε μαζί μας.