介绍
Byobu是一个易于使用的tmux
(或screen
)终端多路复用器包装器。这意味着它可以让您轻松打开多个窗口并在单个终端连接中运行多个命令。
Byobu的主要功能包括多个控制台窗口,每个窗口中的拆分窗格,显示主机状态的通知和状态标记,以及跨多个连接的持久会话。这些为您提供了许多不同的选择和可能性,并且它足够灵活,可以让您完成任务并让您完成任务。
本教程将介绍如何安装和配置Byobu以及如何使用其最常用的功能。
在本教程中,您将需要:
sudo
命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。默认情况下,Ubuntu应该安装Byobu,所以在这里,我们将检查它是否已安装,然后配置一些其设置。
要检查是否已安装Byobu,请尝试运行此命令以输出其版本。
byobu --version
byobu version 5.106
tmux 2.1
如果没有显示当前版本号,您可以使用手动安装Byobu sudo apt-get install byobu
。
现在安装了Byobu,我们可以配置一些选项。
安装后默认禁用Byobu。您可以通过两种主要方式启用Byobu:您可以在byobu
每次要使用时手动启动它,也可以将其设置为在您登录帐户时自动启动。
要将Byobu添加到登录配置文件,请运行以下命令。这意味着每次您登录帐户时都会启动。
byobu-enable
The Byobu window manager will be launched automatically at each text login.
如果您稍后改变主意并想要在登录时禁用Byobu,请运行byobu-disable
。
因为Byobu会话是在多个登录会话中维护的,所以如果您没有专门关闭Byobu会话,则下次登录时将再次加载。这意味着您可以保持脚本运行并在连接之间打开文件没有问题。您还可以将多个活动登录连接到同一会话。
一旦Byobu配置为在登录时启动,您可以自定义它使用的多路复用器。
默认情况下,Byobu将tmux
用作后端多路复用器。但是,如果您愿意使用screen
,则可以轻松更改已启用的后端。
byobu-select-backend
这将提示您选择后端多路复用器。输入您喜欢的数字,然后按ENTER
。
Select the byobu backend:
1. tmux
2. screen
Choose 1-2 [1]:
本教程假设您tmux
启用了后端,但默认的键绑定也应该与screen
相同。
Byobu还包括一个彩色提示,其中包括上次执行命令的返回码。在某些环境中默认启用它。您可以通过运行来手动启用它(或检查它是否已启用):
byobu-enable-prompt
在此之后,您需要重新加载shell配置。
. ~/.bashrc
Byobu的彩色提示看起来像这样:
如果您稍后改变主意并想要禁用Byobu的彩色提示,则可以运行byobu-disable-prompt
。
Byobu现在已完全配置,所以我们来看看如何使用它。
Byobu使用功能键(F1
通过F12
键盘的顶行)作为默认键绑定,可以访问所有可用功能。在接下来的几个步骤中,我们将讨论会话,窗口和窗格的键绑定。
一个会话仅仅是屏风的运行实例。会话由一组窗口组成,这些窗口基本上是shell会话,窗格是窗口,它们分成多个部分。
第一次启动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。
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如此强大的原因。接下来,让我们通过学习如何使用窗格来扩展此示例。
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的示例中,使用拆分而不是窗口可以很容易地使用syslog尾部,编辑器窗口和新命令提示符,这些都在同一个窗口中打开。以下是将一个窗口拆分为三个窗格的情况:
既然您知道如何使用会话,窗口和窗格,我们将介绍Byobu的另一个功能:状态通知。
状态通知是Byobu屏幕底部状态栏中的通知。这些是定制Byobu体验的好方法。
按F9
进入Byobu配置菜单。可用选项包括查看帮助指南,切换状态通知,更改转义序列以及在登录时打开或关闭Byobu。导航到切换状态通知选项,然后按ENTER
。将显示所有可用状态通知的列表; 您可以选择要启用或禁用的那些。
启用状态通知后,它们将显示在底部状态栏中,与窗口指示器一起显示。默认情况下会启用一对,通常包括日期,负载和内存。某些通知具有可通过配置文件配置的选项,我们将在下一个教程中介绍。
有很多不同的通知可供选择,一些常用的通知是:
arch
显示了系统架构,即x86_64
。date
显示当前系统日期。disk
显示当前磁盘空间使用情况。hostname
显示当前系统主机名。ip_address
显示当前系统的IP地址。load_average
显示当前系统负载平均值。memory
显示当前的内存使用情况。network
显示当前的网络使用情况,发送和接收。reboot_required
显示需要重新启动系统时的指示灯。release
显示当前的分发版本(例如14.04)。time
显示当前系统时间。updates_available
在有可用更新时显示指示符。uptime
显示当前系统正常运行时间。whoami
显示当前登录的用户。选择要启用的状态通知后,选择“ 应用”。您可能需要按F5
才能刷新状态栏; 如果需要,将显示状态栏中的指示符。
状态通知是一种很好的方式,可以一目了然地查看您在系统中关注的信息。
Byobu还有很多能力。您可以阅读Byobu的手册页以获取更多详细信息,但这里有一些更有用的键绑定:
SHIFT+F1
显示键绑定的完整列表。如果你忘记了所有其他的键绑定,请记住这个!按q
退出。SHIFT+F12
切换是启用还是禁用键绑定。如果您尝试在Byobu中使用具有冲突的键盘键绑定的另一个终端应用程序,这会派上用场。CTRL+F9
打开一个提示,允许您将相同的输入发送到每个窗口; SHIFT+F9
对每个窗格都做同样的事情。正如您从我们所涵盖的各种功能中可以看到的那样,Byobu可以做很多事情,很有可能它适合您的工作流程,使事情变得更容易。
更多Ubuntu教程请前往腾讯云+社区学习更多知识。
参考文献:《How To Install and Use Byobu for Terminal Management on Ubuntu 16.04》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。