tmux 开机启动

tmux是个非常好用的终端复用器,之前写过tmux入门教程,有兴趣的可以看这里https://www.jianshu.com/p/6075c0fd98d9。

经常会遇到这么一个需求,你在tmux里整了系列很规则的窗格,可是服务器一重启啥都没有了,所以就想能不能重启后自动恢复这些窗格。要实现这个功能可以通过安装插件tmux-resurrect,这里我为了在tmux中启动一些程序,选择写一个shell脚本来初始化。这样这篇教程更像是为了熟悉一下tmux的命令。

首先要知道在ubuntu下的开机启动,看我这篇教程的第一个方法https://www.jianshu.com/p/01955b37af41。可以参考这个https://www.jianshu.com/p/fe57a2cfefed。

新编写一个脚本/root/.tmux-init.sh,填入初始化的内容。我这里新建了一个名为era的session,这个session中建了两个window,第一个别名为workspace,第二个叫apps。workspace中将window分为上下两个panel

# 新建一个名为era的session,一个名为workspace的window,一定要加-d参数,因为自启动没用终端可以显示,不加会报错
tmux new -s era -n workspace -d
# 将window垂直方向分开(-v垂直,-h水平),后一个panel的占比是70%
tmux split-window -v -p 70
# 在名为era的session中的第0个window中的第0个pane中执行命令 watch -n 5 free
# -t参数后跟格式sesssion:window.pane,可以是别名,也可以是编号(从0开始)
tmux send-keys -t era:0.0 'watch -n 5 free' Enter
# 新建一个名为 apps的window
tmux new-window -n apps
# 在这个window下执行一个java程序,没有-t参数默认在当前光标位置执行
tmux send-keys 'java test' Enter
# 回到第一个window
tmux select-window -t era:workspace
# 将光标移动到第0个window中的第一个panel
tmux select-pane -t era:0.1

然后在/etc/rc.local中调用,将下面这句话添加到/etc/rc.local

bash /root/.tmux-init.sh

你可能感兴趣的:(tmux 开机启动)