Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: как закрыть ssh сессию?  (Прочитано 23398 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
как закрыть ssh сессию?
« : 07 Июня 2012, 00:42:49 »
Подключаюсь к удаленной машине Ubuntu 12.04 по ssh -X
Если работаю с консольными утилитами, команда exit закрывает текущий сеанс.
Стоит вызвать любую графическую программу, например, gedit, и сессия не закрывается.
Висит на экране

$ gedit
$ exit
выход

Реагирует только на Ctrl+C.

Помогите разобраться, в чем проблема. В старой LTS такой проблемы не было.

Оффлайн MEXAHOTABOP

  • Активист
  • *
  • Сообщений: 902
    • Просмотр профиля
Re: как закрыть ssh сессию?
« Ответ #1 : 07 Июня 2012, 00:47:01 »
а если killall gedit?
http://fonline.ru/ заходите

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Re: как закрыть ssh сессию?
« Ответ #2 : 08 Июня 2012, 10:26:12 »
Столь радикальный подход к вырубанию всех редакторов - это не метод.
Похоже, надо пробовать метод  OpenSSH FAQ, 3.10 - Hangs when exiting ssh

Оффлайн svFits

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: как закрыть ssh сессию?
« Ответ #3 : 08 Июня 2012, 11:27:51 »
может после команды указывать & например gedit&

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Re: как закрыть ssh сессию?
« Ответ #4 : 09 Июня 2012, 00:17:52 »
Пробовал поставить в /etc/bash.bashrc строку "shopt -s huponexit". В данном случае не помогает.

Пробовал второй рецепт

$ gedit < /dev/null > /dev/null 2>&1
$ exit

Дальше, ssh сессия висит, пока не прерву ее по Ctrl+C.


Пробовал и символ &. Не понятно, зачем?
Этот символ, обычно, нужен для запуска программы в фоне.

alexey@alexeynb:~$ gedit&
[1] 3236
alexey@alexeynb:~$ exit
выход
[1]+  Готово            gedit

Дальше, ssh сессия висит, пока не прерву ее по Ctrl+C.

На машине alexeynb запущен менеджер процессов. Видно, как появляется gedit и исчезает при закрытии редактора.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: как закрыть ssh сессию?
« Ответ #5 : 09 Июня 2012, 00:24:00 »
(Нажмите, чтобы показать/скрыть)
Wars ~.o

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Re: как закрыть ssh сессию?
« Ответ #6 : 09 Июня 2012, 10:30:44 »
alexey@alexeynb:~$ kill 3236
Не, не поможет.
На удаленной машине, в настройках bash прописана строка
shopt -s huponexit
  • открыл редактор в ssh сесси;
  • на удаленной (соседней) машине запустил top и нашел данный процесс;
  • закрыл редактор в ssh сессии;
  • на удаленной (соседней) машине процесс из top исчез;
  • в сессии ssh даю команду exit
Сессия не закрывается.

Команда "shopt -s huponexit" говорит Bash Shell, что при выходе из Shell, надо послать HUD всем запущенным процессам из данного сеанса. Это равнозначно тому, что вы запомните PID запущенного процесса и вызовите kill PID.

Полазил еще чуточку по интернет, нашел https://bugs.launchpad.net/ubuntu/+bug/144638.
Буду вечером пробовать.
« Последнее редактирование: 09 Июня 2012, 11:07:08 от Alexey-S »

 

Страница сгенерирована за 0.023 секунд. Запросов: 22.