У меня есть следующий сценарий:

ПК № 1 под управлением UBUNTU, ПК № 2 под управлением UBUNTU

с ПК № 1 открываю ssh (терминал) на ПК № 2. Я хочу видеть в своем терминале на ПК № 1 вход с обеих клавиатур (№ 1 и № 2) ...

Пожалуйста помоги. PS Я использую скрипт bash ...

2 ответа2

0

Вы должны использовать терминальный мультиплексор, такой как screen или tmux.

Затем вы можете начать сеанс (скажем, вы используете tmux) на ПК № 2:

PC#2 $> tmux

когда вы запускаете ssh с ПК № 1 (с тем же пользователем, с которого вы запустили tmux на ПК № 2!), вы просто присоединяетесь к запущенному сеансу:

ssh@PC#2 $> tmux attach

Теперь и пользователь на ПК № 2, и пользователь на ПК № 1 (подключенный через SSH) совместно используют один и тот же сеанс терминала, и они могут видеть входные и выходные данные друг друга.

Очевидно, что вы можете запустить tmux через ssh и подключиться с ПК # 2. Вы также можете запустить несколько независимых сессий и присоединиться к любому или всем из них.

Я предлагаю вам прочитать ссылки на mangpages, так как screen и tmux довольно мощные и имеют множество применений и настраиваемых параметров.
Например, с обоими (несколько) легко создавать общие сеансы, к которым могут подключаться разные пользователи, поэтому вам не нужно входить в систему с одним и тем же пользователем как на ПК №2, так и через ssh.

0

Я уверен, что есть много разных способов сделать это, но я бы использовал:

создать сеанс tmux на главном ПК № 2; подключиться к ПК №2 через ssh; прикрепить к существующему сеансу tmux.

tmux доступен для каждого дистрибутива, но не установлен по умолчанию, вам придется установить его на ПК №2.

В рамках этого решения я вижу три несколько разных случая:

  1. оба пользователя подключаются к ПК №2 под одним и тем же именем пользователя;

    • пользователь на ПК № 2 открывает tmux с помощью команды tmux
    • пользователь на ПК № 1 подключается через ssh на ПК № 2, используя то же имя пользователя, что и пользователь ПК № 2, и присоединяется к сеансу с помощью команды tmux attach
  2. они подключаются к ПК № 2 с разными именами пользователей, и пользователь может получить доступ к файлам другого пользователя;

    • Пользователь на ПК № 2 создает группу, включающую его собственное имя пользователя и имя пользователя другого пользователя на ПК № 2, например, используя:

    groupadd temporaryGroup

    usermod -a -G temporaryGroup usernameOfHisUser

    usermod -a -G temporaryGroup usernameOfOtherUser

    • пользователь на ПК № 2 открывает tmux с помощью команды tmux -S /tmp/tmux_someKnownName ;
    • Пользователь на ПК №2 передает владение группой /tmp/tmux_someKnownName во вновь созданную группу, например, используя:

    chgrp temporaryGroup /tmp/tmux_someKnownName

    • Пользователь на ПК № 1 подключается через ssh к ПК № 2 и подключается к существующему сеансу tmux, используя:

    tmux -S /tmp/tmux_someKnownName attach

  3. они подключаются к ПК № 2 и не хотят, чтобы другой пользователь использовал свои права.

    • как в первом случае, но создание нового пользователя ad-hoc для этого соединения

Теперь они совместно используют терминал и могут видеть, что набирает в этой консоли другой человек.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .