Zde je návod, jak lze nastavit spuštění tmux pomocí gnome-terminálu :
- Spusťte gnome-terminál
- Nabídka> Upravit> Předvolby profilu> Název a příkaz (karta)
- Zaškrtněte možnost Spustit vlastní příkaz namísto mého prostředí
- Vyplňte Vlastní příkaz pomocí tmux
Tyto instrukce pro mě fungují na Ubuntu 11.04. Ekvivalent by měl fungovat pro gnome-terminál pro jakoukoli variantu Linuxu.
Spuštění čehokoli z .zshenv
je rozhodně špatný přístup. Tento soubor je spuštěn každou instancí zsh
, a to i při spuštění skriptu. Použijte .zshrc
pro věci, které by se měly provádět v interaktivních shellech, a .profile
(nebo .zprofile
, pokud jste jako přihlašovací shell nastavili zsh) pro věci, které by měly být provedeny při přihlášení.
Pokud chcete tmux v každém terminálu, spusťte tmux přímo pod terminálem, např. gnome-terminal -e tmux
(změňte spouštěč GUI tak, aby předal tyto argumenty). Argumenty můžete předávat i s -e
(i když buďte opatrní s citacemi), např. gnome-termminal -e 'tmux -s ~/.alternate.tmux.conf'
.
Pokud chcete také spustit tmux, když se přihlásíte přes ssh, budete ho muset spustit ze svého ~/.profile
. Proveďte to pouze v případě, že nadřazený proces přihlašovacího shellu je sshd
:
parent_process_name=$(ps -o comm= -p $PPID`)
case ${parent_process_name##*/} in
sshd) type tmux >/dev/null 2>/dev/null && exec tmux;;
esac
Dalším přístupem ke spuštění tmux přes ssh by bylo získání názvu relace z prostředí. Tímto způsobem se můžete připojit k existující relaci. Nejjednodušší způsob je napsat malý skript na straně serveru, např. ~/bin/tmux-login-session
:
#!/bin/sh
if tmux has-session -t "$1"; then
exec tmux attach-session -t "$1"
else
. ~/.profile
exec tmux new-session -s "$1"
fi
Poté použijte příkaz ssh, jako je tento:
ssh -t hostname.example.com bin/tmux-login-session SESSION_NAME
Provedením následujících příkazů na terminálu získáte tmux spustit pokaždé, když spustíte gnome-terminal :
gconftool --type string --set /apps/gnome-terminal/profiles/Default/custom_command "tmux"
gconftool --type bool --set /apps/gnome-terminal/profiles/Default/use_custom_command "true"
Tato sada příkazů dělá z gnome-terminálu spouštění tmux při startu terminálu.
- To bude mít za následek ukončení gnome-terminálu, když ukončíte tmux.
- V žádném případě nebude rušit ssh ani přihlášení, protože se jedná o nastavení terminálu gnome.
- Můžete také použít všechny zkratky gnome-terminálu, které máte připevněné na ploše, a spustit jej z příkazového řádku se spuštěným nástrojem tmux, takže pro toto chování nebudete muset vytvářet vlastní zástupce.