About Tmux
- リモートワークで、作業中にSSHセッションきれたら困るよね。
- いろんなパソコンから作業状態を一瞬で復活させたいよね。
- それこそ出先からでも作業状態にアクセスしたいよね。
→ tmux使おう。
tmuxがない...
~ tmux
zsh: command not found: tmux
よし入れよう。
dependencies.
- libevent2.x https://github.com/libevent/libevent/releases/latest
- ncurses https://invisible-mirror.net/archives/ncurses/
Manually Install
sucess: 2020-11-16
mkdir workspace
cd workspace
wget https://github.com/tmux/tmux/releases/download/3.1c/tmux-3.1c.tar.gz
wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
wget https://invisible-mirror.net/archives/ncurses/ncurses-6.2.tar.gz
tar zxf *
pushd libevent-2.1.11-stable
./configure --prefix="${HOME}/.local" && make && make install
popd
pushd ncurses-6.2
./configure \
--prefix="${HOME}/.local" \
--with-pkg-config-libdir="${HOME}/.local/pkgconfig" \
--enable-pc-files \
--wht-termlib && make && make install
popd
pushd tmux-3.1c
PKG_CONFIG_PATH="${HOME}/.local/lib/pkgconfig"
LDFLAGS="-L${HOME}/.local/lib $LDFLAGS"
CFLAGS="-I${HOME}/.local/include $CFLAGS"
export PKG_CONFIG_PATH LDFLAGS CFLAGS
./configure --prefix="${HOME}.local" && make && make install
popd
export LD_LIBRARY_PATH="${HOME}/.local/lib:${LD_LIBRARY_PATH}"
/tmp/tmux-1000/default
などを勝手に削除されてセッション落ちてしまう。
変える。
d="${HOME}/.cache/tmux-tmp/"
mkdir -p $d
export TMUX_TMPDIR="$d"
.tmux.conf
# Basic Knowledgement
#
## `set` aliased from set-option`
### `-g` ... Global(Define to Session)
### `-s` ... Server(Define to ServerProcess, No-Rewrite by Window/Session)
### `-w` ... Window(Applied a Window)
### `-w -g` ... Window Global(Applied all Windows)
## `set-window-option` aliased `setw`
######################################################
# Global Configuration
# プレフィックスキーをCtrl+b -> Ctrl+gへ
set -g prefix C-g
bindkey C-g send-prefix
unbind-key C-b # unbind default prefix
### ウィンドウの開始音楽
set -g base-index 1
### マウス操作許可
set -g mouse on
### ステータスバー表示
set -g status on
### vi入力法
set -g mode-keys vi
### ペイン開始番号
setw -g pane-base-index 1
### デフォルトシェルの設定
set-option -g default-shell /bin/zsh
### 256色対応
set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'
#############################
# ステータスバーに関する設定
#
# $(shellCmd) ... 標準出力最上行
# #[Attributes] ... 色や属性(e.g. fg=colour255 , #[bold], #[dim])
# Attribute> bold, dim, underscore, blink, reverse, hidden, italics, default
# ------------------------------------
# #S ... SessionName, ## ... Escaped '#'
# #H ... HOSTNAME , #h ... HOSTNAME(without LOCALHOST)
# CurrentWindow: #F ... Flag, #I ... Index #W ... Name
# CurrentPein: #D ... Identify, #P ... Index, #T ... Title
#
# Included: strftime, #[INT][OPTION] ... INT=Max_Character
#
# %Y/%m/%d(%a) %H:%M ""
set-option -g status-position top # トップ表示
set-option -g status-justify "centre" # センタリング
set-option -g status-bg "colour238" # 背景色
set-option -g status-fg "colour255" # 文字色
## ステータスバー左側表示設定
set-option -g status-left '#{prefix_highlight} #H:$M - %m/$d(%a)'
set-option -g status-left-length 90 # 左長
## ステータスバー右側表示設定
set-option -g status-right '#{cpu_icon} #{cpu_percentage}(#{cpu_temp}) #{ram_icon} #{ram_percentage} #{online_status} #{net_speed}'
set-option -g status-right-length 90 # 右長
# ウィンドウの設定
set -g window-status-current-fg red # アクティブなウィンドウを目立たせる
set -g window-status-current-bg
set -g window-status-current-attr bold # 太くする
set -g
# 拡張機能
# TPM - https://github.com/tmux-plugins/tpm
# git Cloneして、Ctrl+g(Prefixキー) -> Iでインスコ、Ctrl+g -> Uでアプデ
# > git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
set -g @plugin 'tmux-plugins/tpm'
####
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-pain-control
set -g @plugin 'tmux-plugins/tmux-online-status'
set -g @plugin 'tmux-plugins/tmux-sidebar'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
####
# tmux-net-speedの設定
set -g @plugin 'tmux-plugins/tmux-net-speed'
set -g @download_speed_format "%10s"
set -g @upload_speed_format "%10s"
set -g @net_speed_format "D:%10s U:%10s"
####
run '~/.tmux/plugins/tpm/tpm'