Поиск по сайту:

Как разместить несколько терминалов Linux для просмотра и совместной работы с Wemux


В предыдущей статье мы объяснили, как использовать tmux (Terminal MultipleXer) для доступа и управления несколькими терминалами (или окнами) с одного терминала.

Теперь мы познакомим вас с wemux (многопользовательской версией tmux), которая включает в себя не только функции, предоставляемые tmux, но и позволяет пользователям размещать многотерминальную среду, к которой клиенты могут присоединиться в режиме просмотра или совместной работы.

Другими словами, вы можете организовать сеанс, где другие смогут просматривать то, что вы делаете в терминале (например, для демонстрации), или сотрудничать с ними.

Чтобы помочь вам максимально эффективно использовать wemux, я настоятельно рекомендую вам просмотреть предыдущее руководство по tmux, прежде чем приступить к прочтению настоящей статьи.

Установка и настройка многопользовательского терминала Wemux

В качестве предварительного условия перед установкой wemux мы воспользуемся git для клонирования репозитория проекта в нашей локальной системе. Если следующая команда показывает, что git не найден в вашей системе:

which git 

как указано:

/usr/bin/which: no git in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) 

Прежде чем продолжить, установите его (используйте yum или aptitude в зависимости от вашего дистрибутива):

yum install git       [On RedHat based systems] 
dnf install git       [On Fedora 22+ versions]
aptitude install git  [On Debian based systems]

Затем,

1. Клонируйте удаленный репозиторий.

git clone git://github.com/zolrath/wemux.git /usr/local/share/wemux 

2. Создайте символическую ссылку на исполняемый файл wemux внутри /usr/local/bin или другого каталога в вашем ` PATH. переменная.

ln -s /usr/local/share/wemux/wemux /usr/local/bin/wemux 

3. Скопируйте файл конфигурации примера конфигурации в /usr/local/etc.

cp /usr/local/share/wemux/wemux.conf.example /usr/local/etc/wemux.conf 

И вставьте следующую строку:

host_list=(user1 user2 user3) 

где user1, user2 и user3 — пользователи, которым разрешено запускать серверы wemux. Вы можете добавить столько пользователей, сколько необходимо, разделяя их пробелами. Другие пользователи смогут подключиться к работающему серверу wemux, но не смогут его запустить.

Представляем многопользовательский терминал wemux

Чтобы упростить задачу, имейте в виду, что wemux можно рассматривать как инструмент, который облегчает просмотр консоли и совместную работу в одном и том же сеансе tmux.

Как объяснялось ранее, в файле конфигурации (/usr/local/etc/wemux.conf) вы уже должны указать, каким пользователям будет разрешено запускать сервер wemux. или, другими словами, сеанс tmux, к которому смогут подключиться другие пользователи. В этом контексте эти «пользователи» называются клиентами.

Обобщить:

  1. Сервер Wemux: сеанс tmux.
  2. Клиенты Wemux: пользователи, присоединяющиеся к сеансу tmux, описанному выше.

Это команды, которые используются для управления серверами wemux:

  1. wemux или wemux start: запускает новый сервер wemux (если его нет; в противном случае создается новый) и создается сокет в /tmp/wemux-wemux, для которого необходимо установить права доступа 1777, чтобы другие пользователи могли подключиться к нему:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. wemux Attach подключает вас к существующему серверу wemux.
  4. wemux stop убивает сервер wemux и удаляет созданный ранее сокет. Эту команду необходимо выполнить из отдельного терминала. Альтернативно вы можете использовать встроенную функцию оболочки выхода, чтобы закрыть панели и, в конечном итоге, вернуться к обычному сеансу оболочки.
  5. имя пользователя wemux Kick избавляется от пользователя, вошедшего в систему через SSH с сервера wemux, и удаляет его/ее мошеннические сеансы (подробнее об этом через минуту). Для этой команды требуется, чтобы сервер wemux был запущен от имени пользователя root или с привилегиями sudo.
  6. wemux config открывает файл конфигурации в текстовом редакторе, указанном переменной среды $EDITOR (только если такая переменная настроена в вашей системе, что вы можете проверить с помощью echo $EDITOR) ).

Все перечисленные ранее команды tmux действительны в пределах wemux, с тем преимуществом, что клиент может подключиться к серверу wemux в одном из трех режимов. .

Для этого выполните команду, указанную в столбце COMMAND ниже, так сказать, на «потенциальном клиенте» (он станет реальным клиентом, как только присоединится к wemux). сервер):

Mode Description Commands
Mirror Read-only, non-interactive wemux mirror
Pair Interactive, client shares cursor with the server wemux pair
Rogue Joins an existing session but allows the client to uses independent windows wemux rogue

Давайте посмотрим на следующий скринкаст для краткой демонстрации трех клиентских режимов, описанных в таблице выше (в том же порядке). Обратите внимание, что я использовал Терминатор, чтобы запустить сервер (как пользователь gacanepa) на левой панели и подключить клиент (как пользовательский тест) на правой панели.

Таким образом, вы легко сможете увидеть, как работает сервер wemux при взаимодействии с одним клиентом. Повторяя процесс, который используется клиентом для присоединения к серверу wemux, вы можете заставить несколько клиентов делать то же самое одновременно.

Другие особенности терминала wemux

Если приведенные выше абзацы не дали вам достаточно причин попробовать wemux, мы надеемся, что следующие функции вас убедят.

Пользователи, которым разрешено запускать серверы wemux (в соответствии с директивой host_list в файле /usr/local/etc/wemux.conf), могут размещать несколько сеансов одновременно, если для директивы allow_server_change установлено значение true:

allow_server_change="true"

Чтобы запустить два сеанса с именами la и emea, выполните следующие команды в двух разных терминалах:

wemux join la && wemux start
wemux join emea && wemux start

Опять же, мы будем использовать Терминатор для одновременного просмотра двух терминалов (это похоже на то, что вы могли бы ожидать, переключаясь на разные консоли с помощью Ctrl+Alt+F1 через F7):

После нажатия Ввод оба сеанса запускаются отдельно:

Затем вы можете попросить клиента присоединиться к любому сеансу с помощью:

wemux join la && wemux attach
Or
wemux join emea && wemux attach

Наконец, чтобы удаленный пользователь (подключающийся через SSH) автоматически запускал wemux после входа в систему и отключал его от сервера при отсоединении, добавьте следующий раздел в его файл ~/.bash_profile:

wemux [mode]; exit

где [mode] — один из режимов клиента, перечисленных ранее.
Альтернативно, клиент может переключиться с одного сервера на другой, используя:

exit
wemux join [server name here] && wemux [mode]

Краткое содержание

В этой статье мы объяснили, как с помощью wemux очень легко настроить удаленный просмотр вашего терминала (и даже взаимное сотрудничество). Wemux, выпущенный под лицензией MIT, представляет собой программное обеспечение с открытым исходным кодом, и вы можете дополнительно настроить его в соответствии со своими потребностями.

Исходный код wemux находится на Github и доступен в вашей системе в /usr/local/bin/wemux. В том же репозитории Github вы можете найти дополнительную информацию об этой программе.

Вы нашли этот пост полезным? Пожалуйста, дайте нам знать, что вы думаете, используя форму ниже.