Usa xrandr per dividere la visualizzazione in due schermate virtuali
Discussioni / siti Web che ho cercato ma non mi hanno aiutato completamente
- Dividere un display X fisico in due display virtuali?
- https://chipsenkbeil.com/notes/linux-virtual-monitors-with-xrandr/
- https://askubuntu.com/questions/150066/split-monitor-in-two/998435#998435
Contesto
Ho uno schermo con una risoluzione dello schermo di 5120x1440px. Voglio dividere questo monitor in due schermi virtuali, in modo da poter lavorare con questo monitor come se fosse una configurazione a doppio monitor. Voglio anche tornare rapidamente a utilizzare solo uno schermo, quindi volevo fare tutto questo in uno script bash, ma al momento non importa.
L'output di xrandr
è il seguente
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected primary 5120x1440+0+0 (normal left inverted right x axis y axis) 1mm x 1mm
3840x1080 119.97 + 99.96 59.97
5120x1440 119.97* 100.00 59.98
2560x1440 59.95
2560x1080 119.88 100.00 60.00 59.94
1920x1080 119.88 100.00 60.00 59.94
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
640x480 75.00 72.81 59.94
DP-5 disconnected (normal left inverted right x axis y axis)
USB-C-0 disconnected (normal left inverted right x axis y axis)
Implementazione
Seguendo i tutorial e i post che ho trovato, questo è quello che avrei bisogno di fare
xrandr --setmonitor VIRTUAL-LEFT 2560/0x1440/1+0+0 DP-4
xrandr --setmonitor VIRTUAL-RIGHT 2560/1x1440/1+2560+0 none
Per spiegare i numeri
- VIRTUALE-SINISTRA
2560
perché è la metà di5120
0
perché negli esempi, l'asse (1 mm nel mio caso) è diviso per 2 e il display di sinistra ottiene il numero arrotondato per difetto1440
perché è l'altezza del mio schermo1
perché negli esempi, l'altro asse (anche 1mm nel mio caso) viene utilizzato così com'è0+0
perché è lo stesso dell'output xrandrDP-4
perché questo è il primario connesso
- VIRTUALE-Destra
2560
perché vedi sopra1
perché vedi sopra anche se questo prende il numero arrotondato per eccesso1440
perché vedi sopra1
perché vedi sopra2560+0
perché quello sarà l'offset da sinistra e viene utilizzato negli esempinone
perché è così che è fatto in OGNI esempio
Poiché non ricevo modifiche, faccio come suggerito negli esempi
xrandr --fb 5120x1441
xrandr --fb 5120x1440
Risultato atteso
Ora mi aspetto di avere due schermi virtuali con un desktop pronto all'uso.
Risultato attuale
Gli schermi sono tagliati a metà, lo schermo di sinistra ha il mio desktop attuale, ma lo schermo di destra è completamente nero, tuttavia, posso spostare il mouse sopra, ma non posso configurarlo, non posso vederlo nei display, non posso farlo qualsiasi cosa con esso

Qual è la soluzione qui?
Risposte
Tenendo conto dei commenti, suggerirei DWM (un gestore di finestre dinamico / affiancato) con una falsa patch a schermo intero . Questa patch consente alle app di "schermo intero" nello spazio attualmente assegnato loro, una finestra o metà schermo o qualsiasi altra cosa. Sarebbe l'ideale per il tuo scenario, metà schermo per i giochi (finto pieno) e il resto per altre app. Sebbene l'utilizzo di un WM invece di DE (ambiente desktop come xfce, gnome, ecc.) È una configurazione più avanzata.
Tieni presente che in Linux puoi avviare due server X contemporaneamente con diversi gestori / ambienti. Uno può essere xfce, la tua configurazione attuale, l'altro DWM. Puoi passare da uno all'altro usando ctrl+ alt+ F1 - F12per passare da uno all'altro.
Per quanto riguarda la funzione PBP del tuo monitor, puoi utilizzare due uscite dallo stesso PC: suppongo che tu abbia più di un'uscita sul tuo controller grafico, ad esempio una DisplayPort e HDMI o VGA. Quindi puoi collegare sia DisplayPort che HDMI e agire come se il tuo PC fosse collegato a due schermi. Quindi se il tuo PC ha due uscite (molto probabilmente) hai solo bisogno di un cavo separato, del tipo appropriato ovviamente.
Quindi sto cercando di ottenere risultati simili su Ubuntu 20.04, stesso display (Samsung CRG9), grafica integrata di Intel, qualunque cosa possa essere su un Core i7-9700. La scheda madre ha uscite DP1.4, HDMI2.0 e DVI. Sto utilizzando due cavi: DP e HDMI e l'installazione funziona quasi, tranne quanto segue:
- le impostazioni della luce notturna influiscono solo sulla condivisione DP dello schermo, la condivisione HDMI non sembra preoccuparsi
- quando lo schermo è spento, sia manualmente che per il suo timeout di inattività, si riaccenderà con la parte HDMI che mostra una ridicola risoluzione 3840x1080, che ovviamente non si adatta a 2560x1440 pixel, quindi l'immagine è un disastro. E le parti DP e HDMI dello schermo cambiano posizione. Questo torna immediatamente alla normalità dopo aver digitato "xrandr" o aperto l'applet delle impostazioni dello schermo. Delle idee su come risolvere i problemi di cui sopra?