Запустите программу для запуска на определенном дисплее
- У меня есть два дисплея на моем компьютере, скажем
Display1
&Display2
, Display2
настроен как расширениеDisplay1
,- Быть на
Display1
Я хочу запустить (из эмулятора терминала), приложение сказатьxcalc
, который должен появиться наDisplay2
,
Возможно ли это как-то?
2 ответа
Некоторые программы достаточно умны, чтобы запомнить последнюю позицию окна.
Многие программы, написанные для X Window System, принимают
-geometry
вариант; например,xcalc -geometry +500+750
начнетxcalc
поместив окно на 500 пикселей вправо и 750 пикселей вниз от логического верхнего левого угла (который равен +0+0). Другие программы называют эту опцию--geometry
(обратите внимание на два дефиса). Прочитайте документацию конкретной программы.Другим вариантом является установка
wmctrl
(sudo apt-get install wmctrl
).wmctrl
(Управление оконным менеджером) позволяет отправлять запросы в оконный менеджер для выполнения определенных действий, таких как изменение размера или перемещение окон. Затем вы можете написать небольшой скрипт, который запускает программу, а затем использует wmctrl, чтобы переместить ее туда, где вы хотите, чтобы она появилась.
«Сначала вам нужно выяснить, какое значение DISPLAY установлено в X-сеансе, где вы хотите, чтобы ваша программа запускалась. Сделайте это, введя команду echo $DISPLAY внутри X-терминала в этом X-сеансе. Обычно получается что-то вроде: выводится 0.0.
Допустим, вы хотите запустить превосходную программу xclock в вашем X-сеансе, где DISPLAY равно:0.0, но вы хотите сделать это на консоли. Затем вы нажимаете Alt-Ctrl-F1, чтобы перейти к этой консоли, а затем набираете:
DISPLAY=:0.0 xclock # переменные, установленные командой, являются локальными для этой команды."