GNU/Linux >> Znalost Linux >  >> Linux

Zabránit spuštění Tmux na Ssh?

Chtěl bych tmux vytvořit nové okno, když ssh na počítač z existující relace tmux. Nechci však, aby se na novém počítači spustila relace tmux!

Ve svém .bashrc mám následující , takže tmux automaticky se spustí:

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

Mám také ssh funkce:

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
}

Funguje to dobře, ale nechci, aby se relace tmux spustila na počítači, na který jsem ssh, protože mi to dává 2 relace ve stejném okně terminálu. Je něco, co mohu vložit do svého .bashrc? aby se tmux nespustil na počítači, pokud byl příkaz ssh vyvolán z relace tmux?

Používám PuTTY a tmux 1.5.

Přijatá odpověď:

Pokud spouštíte ssh z prostředí tmux, budete mít podle kódu, který jste zveřejnili, $TERM =screen , takže se nebudete pokoušet připojit k oknu tmux. Jinými slovy, kód, který již máte, by měl fungovat podle potřeby. Děje se něco podezřelého. Ujistěte se, že vaše tečkové soubory nekazí TERM proměnná (pokud potřebujete upravit TERM , což je velmi vzácné, ujistěte se, že to děláte pouze za velmi specifických okolností; zejména jej neměňte, pokud je to screen ).


Linux
  1. Ssh – Omezení uživatele Ssh/scp/sftp na adresář?

  2. Jak zjistit, zda je Shell řízen z Ssh?

  3. Zabránit zavření podokna/okna po dokončení příkazu – Tmux?

  1. Zabraňte ssh v rozbití parametrů skriptu shellu

  2. spouštění apachectl z bash

  3. Spouštíte síťové připojení z obnovy Ubuntu?

  1. Jak na SSH na Linuxu z Androidu

  2. SSH z A přes B do C pomocí soukromého klíče na B

  3. Jak nakonfigurovat D-Bus a SSH X-Forwarding, aby se zabránilo zavěšení SSH při ukončení?