海运的博客

Tmux自动恢复或打开新窗口

发布时间:May 14, 2014 // 分类:Tmux // No Comments

方法1:

if [ "$TERM" != "screen" ]; then
    WHOAMI=$(whoami)
    if tmux has-session -t $WHOAMI 2>/dev/null; then
        tmux -2 attach-session -t $WHOAMI
    else
        tmux -2 new-session -s $WHOAMI
        exit
    fi
fi

方法2:

if [ `which tmux 2> /dev/null` -a -z "$TMUX" ]; then
        tmux -2 attach || tmux -2 new; exit
fi

20220315更新:

[ -f /usr/bin/tmux ] && [ -z "$TMUX"  ] && { tmux attach || tmux new-session;}

20230211更新,更简单的方法:

tmux new -As0

参考:
http://bionicraptor.ca/2011/07/24/automatically-start-tmux/
https://coderwall.com/p/tgm2la

Tmux多窗口分隔线显示虚线不正常解决

发布时间:September 15, 2012 // 分类:Tmux // No Comments

使用Tmux在UTF-8编码下窗口分隔线会显示为虚线,如下:
tmux分隔线虚线.png
解决方法,SSH客户端字体选项处取消Treat CJK ambiguous characters as wide支持,Xshell下设置如下:
xshell下tmux分隔线不正常解决.png
重新登录SSH终端,现tmux分隔多窗口效果如下:
tmux分隔线显示不正常解决.png

Centos安装使用配置tmux

发布时间:August 22, 2012 // 分类:Tmux // No Comments

CentOS安装支持组件:

yum install libevent-devel ncurses-devel

安装tmux

wget http://downloads.sourceforge.net/tmux/tmux-1.6.tar.gz
tar zxvf tmux-1.6.tar.gz 
cd tmux-1.6
./configure
make
make install

启动新会话:

tmux [new -s 会话名 -n 窗口名]

启动新会话时执行命令:

#-d 后台启动
#exec bash 当ping结束时启动bash,不然会退出tmux窗口
tmux new -s test -d "ping qq.com; bash"  

指定会话启动新窗口:

tmux [neww -t 会话名 -n 窗口名]

恢复会话:

tmux at [-t 会话名]

列出所有会话:

tmux ls

关闭会话:

tmux kill-session -t 会话名

在 Tmux 中,按下 Tmux 前缀 ctrl+b,然后:
会话

:new<回车>  启动新会话
s           列出所有会话
$           重命名当前会话

贴上我的tmux配置文件:

#https://www.haiyun.me
bind a send-prefix
bind m command-prompt "splitw -h 'exec %%'"
bind S command-prompt "neww -n %1 'ssh %1'"
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
bind k selectp -U 
bind j selectp -D
bind h selectp -L
bind l selectp -R
bind K resizep -U 10 
bind J resizep -D 10
bind H resizep -L 10
bind L resizep -R 10
bind ^i kill-session
bind ^l last-window
set -g prefix C-a
set -g base-index 1
setw -g pane-base-index 1
set -g display-time 5000
set -g repeat-time 1000 
set -g status-right '"#(hostname)" #(date -d "today" +"%Y/%m/%d-%H:%M")#(uptime |cut -d ',' -f 2-)'
set -g status-interval 10
set -g status-right-length 100
set -g status-utf8 on 
set -g status-keys vi 

setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-select-window on
set -g mouse-resize-pane on
set -g mode-mouse on
set -g mouse-utf8 on
setw -g mode-keys vi
setw -g utf8 on
#setw -g window-status-current-bg red
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...