Jika Anda sudah agak akrab dengan tmux dan Irssi, silakan merujuk ke langkah-langkah dasar di bagian TL;DR di bawah ini. Untuk detail dan opsi lebih lanjut, lihat langkah-langkah konfigurasi yang lebih mendalam di bagian bawah halaman.
Terminal multiplexer (tmux)
Dari tmux
halaman manual: tmux
adalah multiplexer terminal:memungkinkan sejumlah terminal dibuat, diakses, dan dikendalikan dari satu layar. tmux
mungkin terlepas dari layar dan terus berjalan di latar belakang, lalu disambungkan kembali. tmux adalah alternatif untuk perintah layar.
Irssi
Irssi adalah klien Internet Relay Chat (IRC) berbasis terminal untuk sistem *nix. Dari halaman manual Irssi: Irssi adalah klien Internet Relay Chat modular. Ini sangat dapat diperluas dan sangat aman. Menjadi klien berbasis termcap layar penuh dengan banyak fitur, Irssi mudah dikembangkan melalui skrip dan modul.
[ Anda mungkin juga menyukai: Menggunakan pengubah kata dengan riwayat Bash di Linux ]
TL;DR
Saya menggunakan Irssi untuk klien IRC saya dan menjalankannya di dalam tmux
sidang. Untuk menyiapkannya, SSH dengan nama Kerberos Anda ke server shell atau server lompat Anda: jump_server
. Simpan file konfigurasi ini:file konfigurasi tmux (.tmux.conf) di ~/
, mulai tmux
, simpan file konfigurasi Irssi (config) ke ~/.irssi/
Anda folder, atur nama dan nick IRC Anda di Setelan di bagian bawah file konfigurasi, lalu mulai irssi
. Setelah berada di dalam Irssi, jalankan:
[(status)] /connect <irc_server>
Untuk bergabung dengan saluran lain:
/join #whatever
Untuk mengubah nama panggilan Anda:
/nick newname
Untuk mengirim pesan pribadi kepada seseorang:
/query otherperson
Untuk mengubah kamar/kueri mana yang ditampilkan:
Alt + kiri atau tombol panah kanan
Atau
Alt + 2, 3, 4, 5
Dan itu akan melompat ke layar itu. Saya tahu bahwa #sbr-sysmgmt ada di #2, jadi Alt + 2 akan membawaku ke ruangan itu. Untuk mencantumkan orang-orang di saluran:
/who #sbr-sysmgmt
Atau
/names
Dan itu akan mencantumkan semua orang di ruangan saat ini.
Untuk keluar dari tmux
tetapi biarkan IRC berjalan:
Kontrol + a , lepaskan Kontrol , d
Untuk melanjutkan sesi SSH + tmux Anda, masukkan:
/usr/bin/ssh -t <jump_server> tmux attach
Saya memiliki skrip startup di akhir dokumen ini yang dapat Anda gunakan.
Dokumentasi lebih mendalam
Saya menggunakan Irssi untuk klien karena beberapa alasan. Terutama, saya lebih suka karena dijalankan di konsol daripada sebagai aplikasi mandiri. Karena itu, saya dapat menjalankannya di sesi SSH jika server jarak jauh telah menginstal Irssi. Untuk membuatnya lebih permanen, saya kemudian menjalankan Irssi di dalam tmux
sidang. Itu berarti saya dapat terhubung ke VPN dan kemudian menjalankan perintah:/usr/bin/ssh -t <jump_server> tmux attach
, yang menghubungkan saya melalui SSH ke server jarak jauh dan secara otomatis melampirkan tmux
. saya sesi, yang menjalankan Irssi.
Konfigurasi tmux
Untuk mengatur ini dari awal, SSH ke jump_server server. Setelah itu, gunakan curl
, wget
, atau apa pun untuk mendapatkan tmux.conf
file (kecuali jika Anda sudah memiliki tmux.conf
) dari file konfigurasi tmux saya, dan simpan sebagai .tmux.conf
Anda . Berikut adalah informasi tambahan dari halaman manual untuk tmux
:
-f file Tentukan file konfigurasi alternatif. Secara default, tmux memuat file konfigurasi sistem dari /etc/tmux.conf, jika ada, kemudian mencari file konfigurasi pengguna di ~/.tmux.conf.
Sekarang Anda memiliki ~/.tmux.conf
, Anda dapat memulai tmux
program. Ini pada dasarnya sama dengan screen
jika Anda akrab dengannya. Jika tidak, tmux
memungkinkan Anda memulai perintah, memutuskan sambungan dari sesi (yang biasanya akan mematikan perintah Anda yang sedang berjalan), memulai kembali sesi SSH Anda, dan melampirkan kembali ke sesi di mana perintah Anda masih berjalan. Untuk melihat ini, mulai tmux
dengan perintah ini:
$ tmux
Kemudian mulailah melakukan ping ke Google:
$ ping google.com
Sedangkan ping
akan pergi, putuskan sambungan dari tmux
. Anda sidang. Untuk melakukannya, tekan Kontrol + a , lepaskan Kontrol tombol, lalu tekan d . Anda harus kembali ke layar SSH utama. Jangan ragu untuk memutuskan sambungan dari sesi SSH lalu menyambungkan kembali. Untuk melihat tmux
sesi, jalankan perintah berikut:
$ tmux ls
Anda akan melihat satu sesi Anda terdaftar. Untuk melampirkan kembali, ketik:
$ tmux attach
Anda harus kembali ke ping
perintah, yang masih berjalan. Anda dapat memiliki beberapa tmux
sesi, jadi untuk dilampirkan ke sesi tertentu, daftarkan dulu, lalu tentukan sesi mana yang akan dilampirkan:
[pgervase@jump_server ~]$ tmux ls
0: 1 windows (created Mon Jan 20 08:06:24 2020) [211x51] (attached)
3: 1 windows (created Fri May 8 11:38:38 2020) [154x39]
[jump_server] [11:39:06 AM]
[pgervase@jump_server ~]$ tmux attach 3
Untuk tujuan saya, saya biasanya hanya memiliki satu tmux
sesi di server ini sehingga saya dapat melewati tmux attach
ke perintah SSH saya dan tidak ada masalah dengan koneksi ke sesi Irssi saya.
Konfigurasi Irssi
Pada titik ini, Anda memiliki pengetahuan pengantar tentang menggunakan tmux
. Ini cukup mudah untuk kasus penggunaan dasar, dan untungnya, yang saya pedulikan hanyalah penggunaan dasar itu. Sekarang, untuk konfigurasi Irsi. Simpan file konfigurasi Irssi ke ~/.irssi/
folder, atur nama dan nick IRC Anda di Setelan di bagian bawah file konfigurasi, lalu mulai irssi
. Setelah berada di dalam Irssi, sambungkan ke server Red Hat IRC:
[(status)] /connect <irc_server>
Hei, hei, Anda menggunakan IRC!
Untuk bergabung dengan saluran lain:
/join #whatever
Untuk mengubah nama panggilan Anda:
/nick newname
Untuk mengirim pesan pribadi kepada seseorang:
/query otherperson
Untuk mengubah kamar/kueri mana yang ditampilkan, pilih:
Alt + kiri atau tombol panah kanan
Atau
Alt + 2, 3, 4, 5
Dan itu akan melompat ke layar itu. Saya tahu bahwa # sbr-sysmgmt ada di #2, jadi Alt + 2 akan membawa saya ke ruangan itu.
Untuk mencantumkan orang di saluran:
/who #sbr-sysmgmt
Atau
/names
Dan itu akan mencantumkan semua orang di ruangan saat ini.
Untuk keluar dari tmux
tetapi biarkan IRC berjalan, pilih:
Kontrol + a , lepaskan Kontrol , dan pilih d
Untuk melanjutkan sesi SSH + tmux Anda, jalankan:
/usr/bin/ssh -t <jump_server> tmux attach
[ Dapatkan ebook gratis ini:Mengelola kluster Kubernetes Anda untuk boneka. ]
Menutup
Berikut skrip startup yang saya gunakan setiap pagi yang menghubungkan saya ke VPN saya (VPN1 atau VPN2), melakukan kinit
, dan kemudian menghubungkan saya ke server SSH:
#!/bin/bash
#### First things first, wait for network connection
echo "step 1: ping google"
until ping -c 1 8.8.8.8 > /dev/null; do sleep 2; done
echo "step 2: stop any old vpn"
/usr/bin/nmcli connection down "VPN1"
/usr/bin/nmcli connection down "VPN2"
echo "step 3: token --- get your token for the vpn"
echo "step 4: start new vpn1 vpn"
/usr/bin/nmcli --ask connection up "VPN1"
#/usr/bin/nmcli --ask connection up "VPN2"
/usr/bin/sleep 5
echo "step 5: kinit"
until /usr/bin/kinit; do
echo "something didn't work, so shutting down vpn..."
/usr/bin/nmcli connection down "VPN1"
echo ""
echo "redo step 3: token"
/usr/bin/echo ""
echo "starting new vpn2 vpn..."
/usr/bin/nmcli --ask connection up "VPN2"
#/usr/bin/nmcli --ask connection up "VPN1"
/usr/bin/sleep 5
echo "kinit..."
date
#/usr/bin/kinit
date
done
echo "ssh for irc"
/usr/bin/ssh -t <jump_server> tmux attach
Di sana Anda memiliki cara sederhana untuk mengelola sesi Irssi melalui tmux. Luangkan waktu beberapa menit untuk mempelajari prosesnya, sehingga Anda akan mendapatkan efisiensi dan kenyamanan.