Cara Menghosting Beberapa Terminal Linux untuk Melihat dan Berkolaborasi dengan Wemux


Pada artikel sebelumnya, kami telah menjelaskan cara menggunakan tmux, (Terminal MUltipleXer), untuk mengakses dan mengontrol sejumlah terminal (atau windows) dari satu terminal.

Sekarang kami akan memperkenalkan Anda pada wemux (versi multi-pengguna dari tmux), yang tidak hanya mencakup fitur-fitur yang disediakan oleh tmux, tetapi juga memungkinkan pengguna untuk meng-host lingkungan multi-terminal di mana klien dapat bergabung dalam mode melihat atau kolaboratif.

Dengan kata lain, Anda dapat menyelenggarakan sesi di mana orang lain dapat melihat apa yang Anda lakukan di terminal (misalnya untuk melakukan demonstrasi), atau berkolaborasi dengan mereka.

Untuk membantu Anda mendapatkan hasil maksimal dari wemux, saya sangat menyarankan Anda melihat panduan sebelumnya tentang tmux sebelum membaca artikel ini.

Memasang dan Mengonfigurasi Terminal Multi-Pengguna Wemux

Sebagai prasyarat sebelum menginstal wemux, kita akan menggunakan git untuk mengkloning repositori proyek di sistem lokal kita. Jika perintah berikut menunjukkan bahwa git tidak ditemukan di sistem Anda:

which git 

seperti yang ditunjukkan oleh:

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

Instal sebelum melanjutkan (gunakan yum atau aptitude tergantung pada distribusi Anda):

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

Kemudian,

1. Mengkloning repositori jarak jauh.

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

2. Buat tautan simbolik ke wemux yang dapat dieksekusi di dalam /usr/local/bin atau direktori lain di ` PATH Anda variabel .

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

3. Salin file konfigurasi contoh konfigurasi ke /usr/local/etc.

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

Dan masukkan baris berikut:

host_list=(user1 user2 user3) 

di mana pengguna1, pengguna2, dan pengguna3 adalah pengguna yang diizinkan untuk memulai server wemux. Anda dapat menambahkan pengguna sebanyak yang diperlukan dengan dipisahkan oleh spasi. Pengguna lain akan dapat terhubung ke server wemux yang sedang berjalan tetapi tidak akan diizinkan untuk memulainya.

Memperkenalkan Terminal Multi-Pengguna wemux

Untuk mempermudah, perlu diingat bahwa Anda dapat menganggap wemux sebagai alat yang memfasilitasi tampilan konsol dan kolaborasi bersama pada sesi tmux yang sama.

Seperti yang dijelaskan sebelumnya, dalam file konfigurasi (/usr/local/etc/wemux.conf), Anda harus sudah menunjukkan pengguna mana yang akan diizinkan untuk memulai server wemux , atau dengan kata lain, sesi tmux yang dapat dilampirkan oleh pengguna lain. Dalam konteks ini, “pengguna” ini disebut klien.

Untuk meringkas:

  1. Server Wemux: sesi tmux.
  2. Klien Wemux: pengguna yang bergabung dengan sesi tmux yang dijelaskan di atas.

Ini adalah perintah yang digunakan untuk mengelola server wemux:

  1. wemux atau wemux start: memulai server wemux baru (jika tidak ada; jika tidak, buat server baru) dan buat soket di /tmp/wemux-wemux yang izinnya perlu disetel ke 1777 agar pengguna lain dapat terhubung atau melampirkannya:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. wemux attachment menghubungkan Anda ke server wemux yang ada.
  4. wemux stop mematikan server wemux dan menghapus soket yang dibuat sebelumnya. Perintah ini perlu dijalankan dari terminal terpisah. Alternatifnya, Anda dapat menggunakan shell keluar yang ada di dalamnya untuk menutup panel dan pada akhirnya kembali ke sesi shell reguler Anda.
  5. nama pengguna wemux kick menghapus pengguna yang saat ini masuk melalui SSH dari server wemux dan menghapus sesi jahatnya (lebih lanjut tentang ini sebentar lagi). Perintah ini mengharuskan server wemux telah dimulai sebagai root atau dengan hak istimewa sudo.
  6. wemux config membuka file konfigurasi di editor teks yang ditunjukkan oleh variabel lingkungan $EDITOR (hanya jika variabel tersebut dikonfigurasi di sistem Anda, yang dapat Anda verifikasi dengan echo $EDITOR ).

Semua perintah tmux yang tercantum sebelumnya valid dalam wemux, dengan keuntungan bahwa klien dapat terhubung ke server wemux dalam salah satu dari tiga mode .

Untuk melakukannya, jalankan perintah yang terdapat pada kolom COMMAND di bawah ini pada “calon klien”, bisa dikatakan (itu akan menjadi klien sebenarnya setelah bergabung dengan wemux pelayan):

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

Mari kita lihat screencast berikut untuk demonstrasi singkat dari tiga mode klien yang diuraikan dalam tabel di atas (urutan yang sama). Harap dicatat bahwa saya menggunakan Terminator untuk memulai server (sebagai pengguna gacanepa) di panel kiri dan menghubungkan klien (sebagai pengujian pengguna) di panel kanan.

Dengan demikian, Anda dapat dengan mudah melihat cara kerja server wemux saat berinteraksi dengan satu klien. Dengan mengulangi proses yang digunakan oleh klien untuk bergabung dengan server wemux, Anda dapat membuat beberapa klien melakukan hal yang sama secara bersamaan.

Fitur Lain dari Terminal wemux

Jika paragraf di atas tidak memberi Anda cukup alasan untuk mencoba wemux, semoga fitur berikut dapat meyakinkan Anda.

Pengguna yang diizinkan untuk memulai server wemux (sesuai dengan arahan host_list dalam file /usr/local/etc/wemux.conf) dapat menghosting beberapa sesi secara bersamaan jika direktif allow_server_change disetel ke true:

allow_server_change="true"

Untuk memulai dua sesi bernama la dan emea, jalankan perintah berikut di dua terminal berbeda:

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

Sekali lagi, kita akan menggunakan Terminator untuk melihat dua terminal secara bersamaan (ini mirip dengan apa yang dapat Anda harapkan dengan beralih ke konsol berbeda dengan Ctrl+Alt+F1 melalui F7):

Setelah Anda menekan Enter, kedua sesi dimulai secara terpisah:

Kemudian Anda dapat meminta klien bergabung dengan sesi mana pun dengan:

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

Terakhir, agar pengguna jarak jauh (terhubung melalui SSH) memulai secara otomatis di wemux setelah logon dan memutuskan koneksi mereka dari server ketika mereka terlepas, tambahkan bait berikut ke file ~/.bash_profile:

wemux [mode]; exit

dimana [mode] adalah salah satu mode klien yang tercantum sebelumnya.
Alternatifnya, klien dapat berpindah dari satu server ke server lainnya menggunakan:

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

Ringkasan

Dalam artikel ini kami telah menjelaskan cara menggunakan wemux untuk mengatur tampilan jarak jauh terminal Anda (dan bahkan kolaborasi timbal balik) dengan sangat mudah. Dirilis di bawah lisensi MIT, wemux adalah perangkat lunak sumber terbuka dan Anda dapat menyesuaikannya lebih lanjut sesuai kebutuhan Anda.

Kode sumber ditemukan di wemux Github dan tersedia di sistem Anda di /usr/local/bin/wemux. Di repositori Github yang sama Anda dapat menemukan informasi lebih lanjut tentang program ini.

Apakah menurut Anda postingan ini bermanfaat? Silakan beritahu kami pendapat Anda menggunakan formulir di bawah ini.