LINUX.ORG.RU

Как подключиться к уже запущенному терминалу по ssh?


0

0

На удаленном компе программа в терминале остановилась и ждет ответа пользьзователя.

Можно ли к ней издалека подсоединиться по ssh, прочитать вывод, ответить и продолжить её?

Если да, то как?

Для индексации поисковиками: How to connect to the terminal program that is already running on remote computer and waiting answers from user to continue? I have ssh access.


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

Спасибо, а можно поподробнее?

Насколько я вас понял, нужно через ssh запустить screen на удаленном компе и как-то передать ему параметры запущенной программы.

Какие именно? Она под xterm-ом стартовала.

Увидит ли screen уже отображенный вывод? Или же будет показывать только вновь появляющиеся строки? Неизвестно на что конкретно она ругается.

Вроде пишут что программа должна быть изначально запущена из-под screen, чтобы multiplexe a physical terminal

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

да, программа изначально должна быть запущена из-под screen.
Тогда удалённо подключившийся по ssh пользователь сможет с этой программой.

Удалённый пользователь должен выполнить команды: screen -ls, screen -d, screen -r.

Сам я screen почти не использовал, поэтому могу ошибаться…

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

>>да, программа изначально должна быть запущена из-под screen.

Жаль, тогда это не мой случай. Придется искать хаки поглубже.

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

>>x11vnc на удаленном компе и vncviewer на твоем компе

Точно, это выход, для видовых машин я его вовсю использую, только вот для консольного терминала вроде оверхед? Там же текстовые данные, а она снимки экрана гребет...

Хочется по-правильному, наверняка это как-то задумывалось изначально.

ps хоть уже и не актуально, но может повториться, посему надеюсь докопаться до истины.

pps ;)

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

wiki

An X client cannot generally be detached from one server and reattached to another, as with Virtual Network Computing (VNC), though certain specific applications and toolkits are able to provide this facility.

Ага, значит, по крайней мере чисто через X-ы этого сделать не удастся.

Хотя, казалось бы, именно здесь должна проявить себя их хваленая клиент-серверность, за громоздкость которой их часто ругают.

А тут, оказывается, клиентская программа даже не может совершить простейшую операцию — на ходу подключиться к другому X-серверу!

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

А тут юникс вей :D Хочешь сессионность - поставь X-proxy. Как в nx сервере :]

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

тебе сказали - есть x11vnc.

а ещё оказывается, что клиентская программа - не телепат.

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

> но может повториться,

И тут снова, в полный рост, встаёт вопрос «man screen»

hint1: .bashrc

hint2: $TERM $STY

hint3: screen -dR

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

Screen очень простая штука.

На машине к которой будешь коннектиться сделай конфиг у юзера под которым по ссш логинишься

cat ~/.screenrc
nethack on
defscrollback 10000
hardstatus on
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m/%d %{W}%c %{g}]'
startup_message off
screen 0
vbell on

теперь когда приконнектился по ссш сделай

screen -S test потом нажми ctrl+a d отключился от сеанса. что бы присоеденитсья снова:

screen -x test

вот и все, дальше читать маны.

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

>>что мешает изначально запускать программу в screen?

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

Пока такого трюка не обнаружилось, и все предложенные варианты требуют screen, хотя они тоже полезны и мегареспекты всем за участие.

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

> через какие-нибудь маниупляции с PID-ами и перенаправлениями потоков
ищите в /proc/$pid/*, там, ЕМНИП, что-то такое было

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

самый простой способ — использовать GNU Screen.

Кроме screen ещё есть tmux, dtach и возможно другие тулзы с нужной автору темы функциональностью.

Deleted
()
Ответ на: комментарий от MikeDM

> echo «screen -x BLABLA» >> ~/.bashrc

Ну там не всё так просто, при вызове шелла уже из скрина (sudo или из другого скрина на другой машине) это может дат неприятные эфекты. Так-же, неплохо отдетачить при соединении остальные скрины.

sin_a ★★★★★
()

>Можно ли к ней издалека подсоединиться по ssh, ответить и продолжить её?
Да. echo 'ответ'>/dev/pts/<какой-там-pts-у-неё>

прочитать вывод

Не знаю. screen тут уже советовали.

x3al ★★★★★
()

Топикстарет, открой для себя ttysnoop - прога в которую можно завернуть терминал(чистую консоль - точно, xterm - не проверял). Если ты гентушник - посмотри на багзилле, там есть ебилды. Называется кажется ttysnoop_k26

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

s/Топикстарет/Топикстартер

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