Mehrere X-Bildschirme ohne Xinerama

7

Gibt es eine Möglichkeit, Windows in Ubuntu 12.04 zwischen separaten X-Bildschirmen zu verschieben? Bei 3 Monitoren auf 2 GPUs ist die Verwendung von Twinview keine Option. Mit Xinerama kann ich Fenster zwischen alle Monitore ziehen, aber es bedeutet auch, dass ich die gesamte Hardwarebeschleunigung verliere.

Ich erwarte nicht, dass Fenster zwischen die Bildschirme gezogen werden können und zwei Monitore gleichzeitig belegt sind, aber es muss eine Möglichkeit geben, ein Programm zu übertragen, während es ausgeführt wird. Im Moment weiß ich nicht einmal, wie ich auswählen soll, welcher Monitor beim Start verwendet wird.

Irgendwelche Hinweise?

Kalle Elmér
quelle

Antworten:

2

Wenn Sie mehr X - Bildschirme verwenden (dh Sie Displays haben :0.0, :0.1etc), dann ist es nicht möglich , Fenster zwischen ihnen zu bewegen. Windows ist an einen X-Bildschirm gebunden, da die Bildschirme möglicherweise nicht kompatible Pixelformate aufweisen oder die Hardware möglicherweise keine Ressourcen zwischen den Bildschirmen gemeinsam nutzen kann. Xinerama, RandR und TwinView wurden alle entwickelt, um dies zu umgehen, indem mehrere Monitore in einem einzigen logischen Bildschirm zusammengeführt wurden.

Ich weiß, dass Sun in Gnome 2.x Arbeit investiert hat, um sicherzustellen, dass es in dieser Konfiguration gut funktioniert, und dass Anwendungen, die über ein Panel mit einem Bildschirm gestartet werden, dazu führen, dass die Anwendung auf demselben Bildschirm geöffnet wird, aber es ist möglich, dass ein Teil davon seitdem nicht mehr funktioniert dann, wenn Sie Probleme haben.

Einige Anwendungen (wie Nautilus) sollten sofort für mehrere Bildschirme geeignet sein, die meisten werden jedoch nur auf einem einzigen Bildschirm gleichzeitig ausgeführt. Sie können das Starten einer Anwendung auf einem bestimmten X-Bildschirm erzwingen, indem Sie eine benutzerdefinierte Anzeigezeichenfolge übergeben. Um beispielsweise Firefox auf dem zweiten Bildschirm zu starten, können Sie Folgendes ausführen:

firefox --display :0.1

Vielleicht hilft es, ein paar benutzerdefinierte Starter mit solchen Befehlen zu erstellen?

James Henstridge
quelle
Xinerama emuliert eine einzelne logische Anzeige, aber die Fenster werden auf einem Monitor immer noch maximiert. Wie wird das erreicht? Meine primäre GPU kann einen einzelnen Monitor in Hardware emulieren. Wenn ich diese Funktion verwende, kann ich das Problem mit der Fenstermaximierung auf die gleiche Weise beheben?
Kalle Elmér
1
Die Monitorkonfiguration wird X-Clients entweder über die XINERAMAund die RANDRProtokollerweiterungen zur Verfügung gestellt. Der von Ihnen verwendete Fenstermanager verwendet diese Erweiterungen, um zu entscheiden, wie Fenster maximiert werden sollen. Wenn Sie einen Fenstermanager verwenden, der diese Informationen ignoriert, wird wahrscheinlich das Fenster auf allen Monitoren maximiert, die Teil des logischen Bildschirms waren.
James Henstridge
Ich möchte nur die Fenster auf einem Drittel des logischen Monitors maximieren und sie an die physischen Monitore anpassen. Gibt es eine Möglichkeit, die Informationen in diesen Erweiterungen zu ändern, um dieses Verhalten zu erhalten? Ich möchte, dass mein Fenstermanager denkt, ich habe Xinerama mit drei Monitoren aktiviert, obwohl das Betriebssystem nur einen Monitor sehen kann. Die Hardware führt drei Monitore zu einem zusammen.
Kalle Elmér
Ich bin mir nicht sicher ob ich das verstehe. In der Frage sagten Sie, Sie würden ein Multi-Screen-Setup verwenden, das Sie daran hindert, Fenster zwischen Bildschirmen zu überspannen (im Gegensatz zu modernen Xinerama / RandR-Konfigurationen).
James Henstridge
Früher habe ich zwei GPUs verwendet, aber ich habe einige Kabel verschoben, um einen großen Bildschirm zu erhalten. Meine primäre GPU verfügt über diese Funktionalität, aber ich habe sie zuvor nicht verwendet, weil ich wollte, dass Windows auf einem einzelnen Monitor maximiert wird. Als ich feststellte, dass ich keine Fenster zwischen Monitoren verschieben konnte, wechselte ich zurück, was wiederum zu einem Maximierungsproblem führte. Es gibt jedoch eine Option in CompizConfig, mit der ich "Ausgänge" unabhängig von den tatsächlichen Monitoren manuell angeben konnte, und sie funktioniert. Es befindet sich unter "Allgemein" -> "Allgemeine Optionen" -> "Anzeigeeinstellungen". Ich denke, man könnte das "Hardware Xinerama" nennen.
Kalle Elmér