Πρόβλημα με τη φόρτωση 2ου γραφικού περιβάλλοντος σε άλλη tty

Όταν τρέχω κάποιο γραφικό περιβάλλον(πχ wdm, openbox, evilwm …) σε δεύτερο xserver, γίνεται αποσύνδεση από τον πρώτο και επανεκκινείται ο desktop manager. Αυτό συμβαίνει κάθε φορά που προσπαθώ με τα alt+ctl+Fn να γυρίσω στο αρχικό. Η εναλλαγή σε διαφορετική tty δεν έχει πρόβλημα στο περιβάλλον κονσόλας. Φαίνεται πως είναι ανεξάρτητο διανομής και γραφικού περιβάλλοντος. Το δοκίμασα με lightdm, sddm και plasma, cinnamon, αλλά και με διαφορετική διανομή(χρησιμοποιώ ferenOS αλλά το δοκίμασα και σε linux mint 19.3). Αυτό το πρόβλημα δεν υπήρχε παλαιότερα και νομίζω ότι ευθύνεται το monitor, το οποίο άλλαξα πριν 2-3 μήνες.
Παλαιότερα το ένα monitor ήταν συνδεδεμένο στη dvi θύρα και το 2ο στην hdmi με αντάπτορα vga2hdmi. Μετά την αλλαγή, το νέο monitor(το βασικό) είναι συνεδεμένο στην hdmi θύρα, ενώ το 2ο στην dvi. Η κάρτα γραφικών είναι AMD RX570 4G με mesa 19.03.

Λογικό γιατί αυτό θα πρέπει να έχει κυρίως σχέση με το παραθυρικό σύστημα (Xorg) και όχι με το γραφικό περιβάλλον. Ίσως έχει και κάποια σχέση με τον Display Manager και ίσως και με το Systemd. Από εκεί και πέρα όχι δεν έχω κάποια βοήθεια :confused: Επίσης φυσικά με τούς driver που είναι στον πυρήνα. (έχει περισσότερη σημασία η έκδοση πυρήνα μετά η έκδοση xorg και λιγότερο η έκδοση mesa)

Μετά από μερικές δοκιμές, μπορώ να πω ότι δε φαίνεται να είναι ούτε θέμα του νεου monitor, μιας και δοκίμασα μόνο με το παλιό συνδεδεμένο. Επίσης δε φαίνεται να είναι και θέμα πυρήνα, αφού γίνεται το ίδιο και στην 5.3 έκδοση που είναι η τελευταία, αλλά και στις 5.0 και 4.18 που δοκίμασα.

Τι σενάριο χρήσης έχεις κατα νού;

Το πρόβλημα που θέλω να λύσω είναι με το wine, όπου η εναλλαγή παραθύρων με alt+tab είτε η εναλλαγή μεταξύ διαφορετικών επιφανειών εργασίας προκαλεί πρόβλημα στο πληκτρολόγιο όπου τα πλήκτρα esc και tab δε λειτουργούν. Οπότε θα ήθελα να τρέχει σε διαφορετικό tty, είτε σκέτο, είτε μέσω ενός minimal window manager όπως evildm, dwm, smallwm.
Αυτό λειτουργούσε παλαιότερα, αλλά επειδή είχα αρκετό καιρό να το χρησιμοποιήσω, δεν ξέρω τι έφταιξε και σταμάτησε να λειτουργεί. Αρχικά σκέφτηκα ότι ίσως έφταιγε το μόνιτορ, μιας και ήταν η πιο πρόσφατη αλλαγή που έγινε, αλλά ίσως τελικά να έχει να κάνει με την κάρτα γραφικών. Παλαιότερα είχα μια NVIDIA ενώ τώρα έχω μια AMD RX 570. Είναι αρκετά πιθανό λοιπόν να είναι θέμα του οδηγού mesa της κάρτας. Προσπαθώ να βρω ένα τρόπο να φορτώσω τον VESA προσωρινά στη θέση του AMDGPU, ώστε να δοκιμάσω να δω αν το πρόβλημα υπάρχει και με τον VESA, αλλά δεν το έχω καταφέρει.

Απλές λύσεις πρώτα:

Έχεις σκεφτεί να αλλάξεις τα bindings του window manager; Για παράδειγμα σε ένα παιγνίδι που παίζω (lotro με proton στο steam) θέλω το πλήκτρο Alt το οποίο μετακινεί το παράθυρο του παιγνιδιού. Οπότε απλά άλλαξα αυτό το πλήκτρο στο cinnamon και έβαλα το πλήκτρο Super. Μου πήρε λίγες μέρες να το συνηθίσω, αλλά μετά όλα καλά.

Το να τρέξεις ένα δεύτερο X server είναι πιθανό, αλλά θέλει πολύ μεγάλη ταλαιπωρία γιατί θα πρέπει να πειράξεις αρκετά πράγματα και θέλει αρκετό διάβασμα μιας και οι παλιές λύσεις θέλουν αλλαγές.

Το να αφαιρέσεις τον amdgpu σε σύστημα που τρέχει δεν νομίζω να είναι δυνατόν. Σκέψου δεν το χρησιμοποιεί μόνο όταν είναι σε γραφική κατάσταση, αλλά και σε περιβάλλον κονσόλας.

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

Κάποια πράγματα για να ξεκινήσεις αν θες να το ψάξεις: Για να ξεκινήσεις ένα δεύτερο server θέλεις ένα αρχείο xorg config στον κατάλογο που θα τρέξεις την εντολή `startx some-session – :1 vt8’ θα τρέξει και χωρίς το αρχείο, αλλά το θέλεις για τον έλεγχο των οθονών.
Υπάρχει και μια άλλη λύση που είναι να τρέξεις ένα X με δυο διαφορετικά seats, αν και νομίζω πως θέλεις δυο πληκτρολόγια. Ψάξε για multiseat Χ11 ή διάβασε το X Power Tools του Chris Tyler. Είναι 10 χρονών παλιό, αλλά έχει κάποια χρήσιμα κόλπα.

Το πρόβλημα δεν είναι το πως να τρέξω 2ο γραφικό περιβάλλον. Αυτό το έχω κάνει ήδη. Το πρόβλημα είναι ότι κρασάρει το βασικό γραφικό περιβάλλον κατά την εναλλαγή. Αυτό γίνεται είτε με γραφικό περιβάλλον, είτε με μια εφαρμογή μόνο(πχ firefox).
To multiseat δεν το είχα σκεφτεί. Θα το κοιτάξω κι αυτό.

Διάβασμα

https://wiki.archlinux.org/index.php/Multihead

https://wiki.archlinux.org/index.php/Xorg_multiseat

https://linux-user.gr/tag/xinput

και αν τα καταφέρεις, σκέψου να μας γράψεις έναν οδηγό

1 Like

Απ’ όσο διάβασα φαίνεται ότι το multiseat θέλει όντος διπλά πληκτρολόγια κλπ, οπότε δε νομίζω ότι κάνει για την περίπτωση που το θέλω.
Αυτό που διαπίστωσα μόλις όμως, είναι ότι αν δεν αλλάξω απευθείας από γραφικό περιβάλλον σε γραφικό περιβάλλον, αλλά αλλάξω πρώτα σε μια tty χωρίς X πρώτα, τότε δεν κρασάρει το βασικό γραφικό περιβάλλον. Δηλαδή αν δεν αλλάξω κατ’ ευθείαν από την tty2 όπου τρέχει ο 2ος xserver στην tty7, αλλά πάω πρώτα σε μια άλλη(πχ tty4), όλα είναι εντάξει.

Δες και αυτό

https://wiki.archlinux.org/index.php/Gaming#Starting_games_in_a_separate_X_server

Αλλά επιμένω, η ποιο απλή λύση είναι να τα ξεχάσεις αυτά και να πειράξεις τις συντομεύσεις πληκτρολογίου του γραφικού περιβάλλοντός

2 Likes

Ισως το Xephyr σε βοηθησει να κανεις αυτο που θες. Για ριξε μια ματια.

Αυτο εδω θα σου δωσει μερικες κατευθυνσεις:
https://ubuntuforums.org/showthread.php?t=620003

2 Likes