LINUX.ORG.RU

[Shell] Как проверить является данная сессия локальной или удаленной

 


0

0

SUBJ.

Немного поясню. Имеется скрипт удаляющий файлы .serverauth.* оставшиеся в случае некорректного выхода из иксов. Он выполняется при логине (находится в .zlogin), при удаленном логине (через ssh) он ясен пень тоже выполняется, что совсем не нужно (на удаленной машине в этот момент могут успешно работать иксы). Соответственно нужна проверка условия описанного в заголовке, но весь вопрос в том какую переменную дергать или какая программа может выдать подобные сведения?

★★★★★

Ответ на: комментарий от tensai_cirno

Нет конечно, но в выводе ls -a они мозолят глаза.

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от Komintern

А сессия screen локальная или удаленная?
А сессия telnet?
А rlogin?
А из xterm?
А если xterm отображается не на локальный, а "удаленный" X-сервер?
А если это "удаленный" X-сервер Xnest на локальном X-сервере?
А если это локальный xterm, но через localhost:0.0 а не через :0.0?
А если это результат ssh localhost с локальной консоли?
А если то же самое, но от юзера зашедшего через ssh?

:-)

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

>А сессия screen локальная или удаленная?...

Критиковать все могут, а посоветовать что нибудь дельное?

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от ef37

>а вывод w распарсить ?

А чего именно там парсить? Вот в локальной сессии

nkt@madness ~ % w
 18:59:48 up 13 days, 22:15,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
nkt      tty1      14May09  2days 44:00   0.00s /bin/sh /usr/bin/startx

А вот в удаленной

nkt@skynet ~ % w     
 18:59:58 up 4 days,  4:20,  2 users,  load average: 0.04, 0.04, 0.00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
nkt      tty1      Sun14    4days  2:38m  0.00s /bin/sh /usr/bin/startx
nkt      pts/5     18:58    0.00s  0.09s  0.00s w

В чем принципиальная разница?

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от fat_angel

> В чем принципиальная разница?

В ДНК? Если Вам нужно, чтобы нечто выполнялось только при X-овом входе, но не при любом другом, то ответ понятен даже ребенку - это нечто должно быть вписано в xinit, оно же /etc/X11/xinit

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Вообщето изначально задача ставилась более общая - как отличить локальную сессию от удаленной, просто применить пример был узкоспециализирован.

fat_angel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.