Действительно ли возможно выбрать, который X отображают, экземпляр программы должен работать?

Возможно, Вы имеете" (" на dir или имени файла.

9
19.11.2013, 03:44
2 ответа

X программ знают, с которым X сессиями они, как предполагается, говорят путем взгляда на DISPLAY переменная среды.

Сначала необходимо будет узнать что DISPLAY установлен на на X сессиях, где Вы хотите, чтобы Ваша программа работала. Сделайте это путем выдачи команды echo $DISPLAY в X-терминале на тех X сессиях. Обычно получайте что-то как :0.0 производится.

Позволяет говорят, что Вы хотите запустить превосходную программу xclock программа в Ваших X сессиях, где DISPLAY :0.0, но Вы хотите сделать это в консоли. Вы затем нажимаете Alt-Ctrl-F1, чтобы сместиться к той консоли и затем ввести:

DISPLAY=:0.0 xclock   # variables set w/ a command are local to that command

Затем Вы возвращаетесь к X путем нажатия Alt-Ctrl-F7 или Alt-Ctrl-F8 (или возможно некоторый другой ключ F, в зависимости от разновидности Linux) и наблюдаете новый симпатичный wallclock, который Вы имеете там.

На самом деле Вы, возможно, выполнили вышеупомянутую команду в любой оболочке на той же самой машине (через SSH, на любых X сессиях, на любой консоли и т.д.) – то, что Вы указали DISPLAY=:0.0 прежде чем команда означает что xclock окно будет всегда открываться на тех же X сессиях.

На самом деле – кроме того, что X программ смотрят на него – нет ничего специального о DISPLAY переменная. Обычно, когда Вы запускаете программы от X терминалов, они запускают в правильном месте потому что DISPLAY был уже установлен для Вас.

Вместо того, чтобы использовать вышеупомянутую команду, можно также разделить его на два первой установкой DISPLAY, и затем выполнение xclock. В этом случае DISPLAY установка сохранится, пока Вы не закроете ту оболочку, и весь последующий, X программ, запущенных оттуда, откроются на тех же X сессиях как xclock.

                      # variables set w/o a command are local to the shell,
export DISPLAY=:0.0   # unless exported
xclock
14
27.01.2020, 20:05
  • 1
    Обратите внимание, что последний бит не будет работать, если Вы не экспортируете переменную оболочки в среду сначала все же. –  Ignacio Vazquez-Abrams 19.11.2013, 03:49
  • 2
    я думаю DISPLAY будет установлен экспортировать по умолчанию, так как это импортируется оболочкой (это работает в обоих zsh и dash для меня без использования export). Но, да, если Вы не можете заставить две версии строки работать, попытайтесь заменить DISPLAY=:0.0 с export DISPLAY=:0.0. –  zrajm 19.11.2013, 04:08

Обычно, программы X-клиента используют DISPLAY переменная среды для знания, который дисплей X-сервера соединиться с. Некоторые программы также принимают параметр командной строки (-display или что-то подобное), который может использоваться для переопределения DISPLAY переменная среды.

1
27.01.2020, 20:05

Теги

Похожие вопросы