Определить название сокета $DISPLAY на OS X 10.6?

Я надеюсь делать что-то, что это немного нечетно. Я - 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 будет, вошло в систему терминала как тот же пользователь.

0
задан 22.12.2010, 23:54

1 ответ

Я не уверен, является ли это лучшим ответом (собирающийся ожидать несколько дней для установки флага его!), но кажется обещанием:

Во-первых, сделайте сценарий на $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

и успех.

Кажется, продолжает работать через перезагрузки. Я довольно доволен им.

0
ответ дан 27.11.2019, 18:41

Теги

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