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
Обычно, программы X-клиента используют DISPLAY
переменная среды для знания, который дисплей X-сервера соединиться с. Некоторые программы также принимают параметр командной строки (-display
или что-то подобное), который может использоваться для переопределения DISPLAY
переменная среды.
DISPLAY
будет установлен экспортировать по умолчанию, так как это импортируется оболочкой (это работает в обоихzsh
иdash
для меня без использованияexport
). Но, да, если Вы не можете заставить две версии строки работать, попытайтесь заменитьDISPLAY=:0.0
сexport DISPLAY=:0.0
. – zrajm 19.11.2013, 04:08