tmux dan GNU Screen adalah utilitas terkenal yang memungkinkan multiplexing konsol virtual. Menggunakan keduanya, dimungkinkan untuk memulai sesi, melepaskan, pindah ke mesin lain dan melanjutkan sesi dalam kemajuan tanpa gangguan. Alat ini juga dapat digunakan untuk berbagi satu sesi antara lebih dari satu pengguna secara bersamaan.
Berbagi Sesi Terminal Dasar Dengan Satu Akun
Jika akun dipegang bersama antara dua atau lebih pengguna, maka berbagi konsol terminal sangat sederhana. Baik tmux maupun layar tidak memerlukan sesuatu yang luar biasa untuk berbagi dasar antara satu akun yang masuk beberapa kali. Berbagi dasar sangat mudah jika Anda berdua masuk sebagai pengguna yang sama.
Berbagi dasar dengan layar
Dalam satu terminal buat sesi baru untuk layar, di mana foobar adalah nama sesi layar Anda:
screen -S foobar
Kemudian di terminal lain, lampirkan ke sesi itu.
screen -x foobar
Itu saja, hanya ada dua langkah.
Berbagi dasar dengan tmux
Sekali lagi, hanya ada dua langkah. Di terminal pertama, mulai tmux di mana berbagi adalah nama sesi:
tmux new-session -s shared
Kemudian di terminal kedua lampirkan ke sesi bersama.
tmux attach-session -t shared
Itu dia.
Berbagi Sesi Terminal Antara Dua Akun Berbeda
Berbagi antara dua akun yang berbeda memerlukan beberapa langkah tambahan untuk memberikan hak istimewa yang diperlukan untuk satu akun untuk mengakses sesi lain. Dalam beberapa kasus, diperlukan bantuan dari administrator sistem untuk menyiapkan penyiapan.
Berbagi antara dua akun yang berbeda dengan tmux
Untuk pengguna yang berbeda, Anda harus mengatur izin pada soket tmux sehingga kedua pengguna dapat membaca dan menulisnya. Hanya ada satu prasyarat, bahwa ada grup yang sama di antara dua pengguna. Jika grup seperti itu tidak ada, Anda perlu membuatnya.
Di terminal pertama, mulai tmux di mana berbagi adalah nama sesi dan berbagi adalah nama soket:
tmux -S /tmp/shareds new -s shared
Kemudian chgrp soket ke grup yang sama-sama dimiliki kedua pengguna. Dalam contoh ini, gabungan adalah grup yang dibagikan oleh kedua pengguna. Jika ada pengguna lain dalam grup, maka mereka juga memiliki akses. Jadi mungkin disarankan agar grup hanya memiliki dua anggota.
chgrp joint /tmp/shareds
Di terminal kedua, pasang menggunakan soket dan sesi itu.
tmux -S /tmp/shareds attach -t shared
Itu dia. Sesi dapat dibuat hanya-baca untuk pengguna kedua, tetapi hanya atas dasar sukarela. Keputusan untuk bekerja hanya-baca dibuat saat pengguna kedua terhubung ke sesi.
tmux -S /tmp/shareds attach -t shared -r
Berbagi antara dua akun yang berbeda dengan layar
Jika Anda masuk sebagai dua pengguna yang berbeda, ada tiga prasyarat untuk menggunakan layar. Pertama, layar harus disetel SUID dan perlu untuk menghapus akses tulis grup dari /var/run/screen. Keamanan menggunakan SUID dalam konteks ini adalah sesuatu yang perlu dipertimbangkan. Maka Anda harus menggunakan ACL layar untuk memberikan izin kepada pengguna kedua.
sudo chmod u+s /usr/bin/screen
sudo chmod 755 /var/run/screen
Di terminal pengguna pertama, layar mulai seperti pada berbagi dasar di atas, di mana foobar adalah nama sesi layar. Kemudian aktifkan mode multipengguna dan tambahkan pengguna2 ke ACL, di mana pengguna2 adalah akun kedua yang membagikan sesi.
screen -S foobar
^A:multiuser on
^A:acladd user2
Sesi dapat dibuat hanya-baca untuk pengguna kedua dengan memasukkan perubahan ACL berikut:^A:aclchg user2 -w "#?"
Kemudian di terminal lain, lampirkan ke sesi pengguna pertama.
screen -x user1/foobar
Dimungkinkan juga untuk mengaktifkan multiuser dan menambahkan user2 ke .screenrc agar efeknya otomatis saat layar mulai. Jika perubahan tidak diinginkan di semua sesi layar, maka file konfigurasi .screenrc terpisah dapat ditentukan dengan menggunakan opsi -c saat memulai layar.
Rencana
Hati-hati saat keluar. Jika Anda baru saja keluar dari shell, itu akan mengakhiri sesi terminal untuk semua pihak. Jika Anda melepaskan sesi tersebut, maka pengguna lain dapat terus bekerja tanpa gangguan. Di tmux yaitu ^B-d dan di layar yaitu ^A-d