我最近发现了tmux
可能性,我在yakuake
/ konsole
(类似地震的终端)中使用它。但是,tmux
每次启动笔记本电脑或重新启动时,我都必须手动启动yakuake
。
如何启动tmux
- 自动 - 何时yakuake
/konsole
开始?
有朋友建议使用<terminal_emulator> -e tmux
。
它适用于konsole
.
我将菜单中的属性修改为:
konsole -e tmux
但是它不适用于yakuake
.
基于Archlinux wiki的每篇 shell 登录文章上的 Start tmuxtmux
,您可以使用以下代码在您的 shell 上启动
Zsh
或者Bash
添加您的zsh
orbash
配置(通常是~/.zshrc
or ~/.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
yakuake 运行时:
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 0 "tmux"
我没有尝试过使用 Yakuake,但我有一种内衬 shell 脚本方法可以使其与 Konsole Terminal Emulator 一起使用。
Konsole 模拟器KONSOLE_<something>
在启动时设置环境变量。
知道了这个事实,我们可以将它添加到.zshrc
文件中
[ -z "$KONSOLE_VERSION" ] || tmux
这将启动所有附加到活动 tmux 会话的 KONSOLE 窗口,或者如果它是第一个窗口,则创建一个。