终端复用tmux配置及使用
本文最后更新于 357 天前,其中的信息可能已经有所发展或是发生改变。

1. 安装

apt update
apt install tmux

2. 配置

这里使用 github 中一个使用人数非常多的配置:repo: gpakosz/.tmux,下面是他的配置的使用方法。

cd ~
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

3. 命令及快捷键

参考自:github gist: ryerh/tmux-cheatsheet.markdown,下面是节选的一部分常用的命令和快捷键。

终端中常用命令:

tmux [new -s $sess_name]  # 启动新会话, 并可以命令
tmux at [-t $sess_name]  # 恢复会话最后一个会话, 也可以指定会话名
tmux ls  # 会话列表
tmux kill-session -t $sess_name  # 关闭某会话

tmux 会话中常用快捷键,需要先按下 C-b (ctrl + b)。如果使用第二步的配置文件,则也可以使用 C-a (ctrl + a),推荐 C-a 因为这两个键距离很近,更容易按。

d  # 后台当前会话并返回到原bash
c  # 创建新窗口
w  # 列出所有窗口
p/n  # 切换到前/后一个窗口
&  # 关闭当前窗口
:  # 命令提示符

# 多窗口系列
"  #-- 上下分屏
%  #-- 左右分屏
o  #-- 切换焦点分屏
<space>  #-- 上下左右互换
z  #-- 最大最小焦点窗口
!  #-- 当前焦点窗口置于新窗口
x  #-- close windows

:set mouse on

tmux 会话中使用鼠标滚动:

  1. 按快捷键: “C-b“;
  2. 输入: “:set -g mouse on“,这样就可以鼠标滚动窗口了,也可以将加入到配置文件中使鼠标每次都可用;
  3. 当需要鼠标左右键选择时按下 shift 来固定视图。

4. 自启动

打开终端时自动进入 tmux。

如果安装了 zsh 以及配置了 ohmyzsh(我记录的过程 zsh安装及配置),可以直接引入 ohmyzsh plugin 即可,关于此插件的官方说明: ohmyzsh/plugins/tmux。这里贴出配置自启动的方法:

#vim ~/.zshrc
# 1. 在 zshrc 中添加 `tmux` 到 plugins 字段中
plugins=(... tmux)

# 2. 默认设置 ZSH_TMUX_AUTOSTART == false, 关闭了新终端中自启动,设置为 true 启用自启动。
vim ~/.oh-my-zsh/plugins/tmux/tmux.plugin.zsh
# 此文件中修改 ZSH_TMUX_AUTOSTART:=false 为 true
ZSH_TMUX_AUTOSTART:=true

# 3. source
source ~/.zshrc

如果未安装 zsh 或者ohmyzsh,那可以把 ohmyzsh/plugins/zsh 中相关实现代码复制出来放到自己的 zshrc 中。实现自启动的代码在 ohmyzsh/plugins/tmux/tmux.plugin.zsh 的 92-end(需要去掉部分无关设置)。

5. 脚本启动某程序

使用脚本在 tmux 启动某个程序时建议使用 send-keys 将命令发送到 bash 里。

下面是启动 frpServer 的脚本。

touch frps
chmod +x frps
vim frps

根据自己的服务修改 sess_nametmux send-keys -t 后的内容,写入以下内容:

#!/bin/bash
# frp - start frpServer in tmux

sess_name="frpServer"

export DISABLE_AUTO_TITLE="true"

tmux has-session -t $sess_name
if [ $? = 0 ];then
    echo $sess_name "already exist. attaching..."
    tmux attach-session -t $sess_name
    # exit
else
    echo $sess_name "doesn't exist. creating..."
    tmux new -d -s $sess_name -n home
    tmux send-keys -t $sess_name:1 "cd frp_0.30.0_linux_amd64" Enter
    tmux send-keys -t $sess_name:1 "./frps -c ./frps.ini" Enter
fi
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇