如何在Ubuntu 16.04上安装和使用Byobu进行终端管理

介绍

Byobu是一个易于使用的tmux(或screen)终端多路复用器包装器。这意味着它可以让您轻松打开多个窗口并在单个终端连接中运行多个命令。

Byobu的主要功能包括多个控制台窗口,每个窗口中的拆分窗格,显示主机状态的通知和状态标记,以及跨多个连接的持久会话。这些为您提供了许多不同的选择和可能性,并且它足够灵活,可以让您完成任务并让您完成任务。

本教程将介绍如何安装和配置Byobu以及如何使用其最常用的功能。

准备

在本教程中,您将需要:

  • 一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

第1步 - 安装Byobu

默认情况下,Ubuntu应该安装Byobu,所以在这里,我们将检查它是否已安装,然后配置一些其设置。

要检查是否已安装Byobu,请尝试运行此命令以输出其版本。

byobu --version
byobu version 5.106
tmux 2.1

如果没有显示当前版本号,您可以使用手动安装Byobu sudo apt-get install byobu

现在安装了Byobu,我们可以配置一些选项。

第2步 - 登录时启动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配置为在登录时启动,您可以自定义它使用的多路复用器。

第3步 - 设置后端多路复用器

默认情况下,Byobu将tmux用作后端多路复用器。但是,如果您愿意使用screen,则可以轻松更改已启用的后端。

byobu-select-backend

这将提示您选择后端多路复用器。输入您喜欢的数字,然后按ENTER

Select 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键盘的顶行)作为默认键绑定,可以访问所有可用功能。在接下来的几个步骤中,我们将讨论会话,窗口和窗格的键绑定。

一个会话仅仅是屏风的运行实例。会话由一组窗口组成,这些窗口基本上是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+UPALT+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/ DownPageUp/ PageDown来浏览回滚历史记录。完成后,按ENTER

现在,如果您需要暂时断开与服务器的连接,可以按F6。这将明显结束SSH连接并与Byobu分离。当它关闭时,你可以使用SSH重新连接,当Byobu回来时,我们所有三个现有的窗口都会在那里。

回顾一下:

  • F2 在当前会话中创建新窗口。
  • F3F4在窗口列表中向左和向右滚动。
  • 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/DOWNSHIFT+F3/F4在窗格之间切换。
  • CTRL+F3/F4 分别向上或向下移动当前窗格。
  • SHIFT+ALT+LEFT/RIGHT/UP/DOWN 调整当前窗格的大小。
  • SHIFT+F11 切换窗格以暂时填充整个窗口。
  • ALT+F11 永久地将窗格拆分为自己的新窗口。

在步骤7的示例中,使用拆分而不是窗口可以很容易地使用syslog尾部,编辑器窗口和新命令提示符,这些都在同一个窗口中打开。以下是将一个窗口拆分为三个窗格的情况:

既然您知道如何使用会话,窗口和窗格,我们将介绍Byobu的另一个功能:状态通知。

第8步 - 使用状态通知

状态通知是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》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏zhangdd.com

tomcat安全加固

1. 升级到最新稳定版,这个是老生常谈了。目前Tomcat支持6.0和7.0两个版本。

21720
来自专栏Wordpress专用主机|主题模板|必备插件

如何使用Elementor插件制作Wordrpess首页?

之前推荐过一款广受好评的wordpress页面构建编辑插件:Elementor,由于其功能过于强大,编辑出的页面也很美观。很多wp爱好者不禁要问一下:可以使用E...

5.8K110
来自专栏技术博文

linux定时任务的设置

为当前用户创建cron服务 1.  键入 crontab  -e 编辑crontab服务文件       例如 文件内容如下:      */2 * * * *...

1.8K100
来自专栏建站达人秀

如何快速搭建 hexo 博客

本文将简介如何自己的服务器、腾讯云COS及Github Page上部署hexo博客。

1.1K50
来自专栏dotnet & java

这可能是最low的发布dotnet core站点到centos7教程

不得不说:我在chrome上写了好长一段,贴了23张图,然后一个crash。。我想说我电脑上的chrome已经crash太多次了 以后一定要搞离线编辑的。

10130
来自专栏北京马哥教育

ansible基础应用

一、运维主要工作 ? ansible聚集以上功能于一身,能够完整轻易的实现应用部署和批量命令功能,适用于主机数量不太多,再大的用puppet。 二、ansib...

40870
来自专栏Java3y

Linux用户和权限管理看了你就会用啦

没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了。这篇主要将Linux下的用户和权限知识点再整理一下。

3.7K10
来自专栏Linyb极客之路

Tomcat实战-调优方案

Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力。提高Tomcat的性能可以分为两个方向。

19230
来自专栏zhangdd.com

CentOS 7.0 systemctl使用说明

centos 7.0  引入了很多心得特性,感觉比较大的是sytemctl 命令的使用。

6510
来自专栏Laoqi's Linux运维专列

Tomcat实战-调优方案

29930

扫码关注云+社区

领取腾讯云代金券