Я надеюсь делать что-то, что это немного нечетно. Я - SSH'ing от сервера до клиента Snow Leopard для запуска процесса дисплея данных X11. Другими словами, передача X11 SSH не то, что я хочу.
Я могу сделать:
client$ echo $DISPLAY
/tmp/launch-SOMETHING/org.x:0
client$ ls -l $DISPLAY
srwx------ 1 myuser wheel 0 Dec 9 15:47 /tmp/launch-SOMETHING/org.x:0
И, когда я делаю:
server$ ssh myuser@client
client$ export DISPLAY=/tmp/launch-SOMETHING/org.x:0
client$ xterm
Я счастливо получаю свой xterm.
То, в чем я нуждаюсь, затем, является некоторым способом узнать правильное значение за $DISPLAY на моей ssh сессии. Из того, что я читал, $DISPLAY установлен launchd, но я не нашел способа видеть то значение.
Если это имеет значение, я знаю, что то, когда мои подключения процесса от $server до $client, $client будет, вошло в систему терминала как тот же пользователь.
Я не уверен, является ли это лучшим ответом (собирающийся ожидать несколько дней для установки флага его!), но кажется обещанием:
Во-первых, сделайте сценарий на $client, скажем, save_display.sh:
#!/bin/bash
echo $DISPLAY > /path/to/saved_disp
Затем, сделайте LaunchAgent .plist для него, сохраните его в ~/Library/LaunchAgents. Имейте его, запускаются с интервала 60 секунд или чего-то.
Наконец, загрузите его на сессии Воды:
launchctl загружают-S Воду ~/Library/LaunchAgents/my.display.saver.plist
Если Вы просто будете загружать его обычно, то $DISPLAY не будет установлен, и Ваш файл будет пуст.
Затем
server$ ssh myuser@client
client$ export DISPLAY=`cat /path/to/saved_disp`
client$ xterm
и успех.
Кажется, продолжает работать через перезагрузки. Я довольно доволен им.