Конкретная задача: пользуюсь X через ssh, с разных адресов. Необходимо до запкска bash определить адрес, с которого я подключился, чтобы установить переменную DISPLAY и прописать ее в .bash_profile или .cshrs (облоча значения не имеет). Как это можно сделать?Ситуация вроде проста, но моих знаний не хватает :(.
Try this:if ($?REMOTEHOST) then
setenv DISPLAY ${REMOTEHOST}:0
else
setenv DISPLAY :0
endif
>Try this:
>
> if ($?REMOTEHOST) then
> setenv DISPLAY ${REMOTEHOST}:0
> else
> setenv DISPLAY :0
> endif
Да так пробовал, не получается. Может я что-то не понимаю, но $REMOTEHOST не определена. И вообще,
env | grep my.host.name
мне ничего не выводит.
>>Try this:
>>
>> if ($?REMOTEHOST) then
>> setenv DISPLAY ${REMOTEHOST}:0
>> else
>> setenv DISPLAY :0
>> endif
>
>
>Да так пробовал, не получается. Может я что-то не понимаю, но $REMOTEHOSTименно не понимаешь, выполни env и внимательно посмотри переменные,
если не дойдет, читай документацию по SSH/OpenSSH, ну или:http://unix1.jinr.ru/~lavr/ - там ну все расписано
>не определена. И вообще,
>env | grep my.host.name
>мне ничего не выводит.
ну хорошо. Есть допустим $SSH_CLIENT == "10.0.0.10 1034 257.2.32.11 22" так как быть с тем, чтоя в локалоной подсети со своей адресацией?
>ну хорошо. Есть допустим $SSH_CLIENT == "10.0.0.10 1034 257.2.32.11 22" так как
>быть с тем, чтоя в локалоной подсети со своей адресацией?понял что написал в переменной SSH_CLIENT?
технологические адреса не имеют права выходить наружу, в ином случае
IPSEC или иная замена. Ну и потом, никто не запрещает использовать
SSH на фаейрволе для проброса, если протоколы позволяют.
>Конкретная задача: пользуюсь X через ssh, с разных адресов. Необходимо до запкска
>bash определить адрес, с которого я подключился, чтобы установить переменную DISPLAY
>и прописать ее в .bash_profile или .cshrs (облоча значения не имеет).
>Как это можно сделать?
>
>Ситуация вроде проста, но моих знаний не хватает :(.Воспользоваться штатной возможностью ssh по имени X11-форвардинг (как я писал на ЛОРе) никак нельзя?
Так сейчас етим и пользуюсь. Только при работе с OpenGL все заметно тормозит, хочется чуть быстрее...
>Так сейчас етим и пользуюсь. Только при работе с OpenGL все заметно
>тормозит, хочется чуть быстрее...Еп... ;-) Вы OpenGL через сеть гоняете? Сочувствую.
Да блин, коммерческая софтина, с лицензией на 1 машину.
Но вопрос не в этом: можно ли принципиально узнать, с какого адреса я подключился?
>Конкретная задача: пользуюсь X через ssh, с разных адресов. Необходимо до запкска
>bash определить адрес, с которого я подключился, чтобы установить переменную DISPLAY
>и прописать ее в .bash_profile или .cshrs (облоча значения не имеет).
>Как это можно сделать?
>
>Ситуация вроде проста, но моих знаний не хватает :(.# netstat -a|grep `hostname`'.22'|awk '{print $2}'
У меня на соляре сразу дает адрес клиента ssh вместе с портом, а дальше уж сам (это правда, если sshd у тебя на 22-ом порту сидит)
На солярке может и проходит, но не на фришке, не на линуксе нет.
выдает во-первых hostname.ssh, а не hostname.22 как на солярке, наверное, а во вторых из-за формата вывода обрезает имя компьютера. Штука с netstat -n не прокатывает, т.к. часть компов в подсетке с внутренней адресацией. И потом, если есть подключение сразу с нескольких компов, как узнать таким образом, какое именно к тебе относится?
>На солярке может и проходит, но не на фришке, не на линуксе
>нет.
>выдает во-первых hostname.ssh, а не hostname.22 как на солярке, наверное, а
это не принципиально>во вторых из-за формата вывода обрезает имя компьютера. Штука с netstat -n
>не прокатывает, т.к. часть компов в подсетке с внутренней адресацией. И
>потом, если есть подключение сразу с нескольких компов, как узнать таким
>образом, какое именно к тебе относится?
очень просто - у тебя есть логин, у тебя есть who ! - только если под одним логином с нескольких адресов - тогда проблема