Как запустить tmux - автоматически - при запуске konsole/yakuake?
Я узнал tmux
возможность в последнее время, и я использую его внутри yakuake
/ konsole
(терминал, похожий на землетрясение). Тем не менее, я должен запустить tmux
вручную каждый раз, когда я запускаю свой ноутбук или перезагружаюсь yakuake
,
Как запустить tmux
- автоматически - когда yakuake
/ konsole
начать?
5 ответов
На основании Start tmux в каждой статье входа в оболочку из Archlinux wiki вы можете запустить tmux
на вашей оболочке с помощью следующего кода на
Zsh
или же Bash
Добавьте в свой zsh
или же bash
конфигурация (обычно ~/.zshrc
или же ~/.bashrc
) следующий код и перезапустите сеанс:
function start_tmux() {
if type tmux &> /dev/null; then
#if not inside a tmux session, and if no session is started, start a new session
if [[ $HOST == "laptop" && -z "$TMUX" && -z $TERMINAL_CONTEXT ]]; then
(tmux -2 attach || tmux -2 new-session)
fi
fi
}
start_tmux
Fish
Добавьте в свой fish
конфигурация (обычно ~/.config/fish/config.fish
) следующий код и перезапустите сеанс:
function start_tmux
if type tmux > /dev/null
#if not inside a tmux session, and if no session is started, start a new session
if test -z "$TMUX" ; and test -z $TERMINAL_CONTEXT
tmux -2 attach; or tmux -2 new-session
end
end
end
start_tmux
Друг совет, чтобы использовать <terminal_emulator> -e tmux
,
Konsole
Работает с konsole
,
Я изменил свойство в меню, чтобы:
konsole -e tmux
Yakuake
Однако это не работает сyakuake
,
Когда якуаке работает:
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 0 "tmux"
Я не пробовал с Yakuake, но у меня есть подход к написанию сценариев оболочки с одним вкладышем, чтобы он работал с эмулятором терминала Konsole.
Набор эмуляторов консоли
KONSOLE_<something>
переменная среды при запуске.
Зная этот факт, мы можем добавить это к
.zshrc
файл
[ -z "$KONSOLE_VERSION" ] || tmux
И это запустит все окна KONSOLE, подключенные к активному сеансу tmux, или создаст его, если это первое окно.