GNU/Linux >> Belajar Linux >  >> Linux

Autostart Sesi Tmux Pada Sistem Jarak Jauh Saat Masuk Melalui SSH

Itu selalu merupakan praktik yang baik untuk menjalankan proses yang berjalan lama di dalam Tmux sesi saat bekerja dengan sistem jarak jauh melalui SSH. Sebab, mencegah Anda kehilangan kendali atas proses yang sedang berjalan saat koneksi jaringan tiba-tiba terputus. Untuk berjaga-jaga jika koneksi jaringan terputus karena alasan apa pun, proses di dalam sesi Tmux akan tetap berjalan pada sistem jarak jauh, sehingga Anda dapat melampirkan kembali ke sesi Tmux menggunakan perintah "tmux attach" setelah koneksi jaringan kembali online. Bagaimana jika Anda lupa memulai sesi Tmux sejak awal? Tidak peduli seberapa hati-hati Anda, terkadang Anda mungkin lupa untuk memulai sesi Tmux. Berikut adalah cara sederhana untuk menghindari masalah ini. Anda dapat memulai sesi Tmux secara otomatis pada sistem jarak jauh saat masuk melalui SSH. Ini sangat membantu jika Anda kehilangan koneksi jaringan saat memutakhirkan server Linux jarak jauh melalui SSH dari sistem lokal Anda. Harap dicatat bahwa tip berikut akan secara otomatis memulai sesi Tmux setiap kali Anda mencoba masuk ke sistem Linux Anda baik secara lokal atau jarak jauh melalui SSH dari sistem lain.

Mulai Otomatis Sesi Tmux Pada Sistem Jarak Jauh Saat Masuk Melalui SSH

Untuk memulai sesi Tmux secara otomatis saat menghubungkan melalui SSH, edit ~/.bash_profile sistem jarak jauh Anda berkas:

$ nano ~/.bash_profile

Jika file tidak tersedia, buat saja.

Dan tambahkan baris berikut di dalamnya:

if [ -z "$TMUX" ]; then
    tmux attach -t default || tmux new -s default
fi

Simpan dan tutup file. Keluar dan masuk kembali ke sistem jarak jauh. Anda akan diarahkan ke sesi Tmux baru bernama 'default' .

Sekarang, mulai proses apa pun di dalam sesi Tmux dan lepaskan dengan menekan Ctrl+b diikuti oleh d . Proses akan terus berjalan di dalam sesi Tmux bahkan setelah koneksi jaringan terputus. Setelah koneksi jaringan kembali, SSH ke sistem jarak jauh dan Anda akan melihat bahwa pekerjaan masih berjalan!!

Lihat output animasi berikut:

Biarkan saya mengklarifikasi apa yang baru saja saya lakukan pada output di atas.

  1. Saya terhubung ke server Ubuntu jarak jauh saya melalui SSH dari sistem lokal saya. Sesi Tmux baru bernama "default" dimulai secara otomatis.
  2. Di dalam sesi Tmux, saya menjalankan perintah (Misalnya watch grep \"cpu MHz\" /proc/cpuinfo) untuk memantau kecepatan CPU.
  3. Kemudian, saya keluar dari sesi dengan menekan Ctrl+b dan d .
  4. Kemudian, saya membuat daftar sesi Tmux menggunakan perintah "tmux ls" dan keluar dari sesi SSH.
  5. Akhirnya, saya menyambungkan kembali ke sistem jarak jauh melalui SSH dan memverifikasi apakah proses tetap berjalan di dalam sesi Tmux tanpa gangguan.

Semoga Anda mengerti.

Untuk menghentikan sesi Tmux yang memulai otomatis, cukup hapus baris yang ditambahkan sebelumnya dari ~/.bashrc sistem jarak jauh Anda. atau ~/.bash_profile berkas.

Tip sederhana ini membantu Anda menghindari kehilangan kendali atas pekerjaan jarak jauh Anda. Anda tidak selalu harus memulai Tmux secara manual setiap saat. Cukup buat Tmux untuk memulai secara otomatis setiap kali Anda melakukan SSH ke sistem jarak jauh seperti yang dijelaskan dalam panduan ini.

Bacaan yang disarankan :

  • Cara Memulai Otomatis Sesi Layar Di Linux Saat Masuk
  • Reptyr – Memindahkan Proses yang Berjalan Dari Satu Terminal Ke Terminal Lain Tanpa Menutupnya

Linux
  1. Ssh – Salin File Kembali Ke Sistem Lokal Dengan Ssh?

  2. Ssh – Bagaimana Cara Menjalankan Script Segera Setelah Terhubung Melalui Ssh?

  3. Ssh – Mencatat Upaya Akses Ssh?

  1. Penanganan Ctrl-c Dalam Sesi Ssh?

  2. Cara mengirim data ke clipboard lokal dari sesi SSH jarak jauh

  3. SSH dengan authorized_keys ke sistem Ubuntu dengan homedir terenkripsi?

  1. 5 Cara untuk Menjaga Sesi dan Proses SSH Jarak Jauh Berjalan Setelah Terputus

  2. Bagaimana saya bisa keluar dari sesi SSH jarak jauh yang terbuka?

  3. Menjatuhkan sesi ssh/X, bagaimana cara mengambil yang tersisa?