介绍
Byobu是一个易于使用的包装器围绕tmux
(或屏幕
)终端 multiplexer. 这意味着它可以让你轻松打开多个窗口并在一个终端连接中运行多个命令。
Byobu的主要功能包括多个主机窗口,每个窗口中的分割板,通知和状态标签来显示主机的状态,以及跨多个连接的持久会话。
本教程将涵盖如何安装和配置 Byobu,以及如何使用其最常见的功能。
前提条件
对于这个教程,你将需要:
- 一个 Ubuntu 16.04 服务器和一个 sudo 非 root 用户,您可以通过遵循 此初始服务器设置教程来设置。
步骤 1 - 安装 Byobu
Ubuntu 应该与 Byobu 默认安装,所以在这里,我们会检查它是否已安装,然后配置一些如果它的设置。
要检查 Byobu 是否已安装,请尝试运行此命令以输出其版本。
1byobu --version
1[secondary_label Output]
2byobu version 5.106
3tmux 2.1
如果它不显示当前版本号,您可以使用sudo apt-get install byobu
手动安装 Byobu。
现在 Byobu 已安装,我们可以配置一些选项。
步骤 2 — 开始 Byobu 登录
Byobu 在安装后默认情况下被禁用. 您可以通过两种主要方式启用 Byobu:您可以随时使用byobu
命令手动启动它,或者您可以设置它在登录帐户时自动启动。
要将 Byobu 添加到您的登录配置文件中,请运行以下命令,这意味着每次您登录您的帐户时,它将启动。
1byobu-enable
1[secondary_label Output]
2The Byobu window manager will be launched automatically at each text login.
如果您稍后改变主意,并希望在登录时禁用 Byobu,请运行byobu-disable
。
由于 Byobu 会话在多个登录会话中进行维护,如果您没有特别关闭一个 Byobu 会话,它将在下次登录时再次加载。
一旦 Byobu 已配置以启动登录,如果您想要,您可以自定义它使用的 multiplexer。
步骤 3 – 设置后端多重组件
默认情况下,Byobu 将使用tmux
作为后端 multiplexer. 但是,如果您更喜欢使用屏幕
,您可以轻松更改已启用的后端。
1byobu-select-backend
这将提示您选择后端多元化,输入您喜欢的号码,然后按ENTER
。
1[secondary_label Output]
2Select the byobu backend:
3 1. tmux
4 2. screen
5
6Choose 1-2 [1]:
本教程假设您已启用了tmux
后端,但是默认的密钥绑定应该与屏幕
相同。
步骤 4 – 启用彩色指南
Byobu还包含一个彩色的提示,其中包括最后执行的命令的返回代码. 在某些环境中默认启用,您可以通过运行手动启用(或检查它是否已启用):
1byobu-enable-prompt
在此之后,您将需要重新加载您的壳配置。
1. ~/.bashrc
Byobu的彩色提示看起来像这样:
如果您稍后改变主意,并希望禁用 Byobu 的彩色提示,您可以运行byobu-disable-prompt
。
Byobu现在已经完全配置了,所以让我们来谈谈如何使用它。
步骤5 - 使用会议
Byobu 使用函数密钥(‘F1’到‘F12’,键盘的顶部行)作为默认密钥链接,这些密钥链接可以访问所有可用的功能。
一个 session 只是 Byobu 的运行实例,一个会话由一个 windows 集合组成,这些集合基本上是 shell 会话,而 panes 则是分为多个部分的窗口。
当你第一次启动 Byobu 时,它会为你启动一个新的会话,在其中你会创建窗口和窗口。 在后续连接中,如果你只有一个会话是开放的,Byobu 会在你连接时自动打开该会话;如果你有多个会话是开放的,Byobu 会问你想要使用哪个会话,并提示你这样:
1[label Byobu multiple session prompt]
2Byobu sessions...
3
4 1. tmux: 1: 1 windows (created Wed Aug 3 16:34:26 2016) [80x23]
5 2. tmux: 2: 1 windows (created Wed Aug 3 16:34:38 2016) [80x23]
6 3. Create a new Byobu session (tmux)
7 4. Run a shell without Byobu (/bin/bash)
8
9Choose 1-4 [1]:
使用会话的一个原因是,每个会话可以有自己的窗口大小,如果您连接到具有不同屏幕大小的多个设备(例如,手机和桌面计算机),这很有用。
首先,将 SSH 传输到您的服务器中,并启用 Byobu,如果它尚未在上面的步骤中启用,请通过按CTRL+SHIFT+F2
启动新的会话,然后使用ALT+UP
和ALT+DOWN
在您的开放会话中向前移动。
您可以按CTRL+D
,退出 Byobu 并关闭所有会话. 如果您想分离会话,有三种有用的方法可以做到这一点。
按F6
即可清洁地分离您当前的会话,并将您从 SSH 连接中退出。它不会关闭 Byobu,所以下次您连接到服务器时,当前会话将被恢复。
如果你想分离当前的会话,但保持与服务器的SSH连接,你可以使用Shift-F6
。这将分离Byobu(但不关闭它),并让你在一个活跃的SSH连接到服务器。
接下来,考虑一个场景,你从多个位置登录 Byobu. 虽然这通常是一个非常有用的功能来利用,但如果,例如,一个连接有一个更小的窗口大小(因为 Byobu 会调整大小以匹配最小的窗口)。
回复一下:
CTRL+SHIFT+F2
将创建一个新的会话。
*ALT+UP
和ALT+DOWN
将通过你的会话滚动。
*F6
将分离你的当前的Byobu会话。
*SHIFT+F6
将分离(但不关闭)Byobu,并将保持你的SSH连接到服务器。你可以用byobu
命令返回Byobu。
*ALT+F6
将分离所有连接到Byobu,除了当前的连接。
接下来,让我们探索Byobu的一个功能:窗口。
步骤 6 - 使用 Windows
Byobu 提供了在单一会话中在不同的窗口之间切换的能力,这允许您在单一连接中轻松完成多个任务。
为了展示如何操纵窗口,让我们考虑一个场景,我们想将SSH转到服务器中,并在另一个窗口中编辑文件时观看系统日志文件。
1sudo tail -n100 -f /var/log/syslog
当它运行时,通过按F2
来打开一个新窗口,这将为我们提供一个新的命令提示,我们将使用这个新窗口用编辑器
编辑我们主目录中的新文本文件:
1editor ~/random.file
现在我们有两个窗口打开:一个是尾声 /var/log/syslog
,另一个是在编辑会话中。您可以通过窗口进行左转和右转,分别使用 F3
和 F4
。您还可以给这些窗口的名称,以便更容易组织和找到它们。 要在当前的窗口中添加一个名称,请按 F8
,然后键入一个有用的名称(如 '尾声 syslog'),然后按 ENTER
。 通过每个窗口滚动并命名它们。 如果您想要重新排序它们,请使用 CTRL+SHIFT+F3/F4
来移动当前的左转或右转在列表中,分别。
在此时刻, syslog 应该有某些日志条目。为了查看屏幕上不再显示的某些旧消息,请滚动到日志窗口,然后按F7
来输入滚动历史记录。您可以使用Up
/Down
和PageUp
/PageDown
来移动滚动历史记录。完成后,按ENTER
。
现在,如果您需要暂时脱离服务器,您可以按F6
。这将清楚地结束SSH连接并脱离Byobu。一旦它关闭,您可以使用SSH重新连接,而当Byobu回来时,我们现有的三个窗口都将存在。
回复一下:
F2
在当前会话中创建新窗口.F3
和F4
滚动到窗口列表中的左边和右边。CTRL+SHIFT+F3/F4
移动到窗口列表中的左边和右边。F8
重命名列表中的当前开放窗口。
仅使用几个选项,你已经执行了一些有用的操作,这将是很难轻松复制一个标准的SSH连接。这就是为什么Byobu如此强大。
步骤7:使用面包
Byobu 提供了将窗户分割成多个面板的能力,既有水平和垂直分割,这些功能允许您在同一个窗口内进行多个任务,而不是跨多个窗口。
通过按SHIFT+F2
来创建当前窗口面板的水平分区,并按CTRL+F2
来创建垂直分区。聚焦面板将均匀分区,允许您将所需的面板分区,以创建相当复杂的布局。
一旦您将窗口划分为至少两个窗口,请使用SHIFT+LEFT/RIGHT/UP/DOWN
或SHIFT+F3/F4
在它们之间导航,这样您就可以在一个窗口中留下运行命令,然后移动到另一个窗口来运行不同的命令。
SHIFT+ALT+LEFT/RIGHT/UP/DOWN
允许您操纵当前选择的面板的宽度和高度,这将自动改变窗口中的周围面板的尺寸,随着分割移动,使您在工作时更容易使面板更大,然后在焦点转移时更大一个不同的面板。
您还可以用SHIFT+F11
缩放到窗口中,使其填充整个窗口;再次按SHIFT+F11
将窗口重新切换到原始大小。
回复一下:
SHIFT+F2
创建一个水平面板;CTRL+F2
创建一个垂直面板。SHIFT+LEFT/RIGHT/UP/DOWN
或SHIFT+F3/F4
切换板之间。CTRL+F3/F4
移动当前面板分别向上或向下。SHIFT+ALT+LEFT/RIGHT/UP/DOWN
重定向当前面板。
在步骤 7 的示例中,将很容易使用分区而不是窗口,使我们能够在同一窗口中打开 syslog 尾巴,编辑窗口和新的命令提示。
现在你知道如何使用会话、窗口和面板,我们将涵盖Byobu的另一个功能:状态通知。
步骤 8 – 使用状态通知
状态通知是 Byobu 屏幕底部状态栏中的通知,这是个很好的方式来定制您的 Byobu 体验。
点击F9
进入 Byobu 配置菜单. 可用的选项是查看帮助指南、转换状态通知、更改逃避序列,并在登录时转换 Byobu。 转到 Toggle status notification 选项并按下ENTER
。 将显示所有可用的状态通知列表;您可以选择您想要启用或禁用的通知。
当状态通知启用时,它们将出现在状态栏的底部,旁边是窗口指标。默认情况下,有几个启用,通常包括日期,负载和内存。
有很多不同的通知可供选择,一些常用的通知是:
arch
显示系统架构,即x86_64
.- `电池显示当前的电池水平(对于笔记本电脑)。
date
显示当前的系统日期。disk
显示当前的磁盘空间使用量。hostname
显示当前的系统名称。ip_address
显示当前的系统 IP 地址。load_average
显示当前的系统负载平均值。memory
显示当前的内存使用量。
选择要启用的状态通知后,选择 Apply . 您可能需要按F5
来刷新状态栏;如果需要,状态栏中会出现一个指标。
状态通知是一个很好的方式,可以一眼就能看到您在系统中关心的信息。
结论
你可以阅读 Byobu的男人页面 更多细节,但这里有一些更有用的密钥链接:
*「SHIFT+F1」顯示了所有關鍵連結的完整列表. 如果你忘記了其他關鍵連結,只需記住這個! 按「q」來退出。 *「SHIFT+F12」會變更關鍵連結是否已啟用或禁用。 如果你嘗試在 Byobu 中使用另一個關鍵連結的終端應用程式,它會有矛盾的關鍵連結。 *「CTRL+F9」會開啟一個提示,讓你向每個窗口傳送相同的資料;「SHIFT+F9」會為每個窗口做相同的操作。
正如您可以从我们所涵盖的各种功能中看到的,Byobu可以做很多事情,并且有很好的机会它会适应您的工作流程,使事情变得更容易完成。