Ich habe 3 Monitore, einen großen und zwei kleine.
Wenn ich starte cssh
, decken die xterm-Fenster alle drei Monitore ab. Das wäre in Ordnung, wenn die xterm
Fenster die Monitorgrenzen nicht überlappen würden. Aber leider bekomme ich im Grunde ein xterm
Fenster, bei dem sich eine Hälfte auf Monitor 1 und die andere Hälfte auf Monitor 2 befindet.
Ich möchte CSSH auf die Verwendung nur eines Monitors beschränken.
Ich verwende einen Fenstermanager und habe versucht, meiner Konfiguration openbox
Folgendes hinzuzufügen :xml
<application title="CSSH: *">
<focus>yes</focus>
<decor>yes</decor>
<position>
<monitor>2</monitor>
</position>
</application>
Mithilfe der XML-Konfiguration kann ich Details wie ändern <decor>
, aber <monitor>2</monitor>
es hat keine Auswirkungen.
Gibt es eine Möglichkeit, anzugeben, cssh
dass nur der Monitor verwendet werden soll 2
?
Antwort1
Ich bin mir nicht sicher, ob/wie das mit der XML-Datei zusammenpasst, aber Sie sollten in der Lage sein, eine .csshrc-Datei in Ihrem Home-Verzeichnis mit einer Mischung aus einigen Konfigurationsoptionen zu verwenden, um das zu erreichen, was Sie brauchen. Aus der Manpage cssh(1) habe ich unterDiese Seite:
screen_reserve_top = 0
screen_reserve_bottom = 60
screen_reserve_left = 0
screen_reserve_right = 0
Number of pixels from the screen side to reserve when calculating screen geometry for tiling.
Setting this to something like 50 will help keep cssh from positioning windows over your window
manager's menu bar if it draws one at that side of the screen.
Wenn Sie also „screen_reserve_right“ auf die Gesamtbreite Ihrer beiden linken Monitore einstellen, sollten die Terminals auf Ihren Monitor ganz rechts beschränkt sein. Wenn Sie „screen_reserve_left“ und „screen_reserve_right“ verwenden, sollten Sie es auf Ihren mittleren Monitor beschränken können, und „screen_reserve_left“ sollte es Ihnen ermöglichen, es auf Ihren Monitor ganz links zu beschränken. Entschuldigen Sie, wenn Sie das schon durchgemacht haben, aber ich dachte, es wäre einen Versuch wert.
Antwort2
Es gibt ein paar Dinge zu überprüfen. Einige sind hier aufgeführt.
Unterstützt Ihr Fenstermanager Multi-Screen?
Sie funktionieren alle auf mehreren Bildschirmen, aber nicht alle unterstützen Multi-Screen-Funktionen, wie z. B. die Maximierung auf nur den aktuellen Bildschirm. (Ich konnte nicht herausfinden, ob Openbox dies unterstützt.)
Einige Programme bestehen darauf, ihren eigenen Standort und ihre eigene Geometrie festzulegen.
X11 verfügt über mehrere Beharrungsstufen, die eine Anwendung verwenden kann. Der Fenstermanager kann sich für jede Stufe entscheiden (alle, einige, keine). Einige Fenstermanager sind konfigurierbar, andere sind pro Anwendung konfigurierbar (weil die meisten Anwendungen gute Werte vorschlagen, andere jedoch nicht).
Ein Beispiel
Ich verwende KDE Plasma. Ich habe es so konfiguriert, wie ich es möchte. Es funktioniert für die meisten Apps. Ich habe dann Overrides für die wenigen Apps eingerichtet, die es brauchen:
- Für einige Apps habe ich unterschiedliche Titelleistenfarben.
- Ignorieren Sie die angeforderte Geometrie zugunsten einer anderen (ich vermute, dass dies von Nutzen sein könnte).
- Für einen anderen auf Desktop x öffnen. Für einen anderen auf Bildschirm y öffnen.
- Überschreiben der Mindestgröße für den Webbrowser (damit ich ihn kleiner machen und Websites problemlos auf kleinen Bildschirmen testen kann).
- Verhinderung von Fokusdiebstahl bei einer weiteren lästigen App, die ständig den Tastaturfokus an sich reißt.
- usw.
Antwort3
Ich habe nicht 3 Monitore unterschiedlicher Größe, sondern 2 identische Monitore und kann das Problem reproduzieren, wenn ich anfordere, so viele Fenster zu öffnen, dass sie nicht auf einen einzigen Monitor passen, zum Beispiel 4:
cssh $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost
Ich habe mit Openbox und Fluxbox herumgespielt, die sich meiner Meinung nach ziemlich ähnlich verhalten sollten, und ich habe herausgefunden, dass in beiden Fällen alle cssh
untergeordneten XTerm-Fenster nur dann auf einem in der Konfiguration des Fenstermanagers angeforderten Monitor platziert werden, wenn die In-App-Kachelung mit folgendem deaktiviert ist -g
:
cssh $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost -g
-g
ist beschrieben in man cssh
:
--tile, -g
Toggle window tiling (overriding the config file).
Sie können die Kachelung in ~/.clusterssh/config dauerhaft deaktivieren:
window_tiling=no
Wenn window_tiling
aktiviert ist (die Standardoption), werden alle Xterm-Fenster für kurze Zeit auf einem angeforderten Monitor angezeigt, aber sie werden sehr schnell neu angeordnet und über die Monitore verteilt. window_tiling
Ich denke, das ist der beabsichtigte Zweck, aber es funktioniert nicht richtig genug, um Monitorgrenzen zu berücksichtigen.