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


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

# 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 server: a tmux session.
  2. Wemux clients: users joining the tmux session described above.

これらは、wemuxサーバーを管理するために使用されるコマンドです。

  1. wemux or wemux start: starts a new wemux server (if none exists; otherwise creates a new one) and creates a socket in /tmp/wemux-wemux whose permissions need to be set to 1777 so that other users may connect or attach to it:
  2. # chmod 1777 /tmp/wemux-wemux 
    
  3. wemux attach hooks you up to an existing wemux server.
  4. wemux stop kills the wemux server and removes the socket created earlier. This command needs to be executed from a separate terminal. Alternatively, you can use the exit shell builtin to close panes and eventually to return to your regular shell session.
  5. wemux kick username gets rid of the user currently logged on via SSH from the wemux server and removes his / her rogue sessions (more on this in a minute). This command requires that the wemux server has been started as root or with sudo privileges.
  6. wemux config opens the configuration file in the text editor indicated by the environment variable $EDITOR (only if such variable is configured in your system, which you can verify with echo $EDITOR).

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

これを行うには、下のCOMMAND列にあるコマンドを「見込みクライアント」で実行します(いわば、wemuxサーバーに参加すると実際のクライアントになります)。

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

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

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

上記の段落でwemuxを試してみるのに十分な理由が得られなかった場合は、次の機能で納得できることを願っています。

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

allow_server_change="true"

laとemeaという名前の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

または、クライアントは次の方法を使用して、あるサーバーから別のサーバーに切り替えることができます。

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

概要

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

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

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

参照:https://github.com/zolrath/wemux