У меня три монитора: один большой и два маленьких.
Когда я запускаю cssh
, окна xterm покрывают все 3 монитора. Это было бы нормально, если бы xterm
окна не перекрывали границы мониторов. Но, к сожалению, то, что я получаю, это по сути xterm
окно, где одна половина находится на мониторе 1, а другая половина на мониторе 2.
Я хотел бы ограничить cssh использованием только одного монитора.
Я использую openbox
оконный менеджер и попробовал добавить в свою xml
конфигурацию следующее:
<application title="CSSH: *">
<focus>yes</focus>
<decor>yes</decor>
<position>
<monitor>2</monitor>
</position>
</application>
Используя XML-конфигурацию, я могу изменить такие данные, как <decor>
, но <monitor>2</monitor>
это не имеет никакого эффекта.
Есть ли способ cssh
использовать только монитор 2
?
решение1
не уверен, как это согласуется с XML-файлом, но вы должны иметь возможность использовать файл .csshrc в вашем домашнем каталоге с некоторыми параметрами конфигурации, чтобы добиться того, что вам нужно. Из страницы руководства cssh(1), которую я нашел наэтот сайт:
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.
Итак, если вы установите "screen_reserve_right" на объединенную ширину ваших двух левых мониторов, терминалы должны быть ограничены вашим самым правым монитором. Если вы используете "screen_reserve_left" и "screen_reserve_right", вы должны иметь возможность отнести его к вашему центральному монитору, а "screen_reserve_left" должен позволить вам отнести его к вашему самому левому монитору. Извините, если вы уже это проходили, но я подумал, что это может стоить того.
решение2
Есть несколько вещей, которые нужно проверить. Некоторые из них перечислены здесь.
Поддерживает ли ваш оконный менеджер многоэкранный режим?
Все они работают на нескольких экранах, но не все поддерживают функции многоэкранного режима, такие как разворачивание только на текущем экране. (Я не смог выяснить, поддерживает ли Openbox эту функцию).
Некоторые программы будут настаивать на установке собственного местоположения и геометрии.
X11 имеет несколько уровней настойчивости, которые может использовать приложение. Менеджер окон может выбрать соблюдение на любом уровне (все, некоторые, ни один). Некоторые менеджеры окон настраиваются, некоторые настраиваются для каждого приложения (потому что большинство приложений предлагают хорошие значения, а некоторые — нет).
Пример
Я использую KDE Plasma. Я настроил его так, как мне нравится. Он работает для большинства приложений. Затем я установил переопределения для нескольких приложений, которым он нужен:
- У меня разные цвета заголовков для некоторых приложений.
- Игнорировать запрошенную геометрию для другой (подозреваю, это может быть полезно).
- Открыть на рабочем столе x для другого. Открыть на экране y для другого.
- Переопределение минимального размера для веб-браузера (чтобы я мог уменьшить его и легко тестировать веб-сайты на маленьком экране).
- Предотвращение кражи фокуса на еще одном неприятном приложении, которое постоянно захватывает фокус клавиатуры.
- и т. д.
решение3
У меня не три монитора разных размеров, а два одинаковых, и я могу воспроизвести проблему, когда прошу открыть столько окон, что они не помещаются на одном мониторе, например, 4:
cssh $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost
Я поигрался с Openbox и Fluxbox, которые, по моему мнению, должны вести себя примерно одинаково, и выяснил, что в обоих случаях все cssh
дочерние окна xterm размещаются на мониторе, запрошенном в конфигурации оконного менеджера, только когда мозаика в приложении отключена с помощью -g
:
cssh $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost $(whoami)@localhost -g
-g
описано в man cssh
:
--tile, -g
Toggle window tiling (overriding the config file).
Вы можете навсегда отключить тайлинг в ~/.clusterssh/config:
window_tiling=no
Если window_tiling
включено, что является опцией по умолчанию, вы можете видеть все окна xterm, отображаемые на запрошенном мониторе некоторое время, но они очень быстро перестраиваются и распределяются по мониторам. Это то, что window_tiling
должно делать, я думаю, но это работает недостаточно правильно, чтобы заботиться о границах мониторов.