Запустите программу для запуска на определенном дисплее

  • У меня есть два дисплея на моем компьютере, скажем 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 # переменные, установленные командой, являются локальными для этой команды."

https://unix.stackexchange.com/questions/101713/можно ли выбрать, какой-x-display-a-program-instance-should-run-on

Другие вопросы по тегам