tmuxでサーバーとログを一画面に表示。

terminal内でwindowを分けることも考えたがLinuxによってターミナルソフトが変わると動かなくなるのでtmuxメインのスクリプトにした。

Ctrl-b w で 041sv&Rack, mvclog,printlogを切り替え
Ctrl-b o でpaneを移動
Ctrl-b [ でpaneでスクロールモードに入れる。

tmux kill-server で全部おちる。

キーバインドはそのうち変更するかも。

Rmenuのサンプル等をコピーするスクリプトもだいぶ出来てきたので、いろいろ試せるようになってきた。

DIR="/home/rmenu/Rmenu"
SESSION_NAME="041"

function create_workspace
{
# ワークスペースを構築する
tmux split-window -t $SESSION_NAME:0.0 -v -c "$DIR" # 0.1pane生成 最終3段目
tmux split-window -t $SESSION_NAME:0.0 -v -c "$DIR" # 0.2pane生成 最終2段目
tmux split-window -t $SESSION_NAME:0.1 -v -c "$DIR" # 0.3pane生成 最終4段目
tmux send-keys -t $SESSION_NAME:0.0 "sudo ./System/no0_Rackup.sh" C-m # rackを起動
tmux send-keys -t $SESSION_NAME:0.2 " sudo ./System/no4_PrintServer.sh" C-m
tmux send-keys -t $SESSION_NAME:0.1 "sudo ./System/no1_MainController.sh" C-m
tmux send-keys -t $SESSION_NAME:0.3 "tail -f ./System/Server/Logs/rack.log" C-m

tmux new-window -t $SESSION_NAME:1 -n "mvclog" # mvclogという新規ウインドウを作成
tmux split-window -t $SESSION_NAME:1.0 -v -c "$DIR" # 1.1pane生成 最終3段目
tmux split-window -t $SESSION_NAME:1.0 -v -c "$DIR" # 1.2pane生成 最終2段目
tmux split-window -t $SESSION_NAME:1.1 -v -c "$DIR" # 1.3pane生成 最終4段目
tmux send-keys -t $SESSION_NAME:1.0 "cd $DIR; tail -f ./System/Server/Logs/model.log" C-m
tmux send-keys -t $SESSION_NAME:1.2 "tail -f ./System/Server/Logs/modelDB.log" C-m
tmux send-keys -t $SESSION_NAME:1.1 "tail -f ./System/Server/Logs/view.log" C-m
tmux send-keys -t $SESSION_NAME:1.3 "tail -f ./System/Server/Logs/controller.log" C-m
tmux select-pane -U
tmux select-pane -U
tmux select-pane -U

tmux new-window -t $SESSION_NAME:2 -n "printlog" # printlogという新規ウインドウを作成
tmux split-window -t $SESSION_NAME:2.0 -v -c "$DIR" # 2.1pane生成 最終3段目
tmux split-window -t $SESSION_NAME:2.0 -v -c "$DIR" # 2.2pane生成 最終2段目
tmux split-window -t $SESSION_NAME:2.1 -v -c "$DIR" # 2.3pane生成 最終4段目
tmux send-keys -t $SESSION_NAME:2.0 "cd $DIR; tail -f ./System/Server/Logs/printmodel.log" C-m
tmux send-keys -t $SESSION_NAME:2.2 "tail -f ./System/Server/Logs/printmodelDB.log" C-m
tmux send-keys -t $SESSION_NAME:2.1 "tail -f ./System/Server/Logs/printview.log" C-m
tmux send-keys -t $SESSION_NAME:2.3 "tail -f ./System/Server/Logs/PrintController.log" C-m
tmux select-pane -U
tmux select-pane -U
tmux select-pane -U
}
# -------------------------------------------------
### TMUX内からの起動であれば`unset $TMUX`する
if $TMUX ; then
RUN_INSIDE_TMUX=TRUE
unset TMUX
fi
### $SESSION_NAMEのセッションがなければ新規作成して展開する
(cd $DIR; tmux new-session -d -s $SESSION_NAME -n "041sv&Rack") \
&& create_workspace && lxterminal --title=Rmenu -e "tmux attach -t 0.0"
#create_workspace
### $SESSION_NAMEのセッションへ切り替える
$RUN_INSIDE_TMUX \
&& tmux switch-client -t $SESSION_NAME \

tmux attach -t $SESSION_NAME