GNU/Linux >> Belajar Linux >  >> Linux

Berbagi Sesi Terminal Linux Dengan Tmux dan Layar

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


Linux
  1. Cara memutar ulang sesi terminal yang direkam dengan perintah skrip Linux

  2. Cara menangkap sesi terminal dan output dengan perintah skrip Linux

  3. Perekaman Layar di Linux Dengan OBS dan Wayland

  1. 4 multiplexer terminal Linux untuk dicoba

  2. Terminal Linux saya yang kaya fitur dan minimal

  3. Gunakan Perintah Layar untuk Mengelola Sesi Terminal di Ubuntu 20.04

  1. Menyesuaikan terminal Linux saya dengan tmux dan Git

  2. Cara Memasang dan Menggunakan Layar Linux, Dengan Perintah

  3. Cara Menggunakan Layar GNU untuk Mengelola Sesi Terminal di Linux