Xshell和SecureCRT等SSH下使用Tmux及Byobu(解决Byobu被statusline信息面板刷屏问题)

  Vim的vsplit用得爽吧!多命令行模式,同样让你爽得不蛋疼!

  下面介绍一下两个终端多控制台软件:Tmux 和 Byobu!本文还是以Xshell为主进行介绍!

--------------Tmux 让控制台更简单实用高效简洁----------------

  工欲善其事,必先利其器,先来个大局观:

  开启Tmux服务器 >> 初始化一个会话(Session) >>  创建一个窗口  >>初始化一个面板

  接下来当然是安装,骚年不要客气,直接复制安装命令吧:

vagrant@vagrant-ubuntu-trusty:~$ sudo apt-get install tmux

  

  tmux使用也是相当简单,直接命令行:

vagrant@vagrant-ubuntu-trusty:~$ tmux

  进入如下界面,这时候就随便你搓揉捏挤了,当然,少侠请轻点~

  

  激活控制台,按一次 【Ctrl + b】, 注意,按一次就可以了,按多次你也只能听到系统反馈的duang~duang~声。。

  此时,不同的键入可以让你拥有可供蹂躏的“横竖撇捺”多个小面板注意:这里使用的是“面板”这个词,目前仍在同一个窗口中!OS:小猴子,你还没飞出我的五指山呢,不信你闻闻!):

    第一种:【" 】 横向切割当前面板为两块;

    第二种:【%】 纵向切割当前面板;效果如下:

  

  嗯,本屌(丝)嫩了五个面板,终端在屏幕不够切割的时候是不让你再新建的,会告诉你:小婊砸,pane is too small!

  (本屌不幸被终端给鄙视了,奉劝各位试验对象小心点尝试!%>_<%)

  言归正传,用过Vim大法的人都知道,Split下的屏幕切换直接【Ctrl + w】唰唰唰的。

  那么Tmux下怎么切换呢,命令很简单:

    第一步,激活控制台【Ctrl + b】(注意:所有的命令都必须要先激活一下控制台!!!!!!);

    第二步,【←】 【→】【↑】【↓】,没错,你没看错,就是方向键。

    第三步,【{】【}】,纯粹的前进后退,根据面板编号来进行,面板编号可用【q】。

  面板那么多,关掉一两个,怎么办?

    第一种,切换到要丢弃的面板中【x】;

    第二种,命令行键入:

vagrant@vagrant-ubuntu-trusty:~$ exit

   以上,属于面板操作的部分,基本上足够在Xshell下使用了。

  1、关于多窗口模式,其实不如用Xshell开启多个窗口,否则挺容易忘掉还开着一个窗口的哎。想用你直接看看附录一吧。

  2、关于配置文档~/.tmux.conf,实际也是tmux的命令集合,可自行变更,更多方便,仅需命令行模式下【man tmux】

  附录一列出了常用的命令  // PS : 你也可以命令行直接 【Ctrl + b】 + 【?】

   

--------------Byobu 让控制台操作更方便大气----------------

  据某位大神(有Mac,妈妈我要,pia!)说,另外某位大神(windows黑!pialapiala操作想象不能,直到遇到他!)推荐了Byobu这玩意儿,于是,我如获至宝一般的装B了一下:

vagrant@vagrant-ubuntu-trusty:~$ sudo apt-get install byobu
vagrant@vagrant-ubuntu-trusty:~$ sudo apt-get install screen byobu

  本屌建议直接使用第二条命令~

  看出来上面两个命令行的差别了吗!?Screen其实是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器,而Byobu是对Screen的强化。

  启动:

vagrant@vagrant-ubuntu-trusty:~$ byobu

  妈呀,一大波状态栏信息霸屏而来!不要问本屌心情如何,我想静静!

  

  好吧,SSH类终端默认是开启VT模式下的 auto wrap mode:

  1、Xshell下:文件->属性->终端->VT模式->初始VT模式->去掉 Auto Wrap Mode (DECAWM) 勾选->退出SSH重新登录一次

  2、SecureCRT下:选项->会话选项->终端->仿真模式->去掉 [换行] 勾选->退出SSH重新登录一次

  附图:左X右S,(^o^)/~

     

  嗯,再次连入,本屌又一口气新建了好几个面板,看亮骚的紫兰色╰(๑◕ ▽ ◕๑)╯

  

  新建:

    【F2】大法带你飞!(仅限本窗口,OS:尼玛怎么还有尿骚味!)

  切换

    【F3】【F4】进可攻,退可受!

  关闭窗口:

    命令行【exit】 或者直接【Ctrl + d】 叔叔我们不约不约!而当你退出最后一个窗口,意味着你关闭了本次会话

  断开链接:

    【F6】叔叔再见!(。⌒∇⌒)

  状态保存及恢复现场:

    Byobu基于Screen,相应的,你会发现它断开链接后仍然保存有工作现场,即,你再重新启动byobu时会发现,所有的窗口与断开链接时一致!

  其他命令:

    在SSH终端中,切割窗口命令【Ctrl / Shift + F2】无法生效(还是乖乖用原生linux或者MAC吧!)

  

  附录二列出Byobu的常用快捷键,当然windows下的朋友们想上下一起来还是选用Tmux吧~!

----------------------------可耻的分割线一-----------------------------------

附录一:Tmux键盘常用快捷键

  

Ctrl+b
激活控制台;此时以下按键生效
系统操作
?
列出所有快捷键;按q返回
d
脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
D
选择要脱离的会话;在同时开启了多个会话时使用
Ctrl+z
挂起当前会话
r
强制重绘未脱离的会话
s
选择并切换会话;在同时开启了多个会话时使用
:
进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
[
进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
~
列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
窗口操作
c
创建新窗口
&
关闭当前窗口
数字键
切换至指定窗口
p
切换至上一窗口
n
切换至下一窗口
l
在前后两个窗口间互相切换
w
通过窗口列表切换窗口
,
重命名当前窗口;这样便于识别
.
修改当前窗口编号;相当于窗口重新排序
f
在所有窗口中查找指定文本
面板操作
将当前面板平分为上下两块
%
将当前面板平分为左右两块
x
关闭当前面板
!
将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
Ctrl+方向键
以1个单元格为单位移动边缘以调整当前面板大小
Alt+方向键
以5个单元格为单位移动边缘以调整当前面板大小
Space
在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
q
显示面板编号
o
在当前窗口中选择下一面板
方向键
移动光标以选择面板
{
向前置换当前面板
}
向后置换当前面板
Alt+o
逆时针旋转当前窗口的面板
Ctrl+o
顺时针旋转当前窗口的面板

附录二:Byobu键盘快捷键

F2  Create a new window
F3  Move to the previous window
F4  Move to the next window
F5  Refresh all status notifications
F6  Detach from the session and logout
Shift-F6  Detach from the session, but do not logout
F7   Enter scrollback/search mode
F8  Rename the current window
F9  Launch the Byobu Configuration Menu
F12  GNU Screen's Escape Key
Alt-Pageup  Scroll back through this window's history
Alt-Pagedown  Scroll forward through this window's history
Shift-F2  Split the screen horizontally
Ctrl-F2  Split the screen vertically
Shift-F3   Move focus to the next split
Shift-F4  Move focus to the previous split
Shift-F5  Collapse all splits
Ctrl-F5  Reconnect any SSH/GPG sockets or agents
Shift-F12   Toggle all of Byobu's keybindings on or off

  ----------

  后记:写博客果然辛苦。

转载请注明出处:http://www.cnblogs.com/w3chen/
原文地址:https://www.cnblogs.com/w3chen/p/4495079.html