如何在Ubuntu16.04上安装和使用Byobu进行终端管理
介绍
Byobu 是 tmux
(或 screen
)终端多路复用器的易于使用的包装器。 这意味着您可以轻松地在单个终端连接中打开多个窗口并运行多个命令。
Byobu 的主要功能包括多个控制台窗口、每个窗口内的拆分窗格、用于显示主机状态的通知和状态标记,以及跨多个连接的持久会话。 这些为您提供了许多不同的选择和可能性,并且它足够灵活,可以让您摆脱困境并让您完成工作。
本教程将介绍如何安装和配置 Byobu 以及如何使用其最常见的功能。
先决条件
对于本教程,您将需要:
- 一台具有 sudo 非 root 用户的 Ubuntu 16.04 服务器,您可以按照 this initial server setup tutorial 进行设置。
第 1 步 — 安装 Byobu
Ubuntu 应该默认安装 Byobu,所以在这里,我们将检查它是否已安装,然后配置一些设置。
要检查 Byobu 是否已安装,请尝试运行此命令以输出其版本。
byobu --version
Outputbyobu version 5.106 tmux 2.1
如果不显示当前版本号,您可以使用 sudo apt-get install byobu
手动安装 Byobu。
现在已经安装了 Byobu,我们可以配置一些选项。
第 2 步 — 在登录时启动 Byobu
Byobu 安装后默认禁用。 您可以通过两种主要方式启用 Byobu:您可以在每次要使用 Byobu 时使用 byobu
命令手动启动它,也可以将其设置为登录帐户时自动启动。
要将 Byobu 添加到您的登录配置文件,请运行以下命令。 这意味着每次您登录您的帐户时,它都会启动。
byobu-enable
OutputThe Byobu window manager will be launched automatically at each text login.
如果您稍后改变主意并想在登录时禁用 Byobu,请运行 byobu-disable
。
因为 Byobu 会话是跨多个登录会话维护的,如果您没有专门关闭 Byobu 会话,它将在您下次登录时再次加载。 这意味着您可以让脚本运行并在连接之间打开文件而不会出现任何问题。 您还可以将多个活动登录名连接到同一个会话。
如果您希望将 Byobu 配置为在登录时启动,您就可以自定义它使用的多路复用器。
第 3 步 — 设置后端多路复用器
默认情况下,Byobu 将使用 tmux
作为后端多路复用器。 但是,如果您更喜欢使用 screen
,您可以轻松更改启用的后端。
byobu-select-backend
这将提示您选择后端多路复用器。 输入您喜欢的号码,然后按 ENTER
。
OutputSelect the byobu backend: 1. tmux 2. screen Choose 1-2 [1]:
本教程假设您启用了 tmux
后端,但是,默认键绑定也应该与 screen
相同。
第 4 步 — 启用彩色提示
Byobu 还包括一个彩色提示,其中包括最后执行的命令的返回码。 它在某些环境中默认启用。 您可以通过运行手动启用它(或检查它是否已启用):
byobu-enable-prompt
在此之后,您需要重新加载您的 shell 配置。
. ~/.bashrc
Byobu 的彩色提示如下所示:
如果您稍后改变主意并想要禁用 Byobu 的彩色提示,您可以运行 byobu-disable-prompt
。
Byobu 现在已经完全配置好了,让我们来看看如何使用它。
第 5 步 — 使用会话
Byobu 使用功能键(F1
到 F12
,键盘的第一行)作为默认键绑定,提供对所有可用功能的访问。 在接下来的几个步骤中,我们将讨论会话、窗口和窗格的键绑定。
session 只是一个正在运行的 Byobu 实例。 会话由 windows 的集合(基本上是 shell 会话)和 panes 的集合组成,它们是拆分为多个部分的窗口。
第一次启动 Byobu 时,它会为您启动一个新的会话,您可以在其中创建窗口和窗格。 在后续连接中,如果您只打开一个会话,Byobu 将在您连接时自动打开该会话; 如果您打开了多个会话,Byobu 会通过如下提示询问您要使用哪个会话:
Byobu 多会话提示
Byobu sessions... 1. tmux: 1: 1 windows (created Wed Aug 3 16:34:26 2016) [80x23] 2. tmux: 2: 1 windows (created Wed Aug 3 16:34:38 2016) [80x23] 3. Create a new Byobu session (tmux) 4. Run a shell without Byobu (/bin/bash) Choose 1-4 [1]:
使用会话的一个原因是因为每个会话都可以有自己的窗口大小,如果您要连接具有不同屏幕尺寸的多个设备(例如,电话和台式计算机),这将非常有用。 使用会话的另一个原因是在不关闭现有窗口的情况下拥有一个干净的工作区。
首先,通过 SSH 连接到您的服务器并启用 Byobu(如果之前的步骤中尚未启用)。 按 CTRL+SHIFT+F2
开始新会话,然后使用 ALT+UP
和 ALT+DOWN
在打开的会话中前后移动。
您可以按 CTRL+D
退出 Byobu 并关闭所有会话。 如果您想分离会话,有三种有用的方法可以做到这一点。
按 F6
干净地分离您当前的会话并将您从 SSH 连接中注销。 它不会关闭 Byobu,因此下次连接服务器时,将恢复当前会话。 这是 Byobu 最有用的功能之一; 您可以在安全断开连接的同时保持命令运行和文档打开。
如果您希望分离当前会话但保持与服务器的 SSH 连接,您可以使用 Shift-F6
。 这将分离 Byobu(但不会关闭它),并使您处于与服务器的活动 SSH 连接中。 您可以随时使用 byobu
命令重新启动 Byobu。
接下来,考虑您从多个位置登录到 Byobu 的场景。 虽然这通常是一个非常有用的功能,但它可能会导致问题,例如,如果其中一个连接的窗口大小要小得多(因为 Byobu 会调整自身大小以匹配最小的窗口)。 在这种情况下,您可以使用 ALT+F6
,它将断开所有其他连接并保持当前连接处于活动状态。 这可确保在 Byobu 中只有当前连接处于活动状态,并在需要时调整窗口大小。
回顾一下:
CTRL+SHIFT+F2
将创建一个新会话。ALT+UP
和 ALT+DOWN` 将滚动浏览您的会话。F6
将分离您当前的 Byobu 会话。SHIFT+F6
将分离(但不关闭)Byobu,并将保持您与服务器的 SSH 连接。 您可以使用byobu
命令返回 Byobu。ALT+F6
将断开与 Byobu 的所有连接,但当前连接除外。
接下来,让我们探索一下 Byobu 的功能之一:windows。
第 6 步 — 使用 Windows
Byobu 提供了在单个会话中在不同窗口之间切换的能力。 这使您可以轻松地在单个连接中执行多项任务。
为了演示如何操作窗口,让我们考虑一个场景,我们希望通过 SSH 连接到服务器并观察系统日志文件,同时在另一个窗口中编辑文件。 在 Byobu 会话中,使用 tail
来查看系统日志文件。
sudo tail -n100 -f /var/log/syslog
在运行时,按 F2
打开一个新窗口,这将为我们提供一个新的命令提示符。 我们将使用这个新窗口在我们的主目录中使用 editor
编辑一个新的文本文件:
editor ~/random.file
我们现在打开了两个窗口:一个是拖尾 /var/log/syslog
,另一个在编辑器会话中。 您可以分别使用 F3
和 F4
在窗口中左右滚动。 您还可以为这些窗口命名,以便更轻松地组织和查找它们。 要为当前窗口添加名称,请按 F8
,然后输入有用的名称(如“tail 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
重命名列表中当前打开的窗口。F7
让您在当前窗口中查看回滚历史。
仅使用几个选项,您就执行了许多有用的操作,这些操作很难通过单个标准 SSH 连接轻松复制。 这就是让Byobu如此强大的原因。 接下来,让我们通过学习如何使用窗格来扩展这个示例。
第 7 步 — 使用窗格
Byobu 提供了将窗口拆分为多个窗格的能力,其中包含水平和垂直拆分。 这些允许您在同一窗口内执行多项任务,而不是跨多个窗口。
通过按 SHIFT+F2
在当前窗口面板中创建水平分割,使用 CTRL+F2
创建垂直分割。 焦点窗格将被均匀拆分,允许您根据需要拆分窗格以创建相当复杂的布局。 请注意,如果没有足够的空间将窗格拆分为两个,则无法拆分窗格。
将一个窗口拆分为至少两个窗格后,使用 SHIFT+LEFT/RIGHT/UP/DOWN
或 SHIFT+F3/F4
在它们之间导航。 这允许您让命令在一个窗格中运行,然后移动到另一个窗格以运行不同的命令。 您可以使用 CTRL+F3/F4
分别向上或向下移动当前窗格来重新排列窗格。
SHIFT+ALT+LEFT/RIGHT/UP/DOWN
允许您操纵当前选定窗格的宽度和高度。 这将在移动拆分时自动调整窗口内周围面板的大小,并且可以在您在其中工作时轻松将窗格放大很多,然后在您的焦点转移时放大不同的窗格。
您还可以使用 SHIFT+F11
放大窗格,使其充满整个窗口; 再次按 SHIFT+F11
会将其切换回原来的大小。 最后,如果要将窗格拆分为一个全新的窗口,请使用 ALT+F11
。
回顾一下:
SHIFT+F2
创建一个水平窗格;CTRL+F2
创建一个垂直的。SHIFT+LEFT/RIGHT/UP/DOWN
或SHIFT+F3/F4
在窗格之间切换。CTRL+F3/F4
分别向上或向下移动当前窗格。SHIFT+ALT+LEFT/RIGHT/UP/DOWN
调整当前窗格的大小。SHIFT+F11
切换窗格以临时填充整个窗口。ALT+F11
将窗格永久拆分为自己的新窗口。
在第 7 步的示例中,使用拆分而不是窗口会很容易,这样我们就可以在同一个窗口中打开系统日志尾部、编辑器窗口和新的命令提示符。 这是一个窗口分成三个窗格时的样子:
现在您知道如何使用会话、窗口和窗格,我们将介绍 Byobu 的另一个功能:状态通知。
第 8 步 — 使用状态通知
状态通知是屏幕底部状态栏中的通知。 这些是定制您的 Byobu 体验的好方法。
按 F9
进入 Byobu 配置菜单。 可用选项是查看帮助指南、切换状态通知、更改转义序列以及在登录时打开或关闭 Byobu。 导航到 切换状态通知 选项,然后按 ENTER
。 将显示所有可用状态通知的列表; 您可以选择要启用或禁用的那些。
启用状态通知后,它们将出现在底部状态栏中,与窗口指示器一起出现。 默认情况下启用了几个,通常包括日期、负载和内存。 一些通知具有可以通过配置文件配置的选项,我们将在下一个教程中介绍。
有很多不同的通知可供选择,一些常用的有:
arch
显示系统架构,即x86_64
。- `battery 显示当前电池电量(适用于笔记本电脑)。
date
显示当前系统日期。disk
显示当前磁盘空间使用情况。hostname
显示当前系统主机名。ip_address
显示当前系统 IP 地址。load_average
显示当前系统平均负载。memory
显示当前内存使用情况。network
显示当前网络使用情况,发送和接收。reboot_required
显示需要重新启动系统时的指示符。release
显示当前分发版本(例如 14.04).time
显示当前系统时间。updates_available
在有可用更新时显示一个指示器。uptime
显示当前系统正常运行时间。whoami
显示当前登录的用户。
选择您希望启用的状态通知后,选择 Apply。 您可能需要按F5
刷新状态栏; 如果需要,状态栏中会出现一个指示器。
状态通知是让您在系统中一目了然地查看您关心的信息的好方法。
结论
Byobu 的能力还有很多。 您可以阅读 Byobu 的手册页 了解更多详细信息,但这里有一些更有用的键绑定:
SHIFT+F1
显示键绑定的完整列表。 如果您忘记了所有其他键绑定,请记住这个! 按q
退出。SHIFT+F12
切换键绑定是启用还是禁用。 如果您尝试在 Byobu 中使用另一个具有冲突键盘键绑定的终端应用程序,这会派上用场。CTRL+F9
打开一个提示,让您向每个窗口发送相同的输入;SHIFT+F9
对每个窗格执行相同的操作。
正如您从我们所涵盖的广泛功能中看到的那样,Byobu 可以做很多事情,并且很有可能它会适合您的工作流程,让事情变得更容易。