ウェブサイト検索

Wemux を使用して表示およびコラボレーションするために複数の Linux ターミナルをホストする方法


前回の記事では、tmux (ターミナル 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. /usr/local/bin または ` PATH 内の別のディレクトリ内に wemux 実行可能ファイルへのシンボリック リンクを作成します。変数です。

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) 

ここで、user1user2、および user3 は、wemux サーバーの起動を許可されているユーザーです。スペースで区切って必要な数のユーザーを追加できます。他のユーザーは実行中の 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 アタッチ は、既存の wemux サーバーに接続します。
  4. wemux stop は wemux サーバーを強制終了し、以前に作成されたソケットを削除します。このコマンドは別の端末から実行する必要があります。あるいは、組み込みシェル終了を使用してペインを閉じ、最終的に通常のシェル セッションに戻ることもできます。
  5. wemux キック ユーザー名 は、SSH 経由で現在ログオンしているユーザーを wemux サーバーから削除し、その不正なセッションを削除します (これについては後ほど詳しく説明します)。このコマンドを使用するには、wemux サーバーが root またはsudo 権限で起動されている必要があります。
  6. wemux config は、環境変数 $EDITOR で示される設定ファイルをテキスト エディタで開きます (そのような変数がシステムに設定されている場合のみ。エコー $EDITOR で確認できます)。 )。

前にリストしたすべての tmux コマンドは wemux 内で有効であり、クライアントが 3 つのモードのいずれかで wemux サーバーに接続できるという利点があります。 。

これを行うには、下のコマンド列にあるコマンドを、いわば「見込みクライアント」で実行します(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

上の表で概説した 3 つのクライアント モードの簡単なデモンストレーションを次のスクリーンキャストで見てみましょう (同じ順序)。左側のペインで (ユーザー gacanepa として) サーバーを起動し、右側のペインで (ユーザー テストとして) クライアントを接続するために Terminator を使用したことに注意してください。

したがって、1 つのクライアントと対話するときにwemux サーバーがどのように動作するかを簡単に確認できます。クライアントが wemux サーバーに参加するために使用するプロセスを繰り返すことで、複数のクライアントに同時に同じことをさせることができます。

wemux ターミナルのその他の機能

上記の段落ではwemux を試してみる十分な理由が得られなかった場合は、次の機能を理解していただければ幸いです。

wemux サーバーの起動を許可されているユーザー (/usr/local/etc/wemux.conf ファイルの host_list ディレクティブに従って) は、ホストすることができます。 allow_server_change ディレクティブが true に設定されている場合、複数のセッションを同時に実行します。

allow_server_change="true"

laemea という名前の 2 つのセッションを開始するには、2 つの異なる端末で次のコマンドを実行します。

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

繰り返しますが、ターミネーターを使用して 2 つのターミナルを同時に表示します (これは、Ctrl+Alt+F1 を使用して別のコンソールに切り替えることで期待できることと似ています) F7):

Enter を押すと、両方のセッションが別々に開始されます。

次に、クライアントを次のようにしていずれかのセッションに参加させることができます。

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

最後に、リモート ユーザー (SSH 経由で接続) がログオン後に wemux で自動的に起動し、切断時にサーバーから切断されるようにするには、次のスタンザをその ~/.bash_profile ファイルに追加します。

wemux [mode]; exit

[mode] は、前にリストしたクライアント モードの 1 つです。
あるいは、クライアントは以下を使用して、あるサーバーから別のサーバーに切り替えることができます。

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

まとめ

この記事では、wemux を使用して端末のリモート表示 (さらには相互コラボレーション) を非常に簡単に設定する方法を説明しました。 MIT ライセンスの下でリリースされている wemux はオープンソース ソフトウェアであり、ニーズに応じてさらにカスタマイズできます。

ソース コードは wemux Github にあり、システムの /usr/local/bin/wemux で利用できます。同じ Github リポジトリで、このプログラムに関する詳細情報を見つけることができます。

この投稿は役に立ちましたか?以下のフォームを使用して、ご意見をお聞かせください。