Wie kann ich unter Ubuntu / Gnome Widescreen vertikal in zwei virtuelle Arbeitsbereiche aufteilen?


23

Mein neuer Laptop hat einen großen 16: 9-Bildschirm, und es fällt mir schwer, ihn in den 95% der Zeit, in denen ich keine HD-Filme darauf ansehe, voll auszunutzen.

Ich möchte es als eine Art virtuellen Doppelbildschirm einrichten, indem ich den physischen Bildschirm in zwei Arbeitsbereiche aufteile. Ich weiß, dass ich meine Fenster manuell anordnen kann, aber ich möchte in der Lage sein, ein Fenster zu maximieren und nur die Hälfte des Monitors zu belegen und die Popup-Dialogfelder auf dem halben Bildschirm zu zentrieren, so etwas.

Gibt es dafür ein Plug-In?


Wenn Sie compiz verwenden, finden Sie das Grid-Plugin möglicherweise einfacher. Siehe meine Antwort unten.
kynan

Antworten:


24

Sie können " Fakexinerama " verwenden, um das zu erreichen, was Sie wollen:

 Fake Xinerama is a replacement libXinerama library that instead 
 of querying the XServer reads ~/.fakexinerama and provides fake 
 information about Xinerama screens based on this file. It can be 
 used to fake a Xinerama setup even on computers with just one monitor
 or to fake Xinerama setup other than one specified in the XServer 
 configuration (e.g. making one screen smaller when using two same 
 screens). It's probably only useful for developers.

1
Danke, das funktioniert perfekt und besser, als ich eigentlich gehofft hatte. Meine Docks, Leisten und schwebenden Fenster überspannen den physischen Bildschirm, aber maximierte und "Vollbild" -Apps (einschließlich meiner VMware-Gastinstanzen) halten sich höflich an ihre Bildschirmhälfte. Ich bin ziemlich neu in Linux, also fühlte sich das Hacken an meinen Anzeigeeinstellungen ein bisschen riskant an, aber es ist nicht wirklich viel Arbeit damit verbunden. Ich dokumentiere meine genauen Schritte für andere Linux-Amateure (wie mich selbst) in einer zusätzlichen Antwort unten.
David

2
Verbindung ist unterbrochen. Irgendeine Idee, wo ich diese Software finden könnte?
Maxime

17

Um den oben genannten Tipp von Akira zur Verwendung von Lubos Lunaks "falschem Xinerama" zu erläutern, habe ich genau wie folgt dafür gesorgt:

  1. Ich habe diese Xinerama.c-Datei von der Fake Xinerama-Website heruntergeladen .
  2. Ich öffnete ein Terminal und navigierte zu dem Ordner, in dem ich Xinerama.c gespeichert hatte.
  3. Ich habe ausgeführt:
    gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared
  4. Ich habe nautilus (den Gnome-Dateiexplorer) als root geöffnet, indem ich Alt-F2 eingegeben habe und dann:
    gksu nautilus
  5. Ich habe nach / usr / lib navigiert, libXinerama.so.1.0.0 gefunden und eine Sicherungskopie davon erstellt.
  6. Ich habe die Datei libXinerama.so.1.0.0 aus meinem Download-Verzeichnis in das Verzeichnis / usr / lib kopiert und dabei die Kopie dort überschrieben (die ich gerade in Schritt 5 gesichert hatte, damit ich diese später rückgängig machen konnte, falls erforderlich.) Dinge klar, es war hilfreich zu bemerken, dass die Dateigröße der "gefälschten" Version größer war (12,6 kb) als die "echte" Version, die ich ersetzte (8,6 kb).
  7. Ich habe eine neue Textdatei mit dem Namen .fakexinerama in meinem / home / dave-Verzeichnis erstellt und diese darin abgelegt: (basierend auf meiner physischen Bildschirmgröße von 1440 x 900)
    2
    0 0 720 900
    720 0 720 900

Mit Fake Xinerama können Sie jede Art von virtuellem Bildschirm definieren, die Sie möchten, aber ich möchte nur einen vertikalen geteilten Bildschirm. Um dies auf Ihrem Monitor zu erreichen, müssen Sie in meinem Dateibeispiel nur 720 durch X / 2 und 900 durch Y ersetzen.

Das ist es. Ich habe mich aus- und wieder angemeldet und war am Laufen.

Nochmals vielen Dank an Lubos Lunak für die Erstellung dieses Mods und an akira, der mich darauf hingewiesen hat.


Dies hat mir bei einem Drei-Kopf-Display sehr geholfen. Xinerama ist mit drei Desktops ziemlich langsam, so dass ich mit dieser Option zwei von ihnen in die Zwillingsansicht versetzen konnte, ohne dass die lästige Maximierung beider Probleme auftrat, und der dritte Bildschirm als separater X-Bildschirm mit der Zwillingsansicht mit Xinerama verbunden wurde. Danke, dass du dir die Zeit genommen hast, die Schritte aufzuschreiben, David!
Kyle Brandt

7

Es gibt jetzt ein neues Projekt namens FakeXRandR , das wirklich direkt funktioniert.

Dies ist ein Tool, um einen X11-Server zu betrügen und zu glauben, dass es mehr Monitore gibt, als es tatsächlich gibt. Es lässt sich in libXRandR und libXinerama einbinden und ersetzt bestimmte konfigurierbare Monitorkonfigurationen durch mehrere virtuelle Monitore. Mit einem Tool, das mit diesem Paket geliefert wird, können Sie konfigurieren, wie Monitore aufgeteilt werden.


Ich habe fakexrandr gelegentlich erfolgreich eingesetzt. Leider wird mein Bildschirm durcheinander, wenn ich xorg.conf habe (was ich für eine benutzerdefinierte Auflösung für meinen Ultrawide-Monitor benötige). Ich bin gezwungen, die fakexrandr-Konfiguration zu löschen, X neu zu starten und fakexrandr neu zu konfigurieren.
JAponte

3

Dies kann in XRandR 1.5 ohne zusätzliche Software erfolgen. Während weder fakexinerama noch FakeXRandR für mich bei Xubuntu gearbeitet haben, hat diese Lösung den Bildschirm endlich in zwei Teile geteilt.

Gehen Sie wie folgt vor, um den Monitor zu teilen:

  1. Betreten Sie xrandrdas Terminal, um den Namen der Ausgabe und die aktuelle Auflösung der Anzeige zu überprüfen, die Sie teilen möchten.
    Auf meinem System war das Ergebnis:

    Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
    HDMI1 disconnected (normal left inverted right x axis y axis)
    HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
       1920x1080     60.00*+  50.00    59.94
       1920x1080i    60.00    50.00    59.94  
       1600x900      60.00  
       1280x1024     75.02    60.02  
       1152x864      75.00  
       1280x720      60.00    50.00    59.94  
       1024x768      75.08    60.00  
       800x600       75.00    60.32  
       720x576       50.00  
       720x576i      50.00
       720x480       60.00    59.94
       720x480i      60.00    59.94
       640x480       75.00    60.00    59.94
       720x400       70.08
    VGA1 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
    

    Wir können sehen, dass mein Monitor an HDMI2 angeschlossen ist und die Auflösung auf 1920x1080 eingestellt ist.

  2. Fügen Sie mit dem xrandr --setmonitorBefehl 2 virtuelle Monitore hinzu, um sicherzustellen, dass sie sich mit Ihrer physischen Anzeige überschneiden und nebeneinander platziert werden. Die Syntax des Befehls lautet (ohne Anführungszeichen):

    xrandr --setmonitor "monitor_name" "width_px"/"width_mm"x"height_px"/"height_mm"+"x_offset_px"+"y_offset_px" "output_name" 
    

    Für mein System war es:

    xrandr --setmonitor HDMI2~1 960/254x1080/286+0+0 HDMI2
    xrandr --setmonitor HDMI2~2 960/255x1080/286+960+0 none
    
  3. Während die oben genannten Einstellungen die virtuellen Monitore auf meinem System bereits konfiguriert haben, wurden die Änderungen erst angewendet, nachdem ich sie ausgeführt habe (es scheint xrandr zu aktualisieren):

    xrandr --fb 1921x1080
    xrandr --fb 1920x1080
    

Um die Änderungen nach dem Neustart beizubehalten, sollten Sie diese Befehle beim Anmelden ausführen. Sie können dies tun, indem Sie die Befehle am Ende Ihrer ~/.profileDatei anhängen .


1
Es ist gut, dass es direkt in xrandr existiert, großartig. Aber es macht nur die linke Seite meines Monitors nutzbar, der rechte Teil zeigt nichts. Und ich bekomme keinen Fehler angezeigt. - Oh, es sieht so aus, als ob Awesome WM die Monitore nicht unterstützt, sondern nur die Ausgänge verwendet. Sie brauchen also auch Unterstützung in der WM.
22.

Oh, egal, awesome unterstützt die Monitore von xrandr, es hat bei mir einfach nicht funktioniert. Aber genial kann das von selbst machen: awesomewm.org/apidoc/classes/screen.html#screen:fake_add
nert

1

Ich bin auf einen Artikel über Omgubuntu gestoßen , der eine ziemlich einfache Möglichkeit bietet , die Windows Snap-Funktionalität in Ubuntu / Gnome über die Compiz- Systemsteuerung nachzuahmen. Mit diesem Windows-Snap habe ich nur einen Breitbild-Desktop, aber die Fenster selbst können problemlos angedockt werden, um einen der beiden Halbbildschirme auszufüllen. (Das ist nicht genau das, wonach ich ursprünglich gesucht habe, aber immer noch ziemlich praktisch.)


1

Ich verwende seit einigen Jahren eine Lösung für genau diese Fragen mit einem Triplehead2Go. Dieses Gerät führt bis zu 3 Monitore zusammen und meldet einen großen Monitor an X.

So teilen Sie diesen riesigen Monitor in xorg.conf in virtuelle Arbeitsbereiche auf:

Section "Device"
    # ... your other settings above
    Option         "TwinViewXineramaInfoOverride" "1280x1024+0+0, 1280x1024+1280+1, 1280x1024+2560+0"
EndSection

Und wenn Sie die neuesten nvidia-Treiber verwenden, stellen diese Treiber ihre eigene xinerama-Erweiterung zur Verfügung, die die obigen Einstellungen zu ignorieren scheint, sodass Sie in diesem Abschnitt Folgendes hinzufügen müssen:

Option         "NoTwinViewXineramaInfo" "true"

0

Ich bin mir ziemlich sicher, dass Sie dies tun können, indem Sie Ihre X-Konfigurationsdatei optimieren, aber ich würde es nicht tun , nur weil ich wahrscheinlich meine Anzeigekonfiguration beschädigen würde. Wenn Sie dies versuchen, seien Sie sehr vorsichtig, sichern Sie die Anzeige der Konfiguration und stellen Sie sicher, dass Sie über eine alternative Anmeldung verfügen, die Sie für den Fall verwenden können, dass Sie die Anzeige reparieren müssen.

Ein Kachel-Fenstermanager wie xmonad oder das Ausführen von compiz zur Steuerung des Öffnens , Schließens und Kachelns von Fenstern könnten Sie zufriedener machen .


0

Funktioniert gut für mich:

Für zwei Monitore (1280 x 1024 + 2048 x 1152) habe ich Folgendes verwendet:

3
0 0 1280 1024
1280 0 1024 1152
2304 0 1024 1152

0

Wenn Sie compiz verwenden, ist das Grid-Plugin möglicherweise eine einfachere und flexiblere Lösung. Sie können es so konfigurieren, dass ein Fenster über die linke / rechte Hälfte des Bildschirms gekachelt wird, wenn Sie es an den Rand ziehen.

Dies ist die Funktion zum Einrasten von Fenstern, die in dem Artikel beschrieben wird, auf den David verweist. Außerdem können Sie Verknüpfungen konfigurieren und festlegen, dass ein Fenster die obere / untere Hälfte oder ein Viertel des Bildschirms einnimmt.

Xinerama verursacht einen beachtlichen Leistungseinbruch (da es X-Aktionen auf allen Xinerama-Bildschirmen repliziert) und funktioniert nicht gut mit zusammengesetzten Fenstermanagern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.