GNU/Linux >> Belajar Linux >  >> Linux

Cegah Tmux Memulai Di Ssh?

Saya ingin tmux untuk membuat jendela baru ketika saya ssh ke mesin dari sesi tmux yang ada. Namun, saya tidak ingin sesi tmux dimulai pada mesin baru!

Saya memiliki yang berikut di .bashrc saya , sehingga tmux otomatis dimulai:

if [[ "$TERM" != "screen" ]]
then
   # try to attach to existing session, or start a new one
   tmux attach-session -t "$USER" || tmux -2 new-session -s "$USER"
   exit
fi

Saya juga memiliki ssh fungsi:

alias ssh='ssh_func'
ssh_func (){
    if [[ "$TERM" == "screen" ]]; then
        tmux new-window -n "$1" "ssh [email protected]";
    else
        /usr/bin/ssh "[email protected]";
    fi
}

Ini berfungsi dengan baik, tetapi saya tidak ingin sesi tmux dimulai pada mesin yang saya ssh, karena ini memberi saya 2 sesi di jendela terminal yang sama. Apakah ada yang bisa saya masukkan ke .bashrc saya? sehingga tmux tidak memulai pada mesin jika perintah ssh telah dipanggil dari sesi tmux?

Saya menggunakan Putty dan tmux 1.5.

Jawaban yang Diterima:

Mengingat kode yang Anda posting, jika Anda menjalankan ssh dari dalam tmux, Anda akan memiliki $TERM =screen , jadi Anda tidak akan mencoba melampirkan ke jendela tmux. Dengan kata lain, kode yang sudah Anda miliki harus berfungsi seperti yang diinginkan. Ada sesuatu yang mencurigakan terjadi. Pastikan file titik Anda tidak mengacaukan TERM variabel (jika Anda perlu mengubah TERM , yang sangat jarang, pastikan untuk melakukannya hanya dalam keadaan yang sangat spesifik; khususnya jangan mengubahnya jika itu screen ).


Linux
  1. Cegah ssh agar tidak memecah parameter skrip Shell

  2. memulai apachectl dari bash

  3. Memulai koneksi jaringan dari pemulihan Ubuntu?

  1. SSH dari A sampai B ke C, menggunakan kunci privat di B

  2. Bagaimana cara mengkonfigurasi D-Bus dan SSH X-Forwarding untuk mencegah SSH menggantung saat keluar?

  3. Cara menghentikan/mencegah bruteforce SSH

  1. Cara SSH di Linux dari Android

  2. Ssh – Membatasi Pengguna Ssh/scp/sftp ke Direktori?

  3. Bagaimana Mendeteksi Jika Shell Dikendalikan Dari Ssh?