树莓派计算教程-全-

树莓派计算教程(全)

原文:COMPUTING WITH THE RASPBERRY PI

协议:CC BY-NC-SA 4.0

一、将 Raspberry Pi 设置为电脑

在这一章中,我们将看看我们项目的硬件方面。我们将讨论硬件和部件的所有选项;然后我们会把所有东西都组装好。该项目的最大部分是安装基本的操作系统,并通过 Raspbian 的初始设置阶段,即 Raspberry Pi 操作系统。

如果你曾经组装过台式电脑,这基本上是相同的过程,但在 Pi 上一切都有所不同。如果你以前从未“制造”过电脑,那么你将会看到有趣的一章;一旦你得到了所有的部分,剩下的就是按照说明去做了。

很明显为什么你需要硬件;没有物理部件就没有计算机。但是为什么我们需要安装操作系统呢?在 Mac 或 Windows 电脑上通常不需要这样做,那么为什么 Pi 需要这样做呢?最简单的理由是自由选择

如果你有一台 Mac 电脑,你将运行 MacOS(以前的 OSX)。如果你有一台消费者风格的个人电脑,它将配备 Windows 10。你不需要安装任何东西;只要把它们插上电源,它们就会工作,但是你没有选择的余地。你通常不会在 Mac 上运行 Windows,也不会在 PC 上运行 MacOS。别无选择。

另一方面,Raspberry Pi 运行的是 Linux 操作系统,而不是 MacOS 或 Windows。Linux 是一个免费的操作系统,由志愿者免费创建和维护。数以百万计的志愿者在不断改进、调试和不知疲倦地工作,这样就有了 MacOS 和 Windows 的替代品。

像任何大型团队一样,当你有那么多开发人员时,很难让每个人都同意什么是最好的,所以有许多不同类型的 Linux。这些不同的味道被称为分布。每一个本质上都是一样的,这就是为什么他们是 Linux 但操作系统的许多方面都是可选的,比如桌面是什么样子,设置屏幕如何工作,包括哪些应用,默认的网络浏览器是什么,等等。大约有十几个不同的 Linux 发行版可以在 Raspberry Pi 上运行,我们将只重点介绍其中的一个;但在任何时候,设置和使用不同的版本都很容易,而且令人惊讶的是,这非常有趣——你可能想尝试几个版本,看看哪一个最像你在计算机中想要的。

硬件要求和入门注意事项

我说过我们会尽量少来,我不是开玩笑。这里没有任何技巧或隐性成本。没有每月付费的订阅服务,不需要额外的硬件;但是大多数常见的 PC 硬件配件,像硬盘驱动器、闪存驱动器、花式鼠标、键盘和蓝牙设备,都可以随意使用,所以你不必局限于基本的。

这里有一个你可能还没有的东西的快速“购物清单”。所有价格均以美元为单位:

  • Raspberry Pi model 4 系统板(35-55 美元)。

  • 5.1V/3.0A DC 输出电源,带微型 USB 插头(8 美元左右)。

  • 8GB 以上容量的 Micro SD 卡(6 美元左右)。

  • 为 model 4 系统制造的某种 Shell 或箱子。

  • 在撰写本文时,CanaKit(和其他来源)提供了一个完整的入门套件,包括 Shell、电源、散热器、SD 卡和 Raspberry Pi 主板,价格为 79.95 美元。

    或者,

  • 树莓 Pi 型号 3B+系统板(约 35 美元)

  • 带微型 USB 插头的 3.5A 电源(约 7 美元)

  • 8GB 或更大容量的微型 SD 卡(约 6 美元)

  • 为 3B+系统制作的某种 Shell 或箱子(6 美元及以上)

以下是需要考虑的其他事项:

  • 主板:对于系统板,你可以用比较老的树莓 Pi 型号,不要用 4 或者 3B+,但是我不会推荐。Pi model 2s 要慢得多,而且还需要一个用于 Wi-Fi 和蓝牙的加密狗。Wi-Fi 和蓝牙内置在型号 3 Pi 中。此外,3B+比原来的 3B 更快,网络速度更好。Raspberry Pi Zero 是当前的设备,但处理器能力明显较低,许多桌面应用都需要这种能力。为了获得最大功率,我们需要最新、最强大的 Pi,也就是 model 4,这是合乎逻辑的。如果你愿意,你可以使用 Pi Zero 或者更老的版本,但是同样的应用可能会有难以预料的困难。本书中提到的所有内容都经过了 3B+和 4 型的全面测试。

  • 型号 3B+电源:取决于你的手机,你为它使用的充电器可能在这里工作正常。检查安培数和它使用微型 USB 插头。大部分安卓手机都有这个插头,iPhones 没有。Raspberry Pi 型号 3 的电源要求是 5V 和 2.5A。Pi 型号 2 和一些旧型号可以使用 2A 电源,但型号 3 和 3+对稳定的 2.5a 要求更严格。如果有疑问,请购买经批准的电源。网上有各种型号,价格从 7 美元到 10 美元不等。

  • 型号 4 电源:较新的型号 4 RPi 板从 USB-C 连接器获取电源,而不是所有以前型号的 micro-USB。它们的功耗通常也比以前的任何系统都高。model 4 需要一个 15.3W 的 USB-C 电源。同样,手机充电器也可以,但为了安全起见,请使用经过认证的电源。

  • Micro SD 卡:如果你身边有一张 Micro SD 卡,你几乎可以使用任何一张,但标有“class 10”的是最快的。这基本上是我们的启动硬盘,所以我们可以在这一领域的任何减速带是好的。该卡的“官方”最大容量是 32GB。虽然有报道说一些更大尺寸的卡可以工作,但是没有保证,而且一些更大的卡肯定不能工作。我的建议是先买一张 8-16GB 的 10 级卡,这取决于你能得到什么样的交易。稍后,我们将研究如何设置 Pi 从实际的外部硬盘驱动器引导,对于存储大量数据来说,这将是一个更好、更安全的解决方案。在我写这篇文章的时候,一张新的 16GB 的卡售价不到 6 美元,所以如果你已经有了一张慢卡,我建议你花钱买张新的。

  • 案例:我见过很多人在桌面上放着暴露的板子使用 Pi。很管用,但是我不会推荐。找一个你喜欢的案子。如果您打算长时间使用该系统,您会希望保持主板上没有灰尘和污垢,并且您需要操作计算机来插入电源和各种 USB 电缆。一个好的盒子可以保护所有的东西,让它们看起来更好。有价格低至 6 美元的廉价塑料盒,也有一些价格高达 50 美元的精美手工雕刻木制盒。它们本质上都是一样的,所以便宜就好。有一些高端案例包含了风扇,但是对于我们将要运行的软件来说,这几乎是不必要的。我建议买你能找到的最便宜的箱子,但是不要害怕以后挥霍。如果你对木头很在行,或者如果你有一台 3D 打印机,你甚至可以自己制作!此外,请记住,model 4 的端口布局与任何旧型号完全不同,因此为 model 3 制作的案例不适用于 model 4

这里有一些你可能已经需要的东西:

  • 键盘

  • 老鼠

  • 班长

  • 用于将 Pi 连接到显示器的 HDMI 电缆

随着 2019 年 6 月树莓 Pi model 4 的推出,树莓 Pi 基金会也为 Pi 推出了官方键盘和鼠标。这些都是吸引人的颜色协调,以配合官方的 Pi 案件,键盘上有一个“树莓按钮”在通常的“系统键位置”,但除此之外,他们不是必需的。您可以使用任何 USB 鼠标或键盘,它们可以通过 USB 有线连接,也可以通过蓝牙连接。除此之外,您可以使用与旧电脑相同的键盘和鼠标。

任何标准的显示器都可以工作,但你需要一根带微型 HDMI 插头的电缆来连接你的 model 4 Pi,或者一个全尺寸 HDMI 端口来插入任何以前的型号。如果您使用的是 Raspberry Pi model 4,您还可以选择同时使用两个显示器。显然,你需要两个显示器和两根微型 HDMI 电缆来利用双显示器功能。

创建初始引导介质

最初,我们需要下载操作系统软件并将其安装在 SD 卡上。这将需要一台运行 Windows、Mac 或 Linux 的独立计算机。如果你真的做不到,有很多地方会卖给你一个已经安装了软件的 SD 卡;一个简单的谷歌搜索将在你的国家找到一个来源。

你将需要一个微型 SD 卡和适配器,以便将该卡插入电脑的任何插槽中。

有许多 Linux 发行版或“品牌”很容易获得。最受欢迎的两个是 Raspbian 和 Ubuntu MATE。这两者的侧重点不同:Raspbian 是 Raspberry Pi 的“官方”操作系统,而 Ubuntu MATE 是一个更重的面向桌面的操作系统。Raspbian 速度更快,效率更高,而 MATE 更容易使用,包含更多内置软件,但也更慢。

截至本文撰写时,Ubuntu MATE 的当前版本是 18.04,于 2018 年 4 月发布。这听起来很“老”,但是 Ubuntu 有一个更新系统,他们提供了一个叫做 LTS 的东西,或者说是他们操作系统的“长期支持”版本。他们保证支持 LTS 版本长达 4 年。这样做的缺点是他们每两年才发布一个新版本。所以直到 2020 年 4 月才会有新的 LTS 版本。Ubuntu 确实每 6 个月提供一次常规操作系统的升级,但他们不会为 Raspberry Pi 版本提供升级。所以我们都暂时卡在 2018 年了。

Ubuntu MATE 可以在 https://ubuntu-mate.org/download/ 找到。

另一方面,Raspbian 在积累了足够多的变化时会不定期地发布。截至本文撰写时的最新版本名为“Buster”(2019 年 6 月)。如果你想要最先进的,最“官方”版本的树莓派操作系统,这是一个使用。

在本书中,我将主要关注 Raspbian,但我也会偶尔指出一些可以在 MATE 中以不同方式完成的事情。Raspberry Pi 的一个伟大之处在于,只需购买第二张 SD 卡,你就可以非常快速地来回切换。为什么不两个都试试?

拉斯边可以在 www.raspberrypi.org/downloads/raspbian/ 找到。

我们需要的下一个软件是一个特殊的实用程序,用于将操作系统复制到 SD 卡上并使其可引导。我发现最简单的应用是 balenaEtcher,通常简称为 Etcher。有一个版本适用于 Windows、Mac 和 Linux 所以不管你从哪里来,他们都会为你制作一个版本。

balenaEtcher 可以在 www.balena.io/etcher/ 找到。

注意

也可以从 MacOS 或 Linux 的命令行创建 SD 卡映像,但这很复杂,从 Windows 根本不可能。为了最大限度的兼容性和简单性,我将坚持使用 Etcher。如果你需要从命令行来做,官方文档可以在这里找到: www.raspberrypi.org/documentation/installation/installing-img/README.md

一旦具备上述要素,创建可引导 SD 卡的过程就很简单。下载一个操作系统文件,Ubuntu MATE 或者 Raspbian。无论你选择哪个,你最终都会下载一个大文件。

一旦完成,启动蚀刻机,它应该看起来像图 1-1 。

img/485525_1_En_1_Fig1_HTML.jpg

图 1-1

选择源文件和目标驱动器的 balenaEtcher

有三个按钮/图标。点按左边的按钮,它将允许您选取一个磁盘映像。这是你刚下载完的 Raspbian 或者 Ubuntu MATE 文件。

将 SD 卡插入计算机。您可能需要使用适配器、加密狗或集线器来使其适合。一旦电脑识别出该卡,单击中间的图标选择该卡。绝对确保不要选择错误的磁盘,因为如果你不小心,你可以删除您的计算机的硬盘驱动器!

选择完操作系统文件和目标驱动器后,单击第三个图标“闪存!”这将开始格式化 SD 卡并将操作系统复制到 SD 卡上的过程。根据各种因素,此过程可能需要 5-10 分钟,如图 1-2 所示。

img/485525_1_En_1_Fig2_HTML.jpg

图 1-2

蚀刻机林荫道通过泛水

一旦这个过程完成,Etcher 会告诉你它已经成功地刷新了卡,否则它会给你一个错误信息。如果有错误,遵循 Etcher 的建议并找出原因。假设它工作了,你可以弹出卡,并着手组装你的 Pi。

组装电脑

以下列表概述了必需和可选的组件零件:

  • 所需零件

    • Raspberry Pi 主板

    • 电源

    • 安装了操作系统的微型 SD 卡(见上一节)

    • 老鼠

    • 键盘

    • 班长

    • 监视器电缆

  • 可选零件

    • 主板 Shell

    • 带有 3.5 毫米插孔或蓝牙功能的音频收听设备(耳机、耳塞或扬声器,或者直接插入显示器的输入端)

    • 如果您不使用 Wi-Fi,请将以太网电缆插入路由器

组装说明

假设你已经购买或搜罗了所有必要的部件,将 Raspberry Pi 组装成一台台式电脑是非常容易的,因为所有电缆的走向应该是显而易见的。

  1. 将您的 Raspberry Pi 主板插入您选择的机箱,并使用机箱附带的任何说明进行组装。如果您的机箱带有某种形式的散热器,请注意不要在处理器顶部或散热器底部留下指纹。

  2. 将微型 SD 卡滑入 Raspberry Pi 底部的插槽中。

  3. 将 HDMI 电缆插入显示器和 RPi。

  4. 将音频线插入扬声器、耳机或显示器。

  5. 将鼠标和键盘插入四个 USB 端口中的任何一个。如果你有其他 USB 设备,我建议你现在只使用鼠标和键盘;工作正常后,添加其他外围设备。在这个阶段使用蓝牙鼠标或键盘可能没问题,因为这些应该在启动时被检测到。在极少数情况下,可能需要有线键盘或鼠标来配置设置。

  6. 如果您不打算使用 Wi-Fi,请插入以太网电缆。如果你真的打算使用 Wi-Fi,那么这是没有必要的。

  7. 将显示器插入墙上的电源插座。

  8. 将 Raspberry Pi 电源适配器插入墙壁插座。

  9. 完成所有工作后,最后一步是将电源插入 Pi。Raspberry Pi 本身没有电源开关,因此通电将启动引导过程。如果你的电源带有开关或按钮,那么现在就打开它。

此时,你的监视器将显示一个彩色的“测试模式;然后清空屏幕,在屏幕顶部显示一些树莓图标。在这之后,一堆状态信息和文本可能会在屏幕上滚动。

首次 Raspbian 设置

如前所述,从现在开始,我们将重点关注 Raspbian 分布。Ubuntu MATE 将非常相似,但不完全相同,如这里所示。

假设您已经通过了测试模式和“raspberries”,您将到达 Raspbian 欢迎屏幕,如图 1-3 所示。

img/485525_1_En_1_Fig3_HTML.jpg

图 1-3

拉斯边的欢迎屏幕

点击“下一步”,我们将得到一个本地化的屏幕,看起来很像图 1-4 。

img/485525_1_En_1_Fig4_HTML.jpg

图 1-4

本地化设置

使用下拉框尽可能准确地选择您的位置。这是用来设置时间和决定键盘上各种键的功能。我曾经有一个朋友抱怨说,Raspbian 不能使用他的任何键盘,因为标点符号键都是错的。原来,他把下面的对话设置为英国键盘,而他在美国。不全一样!

现在该修改默认用户的密码了,如图 1-5 所示。如果你不在这里修改它,默认的是用户“ pi ”,这个用户的密码是“ raspberry ”因为这是每个默认 Raspbian 安装的相同用户名和密码,所以修改密码是一个非常好的主意。这个用户拥有超级用户权限,可以删除和修改任何东西,所以密码要让人难以猜到。

img/485525_1_En_1_Fig5_HTML.jpg

图 1-5

设置 root 密码

稍后,我们将研究如何创建一个单独的、更加个性化的用户帐户。如果您有 Linux 经验,Pi 用户是一个根级别的帐户,所以在日常工作中使用这个帐户并不是一个好主意。

下一个屏幕如图 1-6 所示,与您的显示器和屏幕分辨率有关。到目前为止,屏幕都是低分辨率的,非常简单,因为所有东西都是尽可能低的分辨率。如果 Raspbian 桌面当前充满了你的整个屏幕,那么不要勾选这个框。如果边缘有黑色条或边框,那么单击该框,Raspbian 会相应地调整您的设置。请注意,在安装完成和系统重新启动之前,您不会看到任何事情发生。

img/485525_1_En_1_Fig6_HTML.jpg

图 1-6

你需要调整屏幕分辨率吗?

现在,在图 1-7 中,是时候设置你的 Wi-Fi 网络了。如果您打算将以太网用于您的网络,您可以点按“跳过”否则,在这里找到你的网络。请注意,Pi 型号 3B+具有 2.4GHz 和 5.0GHz 两种能力,而常规的非 plus 型号 3B 和所有旧型号只能访问 2.4GHz 网络。单击您要连接的网络,然后在以下屏幕上输入该网络的密码:

img/485525_1_En_1_Fig7_HTML.jpg

图 1-7

设置 Wi-Fi 密码

在这之后,我们基本上完成了安装。下一个也是最后一个屏幕,类似于图 1-8 ,将让我们有机会下载 SD 卡上没有发布的软件的更新和补丁。如果你很急,你可以跳过这一步,但是拥有一个完全更新的系统总是最好的。

img/485525_1_En_1_Fig8_HTML.jpg

图 1-8

开始更新吧!

如果你选择让它来更新,你最终会得到一个对话框告诉你你的“系统是最新的。”此时,您需要重新启动系统,一切都应该准备好了。

在这个阶段探索菜单和试用几个应用是安全的。图 1-9 显示了 LibreOffice Writer、文件管理器应用和 Chromium 浏览器的截图,它们都已经安装好了。你能在菜单上找到它们吗?

暗示

左上角的树莓图标实际上是 Raspbian 版本的菜单系统“开始”按钮。

img/485525_1_En_1_Fig9_HTML.png

图 1-9

默认情况下会安装 LibreOffice、文件浏览器和 Chromium

结论

这一章为这本书的其余部分奠定了基础。我们购买并组装了所有部件,然后下载并创建了引导介质。然后我们浏览了设置菜单,最终得到了一台基本但仍能正常工作的小电脑。你可以随意在菜单里摸索,运行应用,看看它能做什么。如果你的需求很简单,比如只是浏览网页和收发电子邮件,你可能已经在电脑中拥有了你所需要的一切。更有可能的是,你需要安装一堆应用来做你想用 RPi 做的事情。如果你想把你的 Raspberry Pi 作为一台普通的台式电脑使用,那么你就可以开始了。尽管如此,除了坐在显示器前,还有其他方法可以使用电脑,我们将在下一章看到。

二、访问和配置 Pi

在这一章中,我们将会看到各种访问 Pi 计算机的方法,本地访问,通过终端远程访问,或者使用远程桌面访问。最后,我们将看看添加新的用户帐户和设置外部硬盘驱动器和存储设备。

在本地使用 GUI 桌面

如果你在默认安装后打开 Raspberry Pi,你会看到 Raspbian 桌面。它看起来有点像 MacOS 或者 Windows 桌面,所以你应该会觉得用起来有些直观。我们将在第三章详细讨论桌面的使用。

如果你要做的只是将 Pi 作为桌面计算机使用,这没问题,但是这本书的主要焦点之一是如何使用命令行来完成工作。在学习命令行之前,您必须能够实际使用一个命令行。有三种方法可以做到这一点,每种方法的复杂性和选择都在增加。

桌面上的命令行

您可以简单地从图形用户界面(GUI)桌面打开终端窗口。在屏幕顶部的菜单栏上,有一个灰色的终端图标。在终端的覆盆子➤配件菜单中也有一个快捷方式。点击其中任何一个,你会看到一个熟悉的黑色终端,里面有一些文本。这是快速和容易的,特别是如果你在桌面上做你的大部分工作。

直接引导至命令行

如果你不想使用桌面,并且你想从命令行做所有你的工作,老派,你可以设置 Raspbian 简单地引导到命令行,就像在 GUI 接管之前的旧时代一样。有两种方法可以做到这一点。

首先,在树莓➤偏好菜单下有一个“树莓 Pi 配置”选项这个对话框有很多有用的东西可以修改,但是我们现在感兴趣的是第三行,“Boot:”

您可以选择“引导至桌面”或“引导至 CLI”CLI 是 c 命令 -l ine i 接口。单击此选项,然后选择确定。下次重新启动时,您将在命令提示符下启动。

第二,也可能是更好的选择,是打开一个终端窗口并在其中键入sudo raspi-config。这是一个基于文本的配置工具,它有一些以前的工具没有的选项。如图 2-1 所示。当你有时间的时候,你可以在这个极其强大的配置工具中探索各种选项,但是现在,我们想选择行“3 引导选项”

img/485525_1_En_2_Fig1_HTML.jpg

图 2-1

Raspi-config 的引导选择

您将需要第一个选项,“选择是否引导至桌面。”

您将看到四个选项:

  1. 文本控制台,要求用户登录

  2. 文本控制台,作为“pi”用户自动登录

  3. 要求用户登录的桌面 GUI

  4. 桌面 GUI 自动登录一个“pi”用户

选择选项 1,然后选择“完成”它会问你是否想现在重启。选择“是”Pi 重新启动,您将不再看到桌面,只看到带有提示的黑色终端屏幕。在我的屏幕上,我只看到

Raspian GNU/Linux 9 raspberrypi tty1
Raspberrypi login:

使用用户名“pi”或您的常规用户名,如果您已经为它设置了一个帐户。然后使用适当的密码登录。您将看到最后一次登录的日期、一些通用的版权信息和命令提示符。

注意

最终,您可能想要重新打开桌面。如果是这样,再次运行sudo raspi-config并选择选项 3 将事情恢复原样。

远程终端访问

您也可以使用其他计算机或设备从网络上的其他地方访问 Raspberry Pi 上的 shell。要设置这个,像以前一样运行sudo raspi-config,这一次,选择“5 个接口选项”,然后选择该菜单下的第二个选项“SSH”这将启用(或禁用)使用 SSH ( S 安全 Sh ell)协议远程命令行访问您的 Pi。

完成后,退出 raspi-config 并在终端上键入ifconfig。您将看到类似于以下内容的内容:

eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b8:27:eb:d1:6a:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 8 bytes 480 (480.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 480 (480.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.12 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::faf9:e687:a474:6485 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:84:3f:44 txqueuelen 1000 (Ethernet)
RX packets 176596 bytes 109274663 (104.2 MiB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 136755 bytes 140698474 (134.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

这个命令可以告诉你很多关于你的网络接口的信息。你大概有三个: eth0 (以太网) lo (本地) wlan (无线局域网)。每个正在使用的接口都会在该接口描述的第二行有一个 IP 号(就在“inet”之后)。比如“lo”的 IP 总是 127.0.0.1。如果您使用的是以太网或 Wi-Fi,那么其中一个或两个接口将会有一组类似的四个数字和句点。这是你的树莓派的 IP 地址;这是您在网络上找到合适设备的方式。

这是你所需要的。

转到其他装有终端应用的电脑或设备,然后键入

ssh pi@192.168.0.17

同时用你的 IP 号码代替我的。如果一切正常,它应该会询问您的密码。进入它,然后砰!您在 Pi 中的命令行上。如果这行得通,你可以选择让你的 Pi 开着,再也不用显示器了——你可以远程完成你所有的计算。图 2-2 是我的 iPad 使用 Blink 应用登录我的 Pi 的截图。

img/485525_1_En_2_Fig2_HTML.png

图 2-2

从另一台电脑访问 Raspberry Pi,在本例中是 iPad

是的,我正在用一台 1000 美元的 iPad Pro 访问一台 35 美元的电脑。疯狂?大概吧!

远程 GUI 访问

您可以像使用任何其他计算机一样使用 Raspberry Pi GUI 桌面环境;您坐在显示器前,使用鼠标和键盘与 Pi 交互。然而,设置 Pi 也很容易,这样您就可以远程访问 GUI。这意味着您可以从运行 Windows 或 Mac 的笔记本电脑,甚至从 iPad 或移动设备访问 Raspbian 桌面,而无需做大量工作。如前一节所述,通过文本模式 SSH 登录确实非常强大,但是有时您只需要图形用户界面。这比你想象的要容易。一旦您设置好了一切,您甚至可以断开您的显示器、鼠标和键盘,并以某种方式通过远程控制来“无头”使用 Pi。

从终端或命令行键入

sudo raspi-config

像以前一样,这一次,选择“5 接口选项”和菜单下的第三个选项,“VNC”这将启用(或禁用)通过 VNC(VI virtualNnetworkCcomputer)协议对您的 Pi 进行远程桌面访问。如果您在上一节中没有打开 SSH,那么您现在也需要这样做。

在终端窗口或命令行中,键入以下命令:

sudo apt install tightvncserver
tightvncserver

这将安装 TightVNC 服务器应用,它在这个项目的 Pi 端为我们处理登录和其他所有事情。

Tightvncserver 将要求您为 VNC 创建一个密码。此密码仅用于 VNC 连接,它可以与您的常规密码相同或不同。这取决于你。然后,它会询问您是否要创建一个只读密码。你可以回答不,因为我们不需要那个。接下来,您准备启动 VNC 服务器:

vncserver :1 -geometry 1920x1080 -depth 24

刚开始,就用这一行,什么都不改。稍后,您可以选择修改该行以获得更多定制的结果。 :1 参数将其设置为 1 号屏幕。您可以设置多个屏幕并在它们之间切换,或者在客户端电脑上的单独窗口中运行它们。如果你不打算这样做,就把它留在 1。 -geometry 1920x1080 参数是我们“虚拟”桌面的屏幕分辨率,而 -depth 24 设置调色板,使其看起来不错。

同样,这些都可以被实验和修改而不会造成伤害,但是现在先从这些数字开始。

最后,从终端运行ifconfig来获取 Pi 的 IP 地址,就像我们在上一节中所做的那样。

现在该去你的另一台电脑了。调出网页浏览器,下载 RealVNC app(只是查看器 app;不需要服务器)从 www.realvnc.com/en/connect/download/viewer/ 。他们为 Windows、Mac、Linux、Android、iOS、Chromebooks 和一系列其他平台制作版本——只需选择适合您系统的版本。它是完全免费的,所以如果你进入了一个想让你买东西的页面,你就选错了。

下载并安装后,运行 RealVNC Viewer 并接受默认值。在顶部的栏中,输入 Pi 的 IP 号,后跟一个冒号,然后输入您想要连接到的屏幕的号,例如,192.168.0.12:1连接到 IP 地址为 192.168.0.12 的计算机上的 1 号屏幕。

将出现关于未加密连接的警告。只要您是在本地网络内连接,这是没问题的。如果您尝试通过互联网进行连接,您可能需要研究一种加密的连接方法。你会被要求输入密码,之后,你会看到你的 Raspberry Pi 桌面出现在你的屏幕上。按照 RealVNC Viewer 提供的任何屏幕教程进行操作——即使您使用的是非鼠标设备,如 iPad,也有右键单击、双击、滚动等方法。

访问 GUI 桌面的 VNC 和访问命令行的 SSH 是使用 Raspberry Pi 的强大工具。在这个阶段,如果您想要断开 Pi 的键盘、鼠标和监视器,您可以选择“无头”使用它。因为它以无线方式连接到您的网络,所以现在您唯一需要插入的电缆就是电源(如果您需要的话,还有以太网)。当然,这都是可选的。通过本地使用您的 Pi 而不是通过 VNC,您将获得更快的桌面性能,尽管 SSH 和命令行的速度差异可以忽略不计。

创建新的用户帐户

到目前为止,我们已经使用默认用户“pi”登录。对于那些将 Pi 作为电子项目的业余爱好者来说,这没什么问题,但是要将 Pi 作为一台计算机来使用,我们需要做更多的在线工作,因此需要更好的安全性。下面是如何用你喜欢的名字创建一个新用户,并且,可选地,给他们使用 sudo 来执行超级用户任务的能力。

像所有命令行工作一样,这可以在您的 Pi 前面的监视器上本地完成,或者在使用 SSH 或 VNC 远程登录时完成;Linux 不区分这两种用途。为此,您需要使用命令行。

使用 adduser 命令向您的系统添加新用户:

sudo adduser username

请确保将用户名替换为您想要创建的用户。

系统将提示您输入新用户的密码。强烈建议使用强密码!

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

按照提示设置新用户的信息。如果您愿意,可以接受默认值,将所有这些信息留空:

Changing the user information

for username
Enter the new value, or press Enter for the default
    Full Name:
    Room Number:
    Work Phone:
    Home Phone:
    Other:
Is the information correct? Y/n

现在您有了一个标准的 Linux 用户帐户,有了自己的主目录,以及默认为 Linux 用户安装的所有东西。该用户不能安装或删除软件,也不能执行其他有安全限制的任务。这是出于安全和保障的原因;你不想能够意外删除重要的系统文件或应用。

为了允许这个用户做那些受限的事情,用户需要被添加到“sudo 组”

使用 usermod 命令将用户添加到 sudo 组:

sudo usermod -aG sudo username

默认情况下,sudo 组的成员拥有 sudo 权限。

使用 su 命令(切换用户)切换到新的用户帐号:

Su – username

作为新用户,通过尝试更新 Linux 存储库来验证您可以使用 sudo:

sudo apt update

如果有涉及“权限被拒绝”的消息,请返回并重试。如果没有消息,那么一切正常。

现在,任何时候您想要使用超级用户权限运行命令,只需在您想要运行的命令前面加上“sudo ”:

sudo command_to_run

例如,您可以列出/root 目录的内容,通常只有 root 用户可以访问该目录:

sudo ls -al /root

首次在会话中使用 sudo 时,系统会提示您输入用户帐户的密码。

设置外部存储器

到目前为止,我们已经从小小的 SD 卡启动并运行了我们的操作系统。SD 卡的问题是速度慢,而且不够可靠。我已经经历了几个简单地停止工作。另一方面,我知道有些人会相信它们,所以你的里程数可能会有所不同,但我更喜欢将重要数据存储在真正的硬盘上。一旦硬盘设置好了,如果我们愿意,我们甚至可以从它启动,把 SD 卡留在灰尘里!

在深入研究外部驱动器之前,有几件事情需要考虑。你可能会认为添加外置硬盘或固态硬盘会让一切运行得更快,但事实并非如此。Pi 的设计方式要求它首先在 SD 卡插槽上搜索操作系统,然后检测硬盘驱动器,如果没有 SD 卡,则从硬盘驱动器启动;所有这些寻找都需要时间。这意味着使用外部驱动器的启动时间会比使用 SD 卡的启动时间慢。

另一个考虑是 USB 控制器使用的接口与以太网控制器使用的接口是共享的。这意味着通过 USB 端口的大量 I/O 会降低网络访问速度,反之亦然。没有办法准确预测这会对速度产生多大影响,但是是有影响的。

也就是说,频繁访问磁盘的普通应用应该运行得更快。无论速度如何受到影响,旋转硬盘和固态硬盘都将是比容易损坏的 SD 卡更安全的存储重要数据的地方。

第一步是决定你是否希望能够从硬盘启动,或者你只是想把它作为一个数据驱动器。如果你想从硬盘启动,那么继续这里;如果没有,您可以跳到下一部分。

为启动设置硬盘驱动器

请注意,此过程需要在硬盘上全新安装您的 Raspberry Pi 操作系统。硬盘上当前的内容将被删除

注意

在撰写本文时,Raspberry Pi model 4 已经推出了大约一个月。到目前为止,Pi model 4 不能从硬盘启动;他们必须从 SD 卡启动。这一限制预计将在未来的更新中很快得到纠正,但截至 2019 年秋季,这是一个有待解决的问题。

这个过程可以使用旧式旋转硬盘或 SSD 技术来完成,甚至 USB 闪存驱动器也是一个选项。小心使用通过 USB 供电的硬盘驱动器——Pi 是一种非常低功耗的设备,它可能无法像计算机一样处理对驱动器的供电。为了获得最佳效果,请使用外部供电的硬盘,即带有交流适配器或“壁式电源插座”的硬盘我还发现,这个过程在很大程度上取决于外部驱动器的设计——我已经尝试了几种根本不允许启动的驱动器,但它们对于数据存储来说都很好。

  1. 回到您的常规计算机;从 Balena.io 下载并安装 Etcher,就像我们设置 SD 卡时一样。你可能已经读过了。

  2. 将外置硬盘插入电脑。

  3. 在左边的框中选择你的 Raspbian 映像(或者你正在使用的发行版),在中间的框中选择新的硬盘,然后点击“Flash!”当你准备好开始的时候,就像以前一样。Etcher 可能会给你一个警告,告诉你这个驱动器是“一个非常大的尺寸”这只是指出我们不再使用预期的 SD 卡了。只要确保你在点击“刷新”之前格式化了正确的驱动器即可

  4. 从本质上来说,这个过程与将操作系统复制到 SD 卡是完全一样的,只是现在我们是用计算机来完成这个过程。这是完全相同的过程。

  5. 当刷新完成后,断开硬盘与计算机的连接,并将其插入 Pi。

如果你有一个树莓 Pi 模型 3B+,那么你可以删除 SD 卡,打开电源,和 Pi 应该启动了。你完蛋了!

如果你有一个树莓派 2 型或 3B(不是 3B+或 4),那么你有一些额外的步骤:

  1. 让你的旧 SD 卡暂时插着,因为我们还需要它最后一次启动。

  2. 打开 Pi 的电源,让它启动。

  3. Get to a terminal and type

    sudo nano /boot/config.txt
    
    

    This will bring up the Nano editor, which we have not discussed yet, but is pretty straightforward to use. Move your cursor down to the bottom of this file and add the following:

    program_usb_boot_mode=1
    
    

    要用 Nano 保存文件,按Ctrl-o然后按Ctrl-x退出。

  4. 重启 Pi,SD 卡仍然在里面。

  5. Type the following:

    vcgencmd otp_dump | grep 17:
    
    

    如果你看到值17:3020000a,,那么一切都好。

  6. 关闭 Pi,取出 SD 卡,恢复电源,看看会发生什么:您的 Pi 应该从硬盘上启动。

请注意,这是树莓 Pi 的一个相对较新的功能,它并不总是适用于每个外部驱动器。如果你打算为你的 Pi 购买一个新的硬盘,做一点网上调查,看看具体的型号是否能正常工作。

为数据添加外部硬盘

令人惊讶的是,制作启动盘比空白驱动器更容易,因为 Etcher 为我们做了所有的工作。准备外部数据驱动器需要更多的工作。本节将以硬盘驱动器结尾,当您启动 Pi 时,它会自动挂载,并可用于您的数据文件和可选的/home 目录。如果您已经有一个 Linux 格式的(即 ext4 )驱动器,并且上面已经有重要数据,您希望将它用作数据驱动器,您可以跳到步骤 15。如果您有一个空白的驱动器,或者想要重新分配一个已经有“垃圾”的驱动器,那么就从这里开始:

  1. 将硬盘插入电源(如有必要)和 Raspberry Pi。像往常一样,给 Raspberry Pi 加电,从 SD 卡启动。

  2. Bring up a terminal window and type

    sudo fdisk /dev/sda
    
    

    Because you are using the fdisk command in superuser mode (sudo), it will ask for your password. After you enter the password, you should see

    Welcome to fdisk (util-linux 2.29.2)
    Changes will remain in memory only, until you decide to write them. Be careful before using the write command.
    
    Command (m for help):
    
    

    fdisk 是一个非常强大的工具,用于创建、删除、分区和改变硬盘属性。如果您对选项感到好奇,按m查看菜单选项。

  3. Press p to print the partition table. The numbers will probably be somewhat different, but should look something like this:

    Command (m for help): p
    Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x43c1e3bb
    
    Device    Boot Start      End  Sectors  Size Id Type
    /dev/sda1       8192    96042    87851 42.9M  c W95 FAT32 (LBA)
    /dev/sda2      98304 10551295 10452992    5G 83 Linux
    
    Command (m for help):
    
    

    从这里,我可以看到我的驱动器是 698.7GB,目前设置了两个分区, /dev/sda1/dev/sda2 。我们现在不需要担心其他大部分信息。我们的目标是删除这些旧分区,并创建一个大分区来替换它们。

  4. Press d for “delete partition”:

    Partition number (1,2, default 2):
    
    

    同样,您可能只有一个或两个以上的分区,或者根本没有分区。这里的目标是删除所有的分区。我将输入 2 来删除第二个分区;然后我再打d,输入 1 删除第一个分区。

    所有分区都消失后,使用p命令再次打印分区表。如果上一步工作正常,在“磁盘标识符”后面应该不会列出任何内容两个 /sda 装置应该没了。同样,如果您有一个新的空白驱动器,您可能根本没有看到任何分区。

  5. 使用 fdisk 中的n命令创建一个新分区。

  6. 除非你知道有什么理由不这样做,否则选择p使新分区成为主分区

  7. 通过按 1 或按回车键将新分区设置为“Partition 1 ”,这是默认值。

  8. 接受第一个和最后一个扇区的默认值。这将使新分区填满整个硬盘。

  9. It may take a few seconds, but you should soon see .

    Created a new partition 1 of type 'Linux' and of size 698.7 GiB
    
    

    .

    假设给定的大小接近你的硬盘大小,你做得很好。如果出于某种原因,您想要创建多个分区,您可以调整前面的几个步骤来满足您的需求。

  10. 创建完分区后,使用 fdisk 中的w命令将更改写入磁盘。在你这样做之前,你迄今所做的一切都不是永久的。一旦你写了你的修改,所有的数据,分区,和所有其他的东西都将从磁盘上抹去;所以在你承诺之前,确保一切看起来都很好。

  11. Press p to once again print the list of partitions. It should now look somewhat like this:

```sh
Command (m for help): p
Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x43c1e3bb

Device   Boot Start        End    Sectors   Size Id Type
/dev/sda1      2048 1465149167 1465147120 698.7G 83 Linux

Command (m for help):

```

正如您在底部看到的,有一个新设备, */dev/sda1,*使用整个硬盘驱动器。
  1. 我们已经完成了 fdisk,所以使用q命令退出。

  2. 您需要重新启动 Pi 以使更改生效。

  3. The new hard drive now has an empty, unformatted partition, but it’s not good for anything until we format it. Type

```sh
sudo mkfs /dev/sda1

```

这将使用 Linux 文件系统格式化驱动器。根据驱动器的大小和速度,这将需要一些时间,但您应该能够在屏幕上看到进度。
  1. Now that the hard drive is partitioned and formatted, you will need to create a mount point within your regular directory structure. You can put it wherever you want, but I generally just put it in the / (root) directory. Type
```sh
sudo mkdir /mydrive

```

This will create a new directory called “mydrive” in the / directory. Next, the physical hard drive needs to be “mounted” to that mount point. Assuming your hard drive was called *sda1* back in step 11, then you would type the following:

```sh
sudo mount /dev/sda1 /mydisk

```

当然,如果您的磁盘不是`/dev/sda1`,或者如果您使用的不是`/mydisk`,那么您应该在前面的命令中进行适当的替换。
  1. Depending on what you plan to do with the external drive, you may need to set ownership of the new drive to your user account (instead of root). For example, since I plan to do most things under the username “brian,” I will need to change ownership of the drive to that user:
```sh
sudo chown brian:brian -R /mydisk

```

现在用户 *brian* 可以保存和操作驱动器中的文件,而不需要一直使用 sudo。
  1. 通过键入以下命令测试所有内容:
```sh
cd /mydisk
touch test.txt
ls

```

touch 命令只是更改现有文件的文件日期,或者创建一个新的空白文件(如果它不存在的话)。 ls 命令用于“列表结构”,这是 Linux 显示目录中文件的方式。它应该列出

lost+found.  test.txt

丢失+找到是一直自动生成的东西,但是 test.txt 是你刚刚用 touch 命令创建的文件。如果您看到它,那么您应该能够在新驱动器中保存、复制、删除和操作文件。

将外部驱动器设置为自动装载

如果您计划只使用 Raspbian 桌面,那么这一部分是不必要的,因为桌面会自动安装任何插入的硬盘驱动器。另一方面,如果您计划直接引导到命令行,那么您将需要手动设置系统以自动安装外部驱动器。无论哪种方式,将驱动器设置为自动安装都没有坏处:

  1. Type

    sudo fdisk -l
    
    

    这将列出您可以使用的所有不同的分区和磁盘。通常,外部驱动器会在列表的底部。您需要记下“设备”名称,例如, /dev/sda1/dev/sda2 或任何出现的名称,如果您连接了多个驱动器或分区的话。

  2. 我们现在将修改一个主要的 Linux 配置文件,以便在启动时识别驱动器。我们将使用 Nano 编辑器编辑 /etc/fstab 文件。输入

    sudo nano /etc/fstab
    
    

    你会看到类似下面的内容:

    proc                  /proc  proc  defaults          0  0
    PARTUUID=af2d9ccc-01  /boot  vfat  defaults          0  2
    PARTUUID=af2d9ccc-02  /      ext4  defaults,noatime  0  1
    # a swapfile is not a swap partition, no line here
    #   use  dphys-swapfile swap[on|off]  for that
    
    

PARTUUID 编号肯定会与这些不同,但是文件应该与这些非常相似。将光标移动到文件的末尾,并添加

/dev/sda1 /mydisk ext4 defaults,nofail 0 0

/dev/sda1/mydisk 替换成你所使用的任何东西。使用Ctrl-o保存,然后使用Ctrl-x退出 Nano。重新启动后,无论是在命令行上还是在桌面上,每次启动 Pi 时,您都应该可以自动使用新的硬盘。

将您的主目录移动到外部驱动器

Linux 中的大多数操作都是对您自己的数据文件执行操作,这些文件几乎总是存储在磁盘上的 /home 目录下。默认情况下,安装操作系统时会在 SD 卡上创建/home,创建用户时会在其下创建每个用户自己的主目录。这个系统的问题是,如果你是从 SD 卡启动,你可能不想把所有的数据文件保存在 SD 卡上。可能正好相反,因为这就是你安装外置硬盘的原因。幸运的是,有一个简单的程序可以让你将你的整个/家结构移动到一个外部驱动器上。

您需要拥有 root 权限才能完成所有这些操作。我们将使用 sudo 来赋予我们需要的特权。通过在命令前面添加 sudo ,我们以超级用户的身份运行该命令(sudo = "超级用户 DO __ ")。使用数独时,你需要格外小心,因为你可以删除任何东西,或者因为一个打字错误而导致无穷无尽的问题。

  1. 首先确定您的外部驱动器已连接,然后打开一个终端。当你插入硬盘时,它很有可能会自动挂载,但是在这个过程中,你需要确保你的硬盘是而不是挂载的。要卸载它,请键入

    sudo umount /mydisk
    
    
  2. 接下来,将您的新分区挂载到一个临时的位置:

    sudo mkdir /media/tmp
    sudo mount -t ext4 /media/tmp
    
    
  3. 这将暂时在 /media/tmp 安装外部硬盘。

  4. 导航到您的根文件夹:

    cd /home
    
    
  5. 递归复制所有数据,包括隐藏文件:

    sudo cp -rp ./ /media/tmp
    
    
  6. Once all the files are finished copying, you can move the home directory and mount the new one. Make sure no program is currently using the home directory, or you will get errors.

    sudo umount /media/tmp
    sudo rm -rf /media/tmp
    
    

    This gets rid of the tmp folder mount point, which is no longer necessary; it does not erase your data. All the data from your old /home directory is now safely on the hard drive.

    sudo mv /home /oldhome
    
    

    This moves the original /home folder that points to the SD card and makes room for a “new” /home folder.

    sudo mkdir /home
    
    

    这将创建一个名为/home 的新挂载点。

请注意,以下内容应全部作为一行输入。没有空间展示它的完整:

sudo echo "/dev/sda1 /home ext4 defaults,noatime,nodiratime 0 0" >> /etc/fstab

这改变了告诉操作系统如何处理硬盘驱动器的/etc/fstab 文件,以支持新的驱动器。

同样,您应该用您的驱动器和分区信息替换 /dev/sda1

现在我们可以通过挂载/home 来测试它:

sudo mount /home

如果这不起作用,请返回并回顾您的步骤。

确认一切正常并已复制完毕,并且不再需要旧的主目录后,您可以将其从 SD 卡中删除:

sudo rm -fr /oldhome

仅此而已。这需要很多步骤,但现在你所有的工作都将永久安全地存储在你的硬盘上,而不是 SD 卡上。

备份和恢复您的 SD 卡

至此,您已经为安装好您的 Raspberry Pi 计算机做了大量工作。您已经输入了 Wi-Fi 密码,配置了一个外部驱动器,并且可能已经将您的个人目录移到了那个硬盘上。如果你能更进一步,让你的系统从硬盘启动,你的系统应该和其他电脑一样安全可靠。

不幸的是,对于许多人来说,从硬盘启动并不是一个选项——许多驱动器仍然不支持它。在这种情况下,您仍然需要继续从 SD 卡启动系统,但至少您可以将重要数据保存在外置硬盘上。这不是一个完美的解决方案,但非常可行。在这种情况下,弱点仍然是 SD 卡——它们往往会不时损坏。偶尔备份一下 SD 卡是个不错的主意,sd 卡中包含了你的操作系统以及所有的应用和配置数据。这样,如果有什么东西损坏了卡,你可以直接恢复你的配置设置和系统,因为你的个人数据将存储在硬盘上,不会丢失任何重要的东西。

为了备份 SD 卡,你将再次需要另一台计算机,以及你可能需要将 SD 卡插入其中的任何适配器。

使用以下命令关闭您的 Raspberry Pi:

sudo shutdown

当一切停止时,关掉电源。接下来,取出 SD 卡,并将其移动到您的计算机上进行后续步骤。

从苹果电脑:

  1. 调出终端窗口,但不要插入 SD 卡。

  2. 类型

    diskutil list
    
    
  3. 插入 SD 卡。

  4. Now type that same command again

    diskutil list
    
    

    并记下出现的新驱动器名称。这是 SD 卡的名称/号码。

  5. 在终端中,键入以下内容,将 rdiskx 中的 x 替换为您在第 6 步中找到的磁盘号:

    sudo dd if=/dev/rdiskx of=./backup_file.dmg
    
    
  6. 这可能需要很长时间(我的卡花了将近一个小时),而且程序没有任何反馈。耐心点!

有一天,如果你需要恢复卡:

  1. 重复前面提到的步骤 1-4,计算出磁盘号。

  2. 键入以下内容,将 rdiskx 替换为您的 SD 卡驱动器的名称:

    diskutil unmountDisk /dev/rdiskx
    sudo dd if=./backup_file.dmg of=/dev/rdiskx
    sudo diskutil eject /dev/rdiskx
    
    

从窗口:

  1. https://sourceforge.net/projects/win32diskimager/files/latest/download 下载安装win32 diski managerapp。

  2. 插入 SD 卡。

  3. 运行 Win32DiskImager,然后选择要创建备份文件的位置和 SD 卡的名称。同样,确保您正在写入正确的驱动器是很重要的;选择错误的驱动器可能是灾难性的,您可能会意外地覆盖您的窗口驱动器或重要数据,因此请仔细检查您是否正在写入您打算擦除的驱动器。

  4. 点击“阅读”开始复制。

  5. This can take a very long time, but you can watch the progress bar as shown in Figure 2-3.

    img/485525_1_En_2_Fig3_HTML.jpg

    图 2-3

    Win32DiskImager 读取 SD 卡

如果在某个时候您需要从备份中恢复 SD 卡,只需运行 Win32DiskImager,选择备份文件和 SD 卡驱动器号,并选择“写入”而不是前面步骤中的“读取”,以反向执行该过程。

结论

现在,您面前已经有了一台完全正常工作的计算机,它运行的是完整版本的 Raspbian Linux。你可以让它引导到桌面或命令行,如果你愿意,甚至可以把文件保存在外部驱动器上。

在下一章中,我们将看看 Raspbian GUI 桌面有什么特别之处,以及如何按照我们想要的方式定制和配置它。之后,我们将开始安装应用!

三、Raspberry Pi 桌面工具

你的基于 Raspberry Pi 的计算机现在已经组装好了,可以工作了。现在怎么办?是时候学习如何使用基本的用户界面了。如果你曾经使用过 Windows 或 Mac,你已经知道鼠标和键盘是如何工作的,但 Raspbian 中的菜单和控件略有不同。我们还将花一些时间解释安装软件和应用的几种不同方式,这与其他操作系统有很大不同,因此您绝对需要在这里做一些笔记。

使用界面

现在我们已经设置好了所有的硬件,是时候看看软件了。一旦你完成了所有的系统设置屏幕,你会看到一个空白的桌面环境,如图 3-1 所示。

img/485525_1_En_3_Fig1_HTML.jpg

图 3-1

拉斯边桌面

有几个重要部分需要注意。屏幕上方是菜单栏,左右各有一组图标。树莓旁边的三个图标(见图 3-2 )分别是 Chromium 网络浏览器(地球仪图标)、文件管理器(文件夹图标)和终端(命令提示符图标)。如果你不记得这些是什么,你可以将鼠标悬停在它们上面,小的“工具提示”就会出现。

img/485525_1_En_3_Fig2_HTML.jpg

图 3-2

左上角的图标区域

树莓图标下方是垃圾桶图标,如果您插入了外部硬盘,这里应该会出现一个或多个硬盘图标。

在屏幕的右上角,如图 3-3 所示,是硬件控制器按钮。

img/485525_1_En_3_Fig3_HTML.jpg

图 3-3

右上角的图标区域

这些按钮允许您控制蓝牙(蓝牙标志)、Wi-Fi 和以太网(上/下箭头)以及音量(扬声器图标)。

旁边是一个简单的仪表,显示 CPU 容量的使用量(百分比),后面是一个时钟/日历,最后您会发现一个“弹出按钮图标”,您可以使用它来弹出介质,如闪存驱动器和其他可移动介质。

点击左上方的树莓图标可以查看已安装应用的列表。旁边有箭头的菜单选项有子菜单,您可以浏览。例如,单击树莓图标,然后向下移动鼠标,并将鼠标悬停在“首选项”的选项上;你会得到一个涉及定制界面的应用列表,如图 3-4 所示。

img/485525_1_En_3_Fig4_HTML.jpg

图 3-4

首选项菜单选项

列表中的最后一项“主题和外观设置”值得仔细查看。该屏幕允许一些非常精细的界面选项。你可以改变桌面的字体,图标的样式,甚至所有对话框的外观。例如,如果你在“Widgets”选项卡下选择“Adwaita-dark”主题,你就有效地将桌面置于黑暗模式,如图 3-5 所示。

img/485525_1_En_3_Fig5_HTML.jpg

图 3-5

ad waita-窗口小部件的深色主题

在首选项➤桌面首选项下,您可以更改菜单栏的颜色;在“桌面”标签下,你可以改变背景图片,或者如果你不想要背景照片,你可以选择一个简单的单色背景。

总的来说,你会发现在 Raspbian 桌面上工作很像在 Windows 或 Mac 上工作。右键单击鼠标或双指触控板通常会弹出某种上下文菜单,可以在桌面上拖动项目,剪切和粘贴选项的工作方式与在其他系统上一样。

关闭系统

对于大多数现代操作系统,在关闭计算机之前,您必须经历一个“关机过程”,Pi 也不例外。当您准备关闭(或重启)您的 Raspberry Pi 时,您可以从桌面或命令行执行此操作。

在 GUI 中,单击树莓图标,下拉菜单上的最后一项是“关闭”您将看到一个对话框,其中有三个选项:关机、重启和取消。

从命令行,您可以简单地输入

sudo shutdown

或者

sudo reboot

文件管理器

一个需要讨论的系统应用是文件管理器。点击菜单栏上的文件夹图标即可启动该应用。这将打开一个看起来非常像 Windows 的文件浏览器或 Mac 的 Finder 的应用。见图 3-6 。

img/485525_1_En_3_Fig6_HTML.jpg

图 3-6

文件管理应用

系统文件结构显示在左窗格中,而各种文件夹和文件显示在右窗格中。顶部是菜单栏。在“文件结构”窗格中,您可以通过单击文件夹图标旁边的加号或减号或双击它们来展开或折叠文件夹。

请记住,如果您来自 Windows 背景,Linux 文件结构与您可能习惯的非常不同。你对自己的用户账号文件夹(图 3-6 截图中称之为“brian”)内的大部分文件拥有完全的删除、复制、操作权限(Linux 中称之为权限);但是你不能改变目录之外的东西,除非你使用sudo命令。运行sudo命令的唯一方法是从命令行键入它。这可能看起来很烦人,但是这是一个在几十年的 Unix 使用中经过时间考验的安全特性。

安装应用

Raspbian 已经安装了很多很棒的应用;有一个办公应用、一个网络浏览器、一个媒体播放器和许多其他有用的东西。如果你还没有,现在将是一个伟大的时间来浏览菜单,看看都有什么。尽管如此,Raspbian 的人显然不能包含所有的东西,因为 Raspbian 本质上只是 Linux 的一个版本,而且有大量的应用可以用于此。偶尔,您会听到一些 Raspbian 中没有的好东西,您想尝试一下。

在 Raspbian 上安装软件有三种主要方式:从源代码编译,从 Ubuntu 库下载,或者从命令行安装。

从源代码构建应用

这是最难的方法,除非你知道自己在做什么,否则我不会走这条路,除非你想要的软件有非常明确的构建应用的说明。大多数 Raspbian 应用都是开源软件,这意味着你可以下载并阅读制作该软件的编程代码。

一些仍在开发中的应用只提供这种源代码,代码必须经过编译才能运行。可用的库、工具和语言涉及许多变量;所以,除非你真的必须构建应用,否则就寻找一种更简单的方法。

从添加/删除软件工具安装应用

知道从源代码构建软件有多难,组装 Raspbian 的人创建了一个应用,它可以索引和列出数百个随时可用的应用和工具,就像 Raspbian 版本的其他操作系统的应用商店一样。这个应用可以在拉斯扁➤偏好➤添加/删除软件下找到,可以在图 3-7 中看到。

img/485525_1_En_3_Fig7_HTML.jpg

图 3-7

添加/删除软件工具

您可以在左侧面板中浏览类别,然后在右侧面板中滚动浏览应用列表。如果您知道要安装的特定名称,请在搜索框中键入它。如果您找到想要尝试的应用,请选择它并单击确定。过了一会儿,应用应该已经下载并安装好了。安装应用后,它会出现在此列表中,旁边会有一个勾号。如果您取消选中该框并单击“应用,它将被卸载。放轻松!

更好的是,该工具允许您轻松查找并安装已安装应用的更新和补丁。单击添加/删除软件应用上的选项菜单。第一个选项是“检查更新”点击它,你会看到类似图 3-8 的东西。

img/485525_1_En_3_Fig8_HTML.jpg

图 3-8

可用更新窗口

很明显,我有两个应用需要更新。点按“安装更新”,他们将为您下载并安装更新。

这种方法有两个问题。首先,没有太多关于每样东西是什么的描述,所以除非你心里有一个特定的应用或工具,否则你可能永远也找不到它。第二,这个工具不能远程工作。您可以在 VNC 运行添加/删除软件工具,但是软件不会安装。这可能是一个安全特性,也可能是一个错误,但它不会工作。

从命令行安装应用

我们刚刚描述的添加/删除软件工具确实很容易使用,但你可能很快就会发现,应用的选择仍然有些有限。那里有很多好东西,我强烈建议浏览和探索这些应用,但是还有大量非常强大的应用没有包括在这个列表中。我发现命令行是安装我想要的任何东西的最简单的方法。这一点也不复杂,但是有一个要求是你必须事先知道你想要的包的名字。这需要一些阅读或互联网研究,但是一旦你知道你想要什么,就很容易得到。

首先,启动一个终端窗口。然后,键入以下几行:

sudo apt update
sudo apt install packagename

第一行更新所有的存储库。这些在线存储库索引了所有可用的应用和工具,以及保存它们的安装文件的互联网位置。它们随着新版本和新工具的加入而不断变化,所以我总是先运行这个更新命令,只是为了确保找到最新的版本。

在第二行中, sudo 再次是赋予您超级用户权限的命令,这是安装软件所必需的。 Apt高级打包工具的简称,是做安装的 app。 Install 是我们特别希望 apt 程序做的事情, packagename 应该替换为我们要安装的包的名称。

例如,如果你听说过一个叫做 Neofetch 的应用,你可以直接输入

sudo apt install neofetch

来安装它。如果您后来决定不再需要 Neofetch,可以用类似的方法删除它:

sudo apt remove neofetch

现在试试吧。 Neofetch 默认不安装在你的 Pi 上,我们来安装吧。键入前面的命令来更新存储库,然后安装应用。完成后,在命令行上键入命令neofetch。您应该会看到与图 3-9 非常相似的东西。

img/485525_1_En_3_Fig9_HTML.jpg

图 3-9

我们刚刚安装了 Neofetch 应用

Neofetch 是一个不错的小命令行应用,它打印出 Raspbian 徽标的文本图形表示,并报告关于我们这台小机器的一些技术资料。不是超级有用,但是我们安装之前就没有了!

你应该时常更新你所有的软件。在像 Windows 这样的系统上,如此频繁地出现如此多的更新,很快就变成了一个大麻烦,但是在 Linux 上就不同了。Linux 系统不会自动执行升级;你必须自己去做,但至少你可以在你准备好的时候去做。这可以通过两个命令来完成:

sudo apt update
sudo apt upgrade

同样,第一行载入一个新的存储库列表,然后第二行升级所有有可用更新的内容。

同样,这个过程的增强版本允许您将 整个操作系统 升级到最新版本的 Raspbian Linux:

sudo apt update
sudo apt dist-upgrade

但是请注意,您可能已经有了 Raspbian 的最新完整发行版——它可能一年只更新一次或两次,所以大多数时候这不会有任何作用。

请注意,还有其他从命令行安装软件的方法。我们之前看过apt(AadvancedPpackageTool),但是也有偶尔使用的pip(PpackageIinstaller forPython)和curl(Copy fromURL)。使用哪一个取决于各种因素:pip用于安装 Python 脚本,curl用于直接通过互联网下载安装。绝大多数应用都是使用apt安装的,但也要留意偶尔需要其他应用的应用。当然,我会给出我们在这里看到的每个应用的安装命令。

好了,现在我们可以使用apt以任何方式搜索、安装、删除和更新软件了。现在是时候完成一些工作了!

清理拉斯边菜单

Raspbian 安装了许多最常见的应用和工具,Raspberry Pi 基金会认为人们最有可能使用它们。绝大多数购买 Pi 的人都是为了做电子项目和实验。这意味着 Pi 上有许多科学、电子、编程和接口应用;我们根本不希望这些东西出现在我们的“完成工作”桌面上。我们可以检查并卸载所有我们不想要的东西,但在某些情况下,这些应用包括可能被其他应用使用的文件和库,我们不想因为删除错误的内容而导致问题。因此,与其卸载它们,我们可以简单地从菜单中删除它们。菜单编辑器可以在树莓➤首选项➤主菜单编辑器下找到。

使用这个工具并不复杂;只需在左侧窗格中选择一个菜单,然后在右侧“取消选中”您想要删除的应用。如果你发现你删除了一些重要的东西,只需返回并再次检查这个框——没有什么是真正删除的,尽管你可以选择删除它们。你也可以删除整个菜单,比如“编程”和“教育”,就像我在图 3-10 中的截图一样。您也可以将单个应用在列表中上移或下移,添加分隔线,或者将它们移到不同的菜单,如果您愿意的话。如图 3-10 所示,这是一个非常简单、灵活的系统,可以根据您的规格进行配置。

img/485525_1_En_3_Fig10_HTML.jpg

图 3-10

主菜单编辑器—移除未使用的项目

顺便说一句,浏览所有的菜单并看看有什么是个好主意。您的系统上已经安装了许多应用,但是它们的菜单项在默认情况下已经是灰色的。如果你想尝试这些应用,只需打开它们并进行探索。

正如我们所见,sudo apt install appname不仅会安装一个新的应用,而且通常还会为该应用创建一个菜单项。这不是你可以一直假设的事情,有时,你可能会安装一个应用,但在菜单中找不到它。为了创建一个菜单项,打开主菜单编辑器并点击“新建项目”,你会看到一个类似图 3-11 的小对话框。

img/485525_1_En_3_Fig11_HTML.jpg

图 3-11

添加新菜单项

这允许我们为字面上的任何东西创建菜单项。在名称字段和可选的评论字段中输入一些文本。这两个都可以说任何你喜欢的话。在命令字段中,您有两种选择:您可以在中输入与在命令行上启动应用时完全相同的文本,或者您可以单击按钮并浏览到应用在文件系统中的位置。还有一个复选框,可让您在终端窗口中运行命令。如果您正在运行某种 GUI 应用,那么您不需要终端,但是如果您想要运行命令行应用,那么在终端中启动它允许它是交互式的。此外,如果您有想要分配给此菜单项的图标图像,您可以单击通用图标图片并选择一个新图标。

让我们用一个普通的命令行操作来制作一个菜单项。对于我们的例子,我们知道sudo apt update是更新软件库的命令。在安装任何东西之前这样做是很常见的,这样你就可以确保你得到的是软件的最新版本。尽管如此,你不需要每次都这样输入;你可以把它做成一个菜单项。

为此,您需要键入

中的Update Repositories名称字段

sudo apt update命令的字段中

注释字段中的Update things before downloading a new app

最后,您可能希望看到这个命令工作,并在出现错误时得到提醒,因此您将在终端中检查 Launch。点击 OK,现在去看看菜单。你应该在菜单中看到“更新存储库”,类似于图 3-12 。

img/485525_1_En_3_Fig12_HTML.jpg

图 3-12

更新存储库现在是一个菜单项!

云服务

多年来,我发现非常有用的一件事是大量使用某种云同步服务。Dropbox、Google Drive、OneDrive、iCloud 和十几个其他选项可用于 Windows 和 Mac,但我们的小 Pi 有什么呢?

嗯,有坏消息也有好消息。没有一个主要的云存储提供商有一个可以在 Raspberry Pi 上运行的本地应用。曾经,有一种变通方法可以让 Dropbox 工作,但 Dropbox 做出的改变打破了这一点。Insynchq.com 做了一个他们的客户端的测试版本,他们声称可以工作,但我从来没有成功地让它正确安装。留意这一点;他们也许有一天会让它完全运转起来。

与此同时,所有主要服务通过各自的网络接口工作。这与拥有一个集成的本机应用在后台无缝同步文件夹不一样,但至少你可以利用你最喜欢的服务手动上传和下载文件。随着 RPi 设备变得越来越强大,这些提供商将会看到创建本机接口的好处,因此可以期待这里的变化。

结论

现在你已经进入了桌面界面,浏览了菜单,也许还定制了一些菜单;更重要的是,我们学习了几种安装新应用的不同方法,我们将需要所有这些方法。Linux 的一个经常被争论的弱点是安装软件和应用的复杂性,简单的事实是,我们只是看了多种方法来做到这一点,证明了这一点。

尽管如此,我们现在知道它是如何做到的,所以在下一章,我们将看看树莓派桌面的最佳应用。

四、树莓派桌面应用

我们已经设置好了设备,并且已经使用了一些基本的桌面;现在是做一些实际工作的时候了。在这一章中,我们将对你可以用来完成工作的所有最好的 GUI 桌面应用进行概述。有一个办公套件,许多写作工具和电子邮件客户端,可供选择的网络浏览器,笔记应用,音频和视频编辑工具,插图和图形应用,甚至一些在线文件管理工具。

请记住,这本书的目标读者是普通人,桌面计算机的日常用户,而不是开发人员或工程师。有大量的编程、编码、模板和原型应用可用于 Pi,还有大量的工程、电子和机器人应用,我们在这里讨论。如果你需要的话,还有很多关于 Raspberry Pi 技术方面的优秀书籍和网络参考资料。

应用描述的解释

本书剩余部分列出的每个应用都有一个类似于以下内容的标题:

笔记簿详细资料:

安装:sudo apt install scribus

菜单位置:Raspberry Menu``Graphics

帮助:man scribus

网址: www.scribus.net/

让我们一步一步来看:

  1. 详情:首先是 app 的名称;在这种情况下,它被称为“Scribus。”

  2. 安装:第二行是安装 app 需要键入的命令行。他们中的大多数使用我们之前讨论过的“sudo apt install < name >格式,但是有些需要其他的东西。有时,更复杂的安装会让你参考文本或应用的网站。

  3. 菜单位置:对于纯 GUI 应用,这是安装后在 Raspbian 菜单中找到应用的位置。 GUI 应用没有运行命令,命令行应用没有菜单位置

  4. 运行命令:对于只有命令行的应用,这是您键入的运行应用的命令。

  5. 帮助:这是随应用一起安装的文档。大多数是命令行手册页。阅读手册页在第五章中讨论,但是你可以随时尝试。

  6. 网站:应用的互联网主页。在这里可以找到软件下载、文档和用户论坛。

  7. 标题后面是我对每个应用的描述、印象和注释——它有什么用途,使用起来有多简单,等等。

office 书店

如果你是微软 Office 的重度用户,树莓派世界里唯一可行的替代品就是 LibreOffice。整个 LibreOffice 套件预装了 Raspbian、Ubuntu MATE 和大多数其他发行版;因此,无论您安装了哪个 Linux 发行版,您都可能已经有了这个版本。你可以在树莓➤办公室找到它们。

LibreOffice 是一个类似微软 Office 的开源软件。有一个完整的文字处理器(Writer),电子表格(Calc),幻灯片制作(Impress),数据库(base),绘图应用(Draw),和一个方程/公式编辑器(Math)。这些应用可以打开和编辑在 Microsoft Word、Excel 和 PowerPoint 中创建的文档,并提供这些应用最常用的功能。这些应用不能提供 100%的微软的更模糊的功能,但对于大多数项目来说,它们工作得很好。

我不是一个大的数据库或电子表格用户,但我经常使用 LibreOffice Writer 和 Impress (Word 和 PowerPoint 克隆版),甚至在 Raspberry Pi 上也是如此。它们工作可靠,在 Pi 上速度非常快,即使是较长的文档。一些大型应用在 Pi 上运行时会受到很大的性能影响,但我发现这些应用在 Pi 上完全不受影响。这里没有牺牲。

正如你在下面的各种截图中看到的,菜单和界面与微软的非常不同,但是所有的功能都在。一切都有据可查,LibreOffice 有一个非常好的帮助系统,可以帮助你找到任何通过浏览菜单找不到的功能。

现在让我们来看看 office 套件的不同部分,一次一个应用。

书店详情:

安装:sudo apt install libreoffice(预装在 Raspbian 中)

菜单位置:Raspberry Menu``Office

帮助:man libreoffice

网址: www.libreoffice.org/

图书馆作家

Writer 是 LibreOffice 中包含的文字处理器,堪比微软 word。我发现大多数不依赖 VBA 或宏脚本的 Microsoft Word 文档在 Writer 中都能很好地加载和运行。这些文件几乎 100%兼容,只有非常复杂的文档才会有问题。

图 4-1 是这本书在 LibreOffice Writer 中的图像。

img/485525_1_En_4_Fig1_HTML.jpg

图 4-1

在一个树莓派上用 LibreOffice Writer 编辑这个手稿

请注意,所有样式都在易于使用的侧窗格中,就像它们在 Word 中一样。Writer 还提供了跟踪修改、打印到打印机或 PDF 文件(以及其他选项)、表格、公式、书目、邮件合并等功能,以及除了在文档中键入以外的许多其他高级功能。

Calc 书店

Calc 是 LibreOffice 的电子表格部分,在功能上类似于 Microsoft Excel。与 Writer 一样,它可以保存和加载 Excel 文件,除了 Excel 的宏和 VBA 脚本之外,它可以毫无困难地运行大多数电子表格。它提供了相对和绝对参考,跟踪变化,错误跟踪,数据透视表,以及许多令人惊讶的复杂计算。图 4-2 是 Calc 在做一些非常基本的计算。

img/485525_1_En_4_Fig2_HTML.jpg

图 4-2

Calc 书店

Impress 书店

和前两个词条一样,Impress 本质上是 LibreOffice 对 PowerPoint 的功能克隆。虽然它没有 PowerPoint 令人印象深刻的主题集合,但它确实有几乎所有相同的功能。图 4-3 为我们展示了 Impress 的实际应用。

img/485525_1_En_4_Fig3_HTML.jpg

图 4-3

Impress 书店

其他图书馆办公工具

LibreOffice 中的三大应用是 Writer、Calc 和 Impress 但 office 套件中还有其他应用。LibreOffice Draw 是一个用于创建流程图、图表和任何矢量类型图像的工具。还有 Math,这是一个公式编辑器,可以轻松地创建和格式化数学公式,以便在任何其他 LibreOffice 产品中使用。最后一个是 Base,一个数据库创建和管理应用,与微软 Access 一样,但不兼容。大多数可用于 Linux 的数据库都是 SQL 类型的,并且更多地是为服务器端使用而设计的,所以 Access 对我们来说没有任何直接的克隆。如果这是一个主要问题,请查看 Base,然后查看是否有任何其他应用可以复制您需要的特定功能。

对于可以安装在 Raspberry Pi 上的办公套件来说,LibreOffice 无疑是最强大的选择,但如果你可以在云中工作,而不是安装套件,也有其他选择。

微软办公

不,微软没有为树莓派开发 Office 版本或任何其他产品。也就是说,您可以在首选的 web 浏览器中使用 Microsoft Office Online。有基于浏览器版本的 Word(图 4-4 )、Excel、PowerPoint,还有 Outlook、OneNote 他们都可以保存和加载这些文件的常规桌面版本。你可以在 www.office.com 找到这一切。

然而,请记住,尽管这是微软自己制作的真正的官方 Office 产品,但这种云版本的 Office 甚至无法与桌面版本的 Microsoft Office 相媲美。事实上,如果您需要高级工具或紧密的兼容性,您可能更适合使用 LibreOffice 而不是 Office Online。有利的一面是,微软免费提供网页版,如果你只需要做相当简单的工作,这是一个稳定可靠的系统,工作良好。此外,在云上意味着它可以在任何地方使用,而不需要随身携带你的文件。

img/485525_1_En_4_Fig4_HTML.jpg

图 4-4

在 Vivaldi web 浏览器中运行的 Microsoft Office Online

谷歌文档

另一个众所周知的云服务是 Google Drive 或 Google Docs(如图 4-5 所示),和微软 Office 一样,它也是一个基于云的服务,在 Pi 上运行良好。可见于 https://drive.google.com

谷歌办公套件的所有不同部分(文档、表格、幻灯片、图纸等。)从一开始就被设计成一个轻量级但功能强大的“云中办公套件”,它在普通的台式电脑上非常棒;这些是整个 Chromebook 电脑系列的主要工具。Google Docs 在 Pi 上确实工作可靠,但通常会涉及一些令人沮丧的缓慢页面加载时间。我发现,虽然 Chromium 浏览器有时会令人不舒服地滞后,但它似乎可以很好地与 Vivaldi 浏览器配合使用。自己尝试一下,看看什么最适合你。

img/485525_1_En_4_Fig5_HTML.jpg

图 4-5

在 Vivaldi 浏览器中运行的 Google Docs

书写工具

大多数人在电脑上进行某种形式的写作。无论是学校的笔记和论文,商业电子邮件,广告文案,编程代码,甚至是一本书的全文,都有工具可以帮助你。微软 Word 是 Windows 和 Mac 上最常见的“写作解决方案”,但是你很快就会看到,在 Linux 世界里还有许多其他的选择。

斯克里布

笔记簿详细资料:

安装:sudo apt install scribus

菜单位置:Raspberry Menu``Graphics

帮助:man scribus

网址: www.scribus.net/

LibreOffice Writer 是一般文字处理的最佳选择,它也可以执行一些页面布局功能,但对于复杂的页面布局和桌面出版,有一个更好的选择:Scribus。Scribus 是一个开源桌面发行商,在功能上类似于微软发行商,但又有很大不同。

有许多使用 Scribus 制作的月刊杂志,包括 Raspberry Pi 基金会自己的MagPi 杂志

Leafpad(又名文本编辑器)

叶垫详情:

安装:sudo apt install leafpad

菜单位置:Raspberry Menu``Accessories

帮助:man leafpad

网址: http://tarot.freeshell.org/leafpad/

在覆盆子➤配件下有一个简单的叫做“文本编辑器”的选项这就带来了一个被称为 Leafpad 的基本文本编辑应用。如果你需要编辑系统文件,想读一个文件,或者只是想用普通的,大部分是无格式的文本来写,这个应用可以满足你。它真的超级好用,比得上 Windows 上的写字板和 Mac 上的文本编辑。

请注意,当你安装“编写应用”时,文字处理器和文本编辑器之间有很大的区别。文本编辑器加载并保存纯文本,没有特殊的格式、字体或布局选项,而文字处理器包括诸如粗体、斜体、边距、字体、颜色等格式。文字处理器格式,比如。docx。odt 之类的,把你的文档绑定到创建它们的特定文字处理器,而纯文本文档,。txt。md ,或。tex ,可以被任何文本编辑器读取。

阿比 Word

一字细节:

安装:sudo apt install abiword

菜单位置:Raspberry Menu``Office

帮助:man abiword

网址: www.abisource.com/

这个文字处理器默认不安装在 Raspbian 中;你需要添加它。如果你不需要 LibreOffice 套件中的所有其他应用,而只是想要一个独立的文字处理器,这是一个值得尝试的应用。它又小又快,而且是跨平台的,所以你也可以把它安装在其他电脑上。

泰克斯梅克

Texmaker 详细信息:

安装:sudo apt install texmaker

菜单位置:Raspberry Menu``Office

帮助:man texmaker

网址: www.xm1math.net/texmaker/

这不是标准的文字处理器。这是一个用 LaTeX 编写的工具,LaTeX 是一个文本格式化系统,我们将在第七章中详细讨论。简而言之,LaTeX 是一种文本格式化语言,允许您使用简单的文本命令来描述极其复杂和详细的文本布局、等式、数学、图像,甚至像边距和字体这样的东西。如果这听起来很复杂,那是因为它复杂,但像 Texmaker 这样的工具有助于大大减轻这种复杂性。图 4-6 在左边的窗格中显示了一个示例 LaTeX 文档,在右边的窗格中显示了一个编译完成的文档。

img/485525_1_En_4_Fig6_HTML.jpg

图 4-6

Texmaker 专业乳胶编辑器

PDF 工具

PDF 格式的文档是大多数企业的主流。你如何创建它们,如何在 Pi 上读取它们?

pdfview

qpdf 查看详情:

安装:sudo apt install qpdfview(预装在 Raspbian 中)

菜单位置:Raspberry Menu``Accessories

帮助:man qpdfview

网址: https://github.com/bendikro/qpdfview

如果你只是在文件管理器中双击一个 pdf 文件,系统将打开该文件,并允许你使用一个名为 Qpdfview 的应用来查看它。这是一个简单的小应用,可以让你快速方便地查看 pdf 文件。它做的不多,但是加载快,兼容复杂的 pdf 文件,所以试试吧;如果这就是你所需要的,那就坚持下去。如果简单的工具就能完成工作,为什么还要使用复杂的工具呢?

证据

证据详情:

安装:sudo apt install evince

菜单位置:Raspberry Menu``Office

帮助:man evince

网址: https://wiki.gnome.org/Apps/Evince

Evince 是 PDF 阅读器的下一步。您可以并排查看两个页面、创建书签、注释文本、打印、查看缩略图(如图 4-7 中的截图)等等。在图 4-7 中,你可以在左边看到缩略图索引,在右边看到一个大的可读页面。视图可以用几种不同的方式配置,所以这是最灵活的 pdf 阅读器之一。

img/485525_1_En_4_Fig7_HTML.jpg

图 4-7

Evince PDF 阅读器(一期 MagPi 包含在 Raspbian 中)

奥库拉尔

Okular Details:

安装:sudo apt install okular

菜单位置:Raspberry Menu``Office

帮助:man okular

网址: https://okular.kde.org/

如果你需要更高级的工具来处理和编辑pdf,那么这就是你想要看的工具。您可以选择和编辑文档的区域、打印、添加书签、重新排序页面等等。除了 PDF,它还支持其他格式:Postscript、DjVu、CHM、XPS、EPUB 和其他格式。正如你在图 4-8 中看到的,Okular 有更多的选项,但也给了我们一个更复杂的界面。

img/485525_1_En_4_Fig8_HTML.jpg

图 4-8

Okular PDF 管理器(MagPi 问题免费包含在 Raspbian 中)

电子邮件

发送和接收电子邮件是许多人的主要工作功能。虽然 Raspbian 上没有 Outlook 或 Mail.app,但有一些非常强大的替代产品。

雷鸟

雷鸟详情:

安装:sudo apt install thunderbird

菜单位置:Raspberry Menu``Internet

帮助:man thunderbird

网址: www.thunderbird.net/

雷鸟从 2004 年就出现了,你可以获得所有主要操作系统的版本。它的功能与微软的 Outlook 相当,而且是由 Mozilla 发布的,与 Firefox 网络浏览器的开发者是同一批人;所以他们是可靠的,成熟的,不会很快消失。如果你使用网络浏览器查看邮件,这很好,但如果你想要一个离线邮件应用,这是一个尝试。它包括一个联系人列表、一个日历应用和许多其他强大的工具。

配置你的电子邮件账户通常很容易;我输入我的 Gmail 账户和密码,它就自动为我设置好了其他一切。结果如图 4-9 所示。

img/485525_1_En_4_Fig9_HTML.jpg

图 4-9

雷鸟:功能齐全的电子邮件客户端

爪子邮件

爪子详情:

安装:sudo apt install claws-mail

菜单位置:Raspberry Menu``Internet

帮助:man claws-mail

网址: www.claws-mail.org/

如图 4-10 所示,Claws Mail 预装在 Raspbian 中,因此您已经可以使用它了。它有几个对话框来帮助你设置你的账户,但是它不像雷鸟那样直观;您可能需要查看您的 web 提供商提供的说明,以便手动配置 POP3、SMTP 和 IMAP 设置。它的功能也远不如 Thunderbird 全面,但是,一旦它配置好了,在 Pi 上使用起来非常简单和快速,所以这可能就是你所需要的。

img/485525_1_En_4_Fig10_HTML.jpg

图 4-10

Claws 邮件客户端

网络浏览器

我们中的许多人花大部分时间坐在网络浏览器前。任何人想知道的东西都在网上的某个地方,你用来获取这些信息的工具很重要。如果你喜欢 Windows 或 Mac 上的 Chrome,你还是会想在这里使用它;但也有其他选择,如 Vivaldi、Firefox 和 Tor。我们现在就来看看它们之间的区别。

铬详情:

安装:sudo apt install chromium(预装在 Raspbian 中)

菜单位置:Raspberry Menu``Internet

帮助:man chromium

网址: www.chromium.org/

Chromium 是包含在 Raspbian 中的浏览器,也是谷歌 Chrome 浏览器的开源版本。嵌入在 Chrome 中的许多代码最终会变成普通的 Chrome。

你可以使用你的谷歌账户(如果你有 Gmail 账户的话,这个账户和你的 Gmail 账户一样)登录谷歌,你所有的书签、菜单设置、主题、扩展和其他一切都会快速同步,给你一种和其他版本 Chrome 一样的体验。对于大多数网站和情况,这是与 Raspbian 一起使用的最快的浏览器,尽管如果您使用不同的发行版,其他一些浏览器可能有优势。我建议尝试几种不同的浏览器,然后选择最适合你工作风格的一种。

火狐浏览器

火狐详情:

安装:sudo apt install firefox

菜单位置:Raspberry Menu``Internet

帮助:man firefox

网址: www.mozilla.org/en-US/firefox/new/

许多企业和团体已经在 Firefox 上实现了办公标准化,因为 Mozilla 比 Google 更重视用户隐私。如果你习惯在其他地方使用 Firefox,那么在你的 Pi 上安装和使用它也很容易——一旦你用你的 Firefox 帐户和密码登录,你所有的书签和设置都应该从云中导入,所以这种体验应该就像在任何其他计算机上使用 Firefox 一样。

然后按照屏幕指示登录并同步您的书签(如果需要),或者开始浏览。注意,在撰写本文时,可用于 Pi 的 Firefox 版本是 52.9 版,这是 2 年前的版本;Mozilla 目前没有为 Raspberry Pi 开发更新,因此随着时间的推移,这将越来越过时,可能会导致安全问题。也就是说,火狐目前确实在运行,而且运行良好。没有办法确定他们是否会更新它或继续发布新的更新。

Vivaldi

维瓦尔第详情:

安装:(see in the following)

菜单位置:Raspberry Menu``Internet

帮助:(see web site)

网址: http://vivaldi.com

Vivaldi 是一个较新的浏览器,有很多有趣的新功能。它非常可定制,允许你将标签放入堆栈和组中,以各种方式分割浏览器窗口,甚至在浏览器本身中放置一个 notes 应用。我发现在 Pi 上,加载页面通常比 Chromium 快得多。值得你花几分钟时间去看看他们网站上的介绍视频, http://vivaldi.com

安装起来有点复杂,因为它不包含在 Raspbian 中,也不包含在“apt”库中。一次键入以下一行:

sudo apt update

sudo apt upgrade

wget https://downloads.vivaldi.com/stable/vivaldi-stable_1.13.1008.34-1_armhf.deb

sudo apt install ./vivaldi-stable_1.13.1008.34-1_armhf.deb

这一点很有意思,因为这是你通常用来安装没有明确包含在 Raspbian 仓库中的任何“Debian 包”的过程。前两行只是更新 Pi 上的存储库信息,并更新任何需要更新的软件。第三行( wget )下载安装文件,第四行使用熟悉的“ sudo apt install ”流程安装 app。您需要知道。deb 文件,所以这不是你可以自己解决的事情,但是你可能会发现这种安装,因为你会在网上找到内置库中没有的应用。

Tor 浏览器

闸门详细资料:

安装:sudo apt install tor

运行命令:tor

帮助:man tor

网址: www.torproject.org/

Tor 是一个将 VPN(虚拟专用网络)和网络浏览器结合在一起的系统。这是一款可以伪装你的位置和任何可追踪信息的浏览器。对于真正的隐私浏览,这是一个值得研究的工具。

在 Windows 和 Mac 上,您可以简单地下载 Tor 浏览器,并像使用其他浏览器一样使用它。Tor 浏览器在 Raspberry Pi 上不可用,但是有一个解决方法。你可以安装 Tor 的服务器版本,然后让 Chromium 浏览器通过它工作。这使得你的网络活动很难追踪。一旦安装了 Tor,只需进入命令行并输入

chromium-browser --proxy-server=socks5://localhost:9050

这将运行已经安装的 Chromium 浏览器,并使所有输出通过 Tor 的类似 VPN 的系统。当我运行前面的命令时,我去了谷歌地图,如图 4-11 所示,看看它认为我在哪里。它向我展示了乌克兰哈尔科夫的一个地点!

img/485525_1_En_4_Fig11_HTML.jpg

图 4-11

我不在乌克兰,但在互联网上看起来是这样的!

笔记应用

Raspbian 中没有专门用于记录和保存信息的应用。您可以使用前面讨论过的 Leafpad 文本编辑器或 LibreOffice Writer,但是对于一个简单的列表或笔记来说,这些工具往往是多余的。

你这混蛋

GNote 详细资料:

安装:sudo apt install gnote

菜单位置:Raspberry Menu``Accessories

帮助:man gnote

网址: https://wiki.gnome.org/Apps/Gnote

这是一个超级简单的笔记本应用,可以让你轻松地将文本输入或剪切并粘贴到笔记中,甚至可以让你将笔记链接在一起。虽然您可以设置基本格式,如粗体、斜体和下划线,但无法插入图像或其他非文本项目。GNote 的目标是尽可能简单。当您运行它时,您会看到类似图 4-12 的内容。

img/485525_1_En_4_Fig12_HTML.jpg

图 4-12

添加了几个快速注释的 GNote

记事本

OneNote 是 Microsoft Office 套件的一部分,与 Word 和 Excel 一样,它也有一个在线组件。这是目前最强大的笔记应用之一,无论是在 Pi 上还是其他地方;你输入的所有内容都会无缝地同步到你的 iPhone、Android 或其他电脑上。您有多种组织数据的方式—单个笔记本或笔记本中的分区,然后放在单个页面上。有很大的灵活性;您可以包含文本、图像、pdf 甚至声音文件。与其他 Office 应用不同,OneNote 可供任何人在所有平台上免费使用。

图 4-13 在左边显示了我的彩色编码部分,中间一栏显示了几页的名称,主窗格显示了一篇剪辑过的文章。

img/485525_1_En_4_Fig13_HTML.jpg

图 4-13

在 Chromium 中运行的 Microsoft OneNote

您可以在 www.onenote.com 了解有关 OneNote 的更多信息。

齐姆

Zim 详情:

安装:sudo apt install zim

菜单位置:Raspberry Menu``Accessories

帮助:man zim

网址: https://zim-wiki.org/

Zim(图 4-14 )是一个桌面 wiki 。wiki 是一种收集、链接和组织大量页面数据的方法。如果你熟悉维基百科,你会有这样的想法,但这要简单得多,也更容易管理。所有数据都存储在带有 wiki 格式的纯文本文件中。如果你平时只是在笔记本上随便输入一堆东西,这个 app 可能会矫枉过正;但是如果你的笔记需要任何形式的组织,不管是简单的还是复杂的,这都是值得一试的。它还允许存储文本、链接、照片、任务列表和方程式编辑器,并接受插件进行扩展。

img/485525_1_En_4_Fig14_HTML.jpg

图 4-14

Zim 桌面 wiki

Zim 可用于 Windows、Mac、Linux 和许多其他平台;因此,如果同步您的数据很重要,Zim 可以满足您的需求。你可以在 https://zim-wiki.org 了解更多关于 Zim 的信息。

樱桃树

樱桃树详情:

安装:(见in the following)

菜单位置:Raspberry Menu``Accessories

帮助:man cherrytree

网址: www.giuspen.com/cherrytree/

Cherrytree 是另一个 wiki,在许多方面与 Zim 相似,但它要复杂得多,并且允许大量的定制和功能。它的界面比 Zim 更现代。它可以存储文本、图像、文件、链接、表格和可执行代码片段。它允许您将所有数据包含在一个 xml 文件中,或者如果您有大量的注释,您可以将它们存储在 SQL 数据库中。Cherrytree 可用于 Linux 和 Windows,但没有 Mac 版本,所以如果你正在考虑在机器之间同步数据,请记住这一点。

要安装,请转到命令行,仔细键入以下两行:

wget http://www.giuspen.com/software/cherrytree_0.38.8-0_all.deb
sudo apt install ./cherrytree_0.38.8-0_all.deb

图 4-15 为树莓 Pi 版。

img/485525_1_En_4_Fig15_HTML.jpg

图 4-15

cherrytree——一个有许多选项的强大维基

音频、视频和图形编辑

音频和视频编辑是众所周知的处理器密集型任务,许多公司出售非常昂贵的图形工作站来处理视频工作。视频渲染是苹果新推出的 6000 美元 Mac Pro 电脑的主要用途之一。树莓派能和它竞争吗?

嗯,不。尽管如此,Audacity 的音频编辑是完全可能的,而且效果很好。此外,Raspberry Pi model 4 可以使用 Kdenlive 加载、转换、保存和编辑视频。

老款的 RPi …嗯,可以试试,但是体验真的不是很好;旧的 Pi 型号没有加载大型音频和视频文件所需的内存。也就是说,这些应用确实可以运行,甚至在老款机型上也可以运行,而且确实可以工作;所以如果这些是你需要的工具,那就尽情享受吧!

大胆

无畏细节:

安装:sudo apt install audacity

菜单位置:Raspberry Menu``Sound & Video

帮助:man audacity

网址: https://sourceforge.net/projects/audacity/

在“普通”电脑上,Audacity 以功能最丰富的开源声音编辑系统而闻名。它有插件,效果,宏,以及大量的其他功能。我个人在 Mac 上用 Audacity 编辑过从播客到有声读物的所有内容。

Audacity for the Raspberry Pi,如图 4-16 所示,具有在全功能计算机上发现的大部分相同功能,这很好,但在任何低于 model 4 Pi 的计算机上使用它都非常慢。问题不在于应用本身,而在于声音文件的大小,这些文件通常会变得相当大;Pi 型号 3B+和旧型号没有足够的内存来有效地处理这些文件。不过,对于像以不同格式保存文件或做一些小的编辑这样的事情,它在旧的 Pi 上工作得很好!

也就是说,有了新的 Raspberry Pi 4,它工作起来没有任何问题。由于 RAM 的原因,非常大的文件可能仍然会受到限制,但大多数短录音都可以很好地加载和编辑。

img/485525_1_En_4_Fig16_HTML.jpg

图 4-16

Raspberry Pi 上的 Audacity 声音编辑器

Kdenlive

Kdenlive 详细信息:

安装:(见in the following)

菜单位置:Raspberry Menu``Sound & Video

帮助:man kdenlive

网址: https://kdenlive.org/en/

Audacity 处理声音文件,而 Kdenlive 处理视频。Audacity 在 Pi model 4 上运行得很好,而 Kdenlive 在视频方面仍然有些困难。它运行,它加载文件,但老实说,视频编辑真的不是最新的 Pi 所擅长的,因为视频文件太大了。尽管如此,它仍然可以安装和运行,所以如果你好奇的话,可以尝试一下。

与一起安装

sudo apt install breeze-icon-theme
sudo apt install kdenlive

VLC 球员

VLC 玩家详情:

安装:sudo apt install vlc

菜单位置:Raspberry Menu``Sound & Video

帮助:man vlc

网址: www.videolan.org/vlc/index.html

编辑视频对树莓派来说有点多,但观看它们要容易得多。如果你只是想看视频,VLC 播放器绝对不会错,如图 4-17 所示。它包括许多视频编解码器,你需要播放各种视频和音乐格式,让你播放电影或音乐播放列表,使用字幕,并做流媒体;而且启动时非常容易配置。

模型 3B+ RPi 不能处理 4K 视频,但对于 720p 甚至大多数 1080p 视频,它工作得很好。对于型号 4 Pi,视频输出是升级的主要目标之一。它不仅可以轻松处理 4K 视频,而且可以同时处理两台显示器。视频性能是升级的主要目标之一,所以你可以真正地说,它是为具有两个 4K HDMI 输出的视频输出而构建的。

img/485525_1_En_4_Fig17_HTML.jpg

图 4-17

用 VLC 播放器观看视频

音乐播放器

偶尔听听音乐也挺好玩的。前面提到的 VLC 可以很好地播放音乐和播放列表,但一个专门从事音乐管理和图书馆管理的应用将提供更多的功能。我认识一些人,他们制作了一个专用的树莓派,并把它们放在各种类型的点唱机和古董收音机模仿项目中。我们不打算在这里走那么远,但这里有三个伟大的 MP3 播放器,你可以尝试。除了常规的音乐文件,如果你喜欢音频播客,Amarok 和克莱曼婷都可以轻松处理它们。

Amarok 详细资料:

安装:sudo apt install amarok

菜单位置:Raspberry Menu``Sound & Video

帮助:man amarok

网址: https://amarok.kde.org/

Amarok 是一款播放器,可以处理储存在电脑上的所有音频文件,也可以处理大量的流媒体网络服务。Last.fm、LibriVox、MP3Tunes、podcasts 和许多其他网站和服务都受到支持。

Qmmp 详细资料:

安装:sudo apt install qmmp

菜单位置:Raspberry Menu``Sound & Video

帮助:man qmmp

网址: http://qmmp.ylsoftware.com/

多年来,Windows 上最受欢迎的音乐播放器是一款名为 Winamp 的应用。开发人员几年前就放弃了更新和开发 Winamp,但这个 Winamp 外观相似的应用是可用的,并且工作得非常好。它可以处理 MP3 文件和播放列表,而且一切都很时尚。如果你还记得 Winamp,那就看看 Qmmp。

克莱曼婷详情:

安装:sudo apt install clementine

菜单位置:Raspberry Menu``Sound & Video

帮助:man clementine

网址: www.clementine-player.org/

克莱曼婷是跨平台的,所以如果你在你的 Pi 上创建了一堆播放列表,你可以毫无问题地把它们移动到其他地方。它在许多方面与 iTunes 相似,因为它几乎可以做任何事情。克莱曼婷将管理你的图书馆,连接到网络服务,以及许多其他功能。图 4-18 显示了 RPi 版本。

img/485525_1_En_4_Fig18_HTML.jpg

图 4-18

克莱曼婷音乐播放器展示其网络服务

GIMP

GIMP 详细信息:

安装:sudo apt install gimp

菜单位置:Raspberry Menu``Graphics

帮助:man gimp

网址: www.gimp.org/

GIMP,如图 4-19 所示,是 GNU 图像处理程序的缩写,是一个功能非常丰富的图形编辑器,与 Adobe 的 Photoshop 处于同一级别。与我们几页前讨论过的音频和视频编辑器不同,GIMP 在 Pi 上工作得很好。一些图像计算和复杂的渲染有时可能会很慢,但这并不太糟糕,在实际使用该应用时不会变慢;一点也不痛苦。

有内置的“脚本”制作标志、按钮和其他网络东西,有许多过滤器和编辑设置,它们都在 Pi 上工作。这是一个非常强大和复杂的应用,几乎可以对图像做任何事情,但所有这些功能都有一个陡峭的学习曲线。幸运的是,这是一个受欢迎的应用,有许多书籍和视频可以告诉你如何开始。

和往常一样,这个可以用sudo apt install gimp安装。

img/485525_1_En_4_Fig19_HTML.jpg

图 4-19

GIMP: GNU 图像处理程序

红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石红宝石

喷墨打印纸详细资料:

安装:sudo apt install inkscape

菜单位置:Raspberry Menu``Graphics

帮助:man inkscape

网址: https://inkscape.org/

GIMP 非常棒,非常强大,可以编辑照片和创建类似照片的图像。硬币的反面是矢量图形,通过记录一系列点,然后“连接这些点”来进行设计,使这些图像可以无限缩放,这对于尺寸可以变化的徽标、海报和视觉设计非常有用。Pi 上最适合这个的应用是 Inkscape。Inkscape 大致相当于 Adobe Illustrator,其中 GIMP 更类似于 Adobe Photoshop——不同的工作使用不同的工具!图 4-20 向我们展示了一张放大的父亲节图片。

img/485525_1_En_4_Fig20_HTML.jpg

图 4-20

矢量 SVG 文件加载到 Pi 上的 Inkscape 中

文件管理应用

Pi 上的大部分文件管理是通过文件管理器应用处理的,甚至是通过基于文本的文件应用,如午夜指挥官(见第五章),甚至是 Linux 命令行文件操作工具,如mvcp(我们将在后面看到这些)。尽管如此,有时你需要更复杂的方式来移动文件,而这通常使用桌面上的可视化工具更容易做到。

档案 Zilla

FileZilla 详细资料:

安装:sudo apt install filezilla

菜单位置:Raspberry Menu``Internet

帮助:man filezilla

网址: https://filezilla-project.org/

FileZilla 是由 Mozilla 基金会创建的,它是一个安全而强大的 FTP 管理器,也是 Firefox 和 Thunderbird 的开发者。您可以保留一个 FTP 服务器列表,手头有完整的登录信息,并在它们之间轻松传输文件。需要从你的电脑上复制一堆音乐文件?这是做这件事的一种方法。

您可以在左边的窗格中浏览 Pi 上的所有文件,在右边的窗格中浏览远程机器上的所有远程文件和目录,然后使用鼠标轻松地进行复制、移动、删除或任何您想做的事情。

FileZilla 使用普通 ftp 或 sftp 来增加安全性。如果您的文件传输被中断,它们很容易恢复,从第一批失败的地方继续。这是我最喜欢的从同一网络上的另一台计算机将文件输入和输出我家的 Pi 的方法。你可以在图 4-21 中看到我正在连接我的 Mac 电脑;本地 RPi 文件在左边,右边的文件在我 Mac 的硬盘里。只需拖放即可将文件从一个文件夹移动到另一个文件夹,移动整个文件夹也一样简单。

img/485525_1_En_4_Fig21_HTML.jpg

图 4-21

从 Pi 上运行的 FileZilla 访问我的 Mac

Deluge

大洪细节 :

安装:sudo apt install deluge

菜单位置:Raspberry Menu``Internet

帮助:man deluge

网址: https://deluge-torrent.org/

大洪是跨平台的 BitTorrent 客户端,图 4-22 有截图。BitTorrent 一直有点争议,因为它经常被用来盗版电影和音乐,但它也有很多合法的用途。大多数(如果不是全部的话)Linux 发行版可以通过 BitTorrent 系统下载,并且文件传输速度通常比普通下载要快。不管你运行洪流的目的是什么,洪水是在 Pi 上运行的解决方案。去一个提供的网站。torrent 文件并下载到你的 Pi 上。装载洪水并打开。torrent 文件,目标文件将下载。

img/485525_1_En_4_Fig22_HTML.jpg

图 4-22

通过洪水应用下载 BitTorrent

结论

我们现在已经讨论了大量的应用,至少在我看来,这些是这些特定工作的最佳应用。还有其他做同样事情的应用,我还没有提到,如果你对我的一些建议不满意,那么通过快速的在线搜索,可能有其他的选择。更有可能的是,你需要完成一些我甚至都没有想到的任务。如果是这种情况,那么仔细阅读我们在前一章中谈到的 Raspbian 软件安装程序,看看是否有一个易于安装的工具可以满足您的需要。

如果没有,你可以在谷歌上搜索一下,看看是否有人已经以某种方式解决了这个问题。这些 app 都是开源的解决方案,大多数开源开发者都渴望解决问题,建议工具。

我们已经在前一章和本章中分别介绍了桌面 GUI 界面和应用。现在,我们将对命令行界面做同样的事情:首先是界面工具,然后是应用。等等,选择从这里开始!

五、使用命令行工具

在过去的二十年里,我们都已经习惯了使用 GUI 应用和桌面,但在此之前,一切都是在终端屏幕上以文本模式完成的。如果你还记得 MS-DOS 或 UNIX 的时代,那么你就知道该怎么做。一直以来都是命令行。不管怎样,我们还是设法完成了工作。

简单的事实是,在许多方面,只使用命令行通常会更快更有效。例如,要在 GUI 中保存一个文件,你需要将手伸向鼠标,将鼠标移动到文件菜单,点击保存命令,然后将手移回键盘,继续打字。那是很多的感动和互动。或者你可以用键盘上的 Ctrl-S 来代替。这是一种权衡。使用键盘更快,但你必须花时间去学习。每天重复这种节省时间的方法数百次,可以为其他事情积累更多的时间。

许多基于文本的应用不依赖鼠标,甚至不支持鼠标。如今,键盘命令通常被认为是“高级用户技巧”,但是没有鼠标,它们就成了必需品。当你的双手可以一直放在键盘上时,你的工作效率会飞速提高。

当然,如果你对桌面出版或视频编辑感兴趣,那么你真的需要图形工具。有些东西只需要图形用户界面。另一方面,有许多任务仅仅使用键盘也可以完成,如果不是更有效的话。如果你认为用 Raspberry Pi 作为你唯一的电脑是一个有趣的挑战,试着在文本模式下完成它!

在这一章中,我们将会看到一些用来在文本模式下完成工作的基本工具。这不是一个关于 Linux 命令的全面教程,但是我们确实研究了一些命令,以及可以与这些命令一起使用或者有时代替这些命令的工具。我们先来看看 Tmux,一个可以让你一次控制多个文本“窗口”的应用;然后我们再来看一个比 Raspbian 收录的更好的终端 app 最后,我们将看看两个文件管理器,它们将使您移动、复制、备份和删除文件的体验更加容易。最后,我们将回顾一些基本的 Linux/Unix 文件命令,这些命令允许您手动复制、移动、删除文件,等等。

增加命令行的趣味性

您可能会把命令行想象成一个黑屏,上面有几行复杂而晦涩的绿色文本。如果这是您想要的,您当然可以这样做,但是有许多工具可以使停留在文本模式更像运行窗口 GUI。应用 Tmux 给你多个窗口。终结者给了你很好的配色方案,字体选择,并以不同的方式来分割你的屏幕。午夜指挥官和游侠使文件操作比试图记忆一堆命令更容易和更强大。我们将查看所有这些内容,并为枯燥的命令行增添趣味!

Tmux 的

Tmux 详细资料:

安装:sudo apt install tmux

运行命令:tmux

点文件: ~/.tmux.conf

帮助:man tmux

网址: https://github.com/tmux/tmux

有了像 Windows 或 MacOS,甚至 Raspbian 的桌面这样的 GUI,当你想一次运行多个应用时,你只需在自己的小窗口中运行每个应用。您可以将这些窗口彼此相邻放置,如果需要可以重叠它们,或者完全最小化它们。对于文本模式的终端应用,你只有一个屏幕,所以你需要把屏幕分成几个部分,在每个部分运行一个应用。实际上,您会得到相同的结果,但是需要提前多做一点计划。图 5-1 显示了使用一个名为 Tmux 的应用在一个窗口中运行的两个应用。

img/485525_1_En_5_Fig1_HTML.jpg

图 5-1

Tmux 正在使用

Tmux 是所谓的“终端多路复用器”这是一种奇特的说法,它把你的终端窗口分割成更小的窗格,每个窗格可以运行一个单独的程序。图 5-1 显示了一个运行两个应用的终端窗口:左边是 Vim,右边是目录列表。这都是通过 Tmux 完成的。

看起来不怎么样;您可能会注意到窗口底部有一个彩色条。这是典型的命令行应用;他们通常没有精美的菜单。

你可以通过按下 Tmux“command 键”来控制 Tmux,默认情况下是 Ctrl-B 。要让事情发生,你可以按 Ctrl-B 和其他键,这取决于你想做什么。例如,要垂直分割屏幕,如图 5-1 ,按 Ctrl-B,然后按%。请注意,要获得%,您还必须按住 Shift 键,因此实际上是 Ctrl-B,然后 Shift-5(在美国键盘上获得%)。

表 5-1 提供了最常用 Tmux 命令的快速列表。您可以将屏幕分割成多个 窗格 ,和/或您可以拥有多个 窗口 ,它们是整个屏幕。

表 5-1

各种 Tmux 命令

|

行动

|

组合键

|
| --- | --- |
| 垂直拆分窗口 | Ctrl-b % |
| 水平分割窗口 | Ctrl-b " |
| 新窗口 | Ctrl-b c |
| 关闭窗口 | Ctrl-d 或 Ctrl-b x |
| 终止窗口 | Ctrl-b & |
| 下一个窗口 | Ctrl-b n |
| 上一个窗口 | Ctrl-b p |
| 重命名窗口 | Ctrl-b , |
| 列出所有窗口 | Ctrl-b 瓦 |
| 移动到窗口编号 | ctrl-b[数字] |
| 下一个面板 | Ctrl-b 或 |
| 前一窗格 | Ctrl-b ; |
| 显示窗格编号 | Ctrl-b q |
| 向左移动窗格 | Ctrl-b { |
| 向右移动窗格 | Ctrl-b } |
| 交换窗格位置 | Ctrl-b Ctrl-o |
| 向下调整窗格大小 | Ctrl-b Ctrl-j |
| 向上调整窗格大小 | Ctrl-b Ctrl-k |
| 向左调整窗格大小 | Ctrl-b Ctrl-h |
| 向右调整窗格大小 | Ctrl-b Ctrl-l |

那个看起来像是要记很多东西,但是通过使用你会很快掌握它们。开始时,你需要记住的是 Ctrl-B,然后是%或"来垂直或水平分割窗口;然后使用 Ctrl-B 和箭头键在窗格之间导航。

在第七章中,我将带你浏览我的 Tmux 的“dotfile”配置文件,向你展示一种简单的方法来改变这些键绑定或者改变 Tmux 的行为。

养成打开自己选择的终端 app,然后马上加载 Tmux,然后再加载其他任何东西的习惯是很好的。这样,如果你发现自己需要另一个应用,你可以打开另一个窗口,让它就在那里。当然,如果您愿意,您仍然可以打开两个、三个或十五个不同的终端窗口,但是同样,呆在 Tmux 中,您不会因为使用鼠标而放慢速度。

注意

如果你正在引导进入文本模式(完全没有 GUI),那么 Tmux 是你可以同时运行多个应用的唯一方法。

终结者

终结者详情:

安装:sudo apt install terminator

运行命令:tmux

点文件: ~/.tmux.conf

帮助:man terminator

网址: https://gnometerminator.blogspot.com/

以前的应用 Tmux 在一个通用的终端窗口中运行,并以不同的方式分割您看到的内容,而 Terminator 是一个取代内置终端应用本身的应用,并在一个窗口中运行多个可调整大小的终端面板。

《终结者》并不完全是一款基于文本的应用;它是 Linux 终端的替代品。如果你喜欢 Raspbian 自带的常规终端应用,或者你更喜欢使用更常用的 Tmux 分屏方法,你可以跳过这一步。另一方面,我喜欢颜色和字体的定制,我认为它看起来更好,如图 5-2 所示。

img/485525_1_En_5_Fig2_HTML.jpg

图 5-2

三块终结者玻璃

游侠和午夜指挥官

游侠详情:

安装:sudo apt install ranger

运行命令:ranger

Dotfile:里面的各种文件~/.config/ranger/

帮助:man ranger

网址: https://github.com/ranger/rangera

午夜指挥官详情:

安装:sudo apt install mc

运行命令:mc

Dotfile:里面的各种文件/etc/mc/

帮助:man mc

网址: https://midnight-commander.org

午夜指挥官和游侠都是档案管理员。它们允许您轻松浏览计算机的文件夹层次结构,复制、移动、重命名和删除文件,以及查看文件内容的预览。

完全可以忽略这两个,简单地用 Unix 命令复制文件,像 cp mv rm ls 等等;有时候简单地输入命令会更快。不过,学习所有的 Unix 文件操作命令绝对是明智之举,这样你就可以快速地做事情。如果您喜欢纯粹使用命令行 shell,如图 5-3 所示,您随时都可以这样做。

另一方面,有时您想处理批量文件,或者更直观地浏览和导航您的文件。《午夜指挥官》和《游侠》都有各自的优点,但选择其中一个并学会真正精通它可能是最有效的方法。

Ranger 有一种更加“开放”的感觉,在最左边的两个窗格中有两级目录,在第三个窗格中有一个文件预览。移动速度很快,非常直观,但屏幕上没有任何控件或菜单——所有的都是通过记忆的键盘命令完成的,这在开始时会让你变慢。如图 5-4 所示,它显示的非常干净和稀疏。

img/485525_1_En_5_Fig4_HTML.jpg

图 5-4

Ranger 的文件列表

img/485525_1_En_5_Fig3_HTML.jpg

图 5-3

普通命令行上的文件列表

另一方面,午夜指挥官提供了一个永久的两列视图,如图 5-5 所示。这对于复制文件或比较文件夹来说很好,甚至还有一个内置的文件编辑系统。屏幕顶部还有菜单,可以通过键盘或(喘息!)鼠标。

img/485525_1_En_5_Fig5_HTML.jpg

图 5-5

午夜指挥官的文件列表

你用哪一个完全取决于你自己。它们都做完全相同的事情,但是它们的接口完全不同。我通常在命令行上执行大多数文件移动命令——请参阅下一节了解更多信息。如果我想快速移动到一首歌曲或加载一个文本文件,我会在 Ranger 中快速缩放到它。当我使用深度嵌套的路径时,或者在我不知道东西在哪里或者需要在一堆文件和目录中查找的时候,我会使用 Midnight Commander。

使用树莓派作为终端

到目前为止,在本书中,我们已经花了很多时间讨论命令行应用和工具,它们可以在 Pi 计算机的本地终端窗口中运行。我们甚至讨论过将您的 Pi 设置为在没有显示器或键盘的情况下“无头”运行。通过这样的无头设置,您可以使用 SSH 或 VNC 浏览器从其他计算机访问 Pi。

那些完全相同的工具也可以在大型远程计算机上工作,所以如果你遇到一些你的 RPi 真的不能处理的应用或进程,你可能想在别人的计算机上运行那个进程。举两个常见的例子,你可以从 Linode.com 和 DigitalOcean.com 这样的公司“租借”一台远程服务器。这些系统很便宜,每月大约 5 美元,并且可以无限扩展。

您可以坐在您的 Raspberry Pi、显示器和鼠标前,在您选择的终端应用中使用 SSH 和 VNC 浏览器在远程服务器上工作。在前面的章节中,我们看了内置的 Ubuntu 终端和 Terminator,但是这里有几十个其他的选项,你可以从桌面或者全屏命令行运行。你甚至可以通过这种方式访问 Mac 或 Windows 电脑,前提是你已经安装了正确的远程访问软件。如果你不能用 Pi 解决你的所有问题,也许你可以把它作为一个窗口,让一个更大的机器来做你需要的事情。

回到 20 世纪 70-80 年代,这种客户端-服务器配对非常普遍。人们将使用“哑”终端连接到“智能”计算机和大型机来完成工作。在个人电脑时代,这种思维方式消失了几十年。现在,在“一切都连接到互联网”的现代,在“云”中工作是很平常的事情

有了这种工作方式,你只需要一个好的终端程序就可以了,比如我们将在后面讨论的 Terminator,以及预装了 Raspbian 的 VNC 浏览器。你需要的所有计算能力都驻留在云中,你的 Pi 系统完全可以这样做任何事情。

SSH 详情:

安装:sudo apt install ssh

运行命令:ssh <hostname>

点文件: ~/.ssh/config and /etc/ssh/ssh_config

帮助:man ssh

网址: www.openssh.com/

SSH 应用允许您从终端屏幕登录(通过文本模式)到另一台计算机的纯文本终端。您可以在 Raspberry Pi 终端上做的任何事情,也可以在另一台电脑上远程完成。如果您需要的磁盘空间或互联网带宽超出了您在家可以管理的范围,那么您可以在服务器场“租用”计算机时间,并从您的 Pi“远程访问”。图 5-6 显示我的 Mac 在运行 Midnight Commander,但实际上我正坐在我的 Pi 前面,而我的 Mac 在楼上的一个房间里。

img/485525_1_En_5_Fig6_HTML.jpg

图 5-6

在树莓 Pi 上通过 SSH 访问我的 Mac

VNC 观察报

VNC 浏览器详情:

安装:(see web site)

菜单位置:Raspberry Menu``Internet

帮助:man vncviewer

网址: www.realvnc.com/en/connect/download/viewer/raspberrypi/

我们在第三章中讨论过将 Raspberry Pi 设置为 VNC 服务器,这个应用做的正好相反;它是您用来登录运行 VNC 服务器的计算机的工具。这就像拥有一个完整的远程桌面:你可以坐在办公室里,你的显示器向你显示一台计算机的桌面,这台计算机可能在几千英里之外,你可以用键盘和鼠标来控制。

图 5-7 显示了从我的 Raspberry Pi 台式电脑访问我的 Mac 桌面。是的,我真的可以从我的 Pi 桌面上运行我的 Mac 应用;有些东西比它们本来的速度要慢一些,但是它们确实可以工作。VNC 软件在个人电脑和苹果电脑上都是免费的。这是一个超级强大的工具,不花一分钱。

img/485525_1_En_5_Fig7_HTML.jpg

图 5-7

通过 VNC 浏览器查看我的 Mac

基本 Linux 命令

在大多数情况下,你在命令行上输入的 90%都是应用的名称。我们将在下一章中讨论其中的许多问题。EmacsCalcurseVim,甚至更多实用风格的 app 如aptshutdown其实都只是自己的小程序。有时你需要操作一个文件或一个目录,这就是本节的目的。请注意,所有这些命令以及更多命令都可以通过 Midnight Commander 之类的界面来完成,所以即使是在命令行中,其中一些命令也是可选的。尽管如此,有时直接输入命令比使用菜单更快更方便。

清除屏幕

根据我的经验,最简单也是最常用的命令之一就是清理凌乱的屏幕。如果你想清除屏幕,只需输入

clear

在命令行中。你会看到一个刷新,整齐的终端屏幕。它做的不多,但是这些年来,我输入这个命令的次数可能比其他任何命令都多。

退出终端

如果你正在运行一个终端窗口,你可以简单地输入exit来结束你的会话并关闭窗口。如果你使用了选项来引导进入全屏模式,那么你不能只是退出终端;你需要使用rebootshutdown命令来代替。

用 ls 列出文件

ls 是“列表”或“列表结构”的简称它只列出了当前目录中的所有文件。

ls gives the output

Desktop     Downloads   MagPi      Music      'Podsafe Music' Templates
Documents   Dropbox     Main.org   Pictures   Public           Videos

通过添加一些参数和选项,您可以做更多的事情:

  • -l以长格式显示列表,显示 Linux 文件类型、权限、硬链接数量、所有者、组、大小、最后修改日期和文件名。

  • 列出给定目录中的所有文件,包括名称以“.”开头的文件(在 Unix 中是隐藏文件)。默认情况下,这些文件不包含在列表中。

  • 递归列出子目录。例如,命令 ls -R /将列出系统上的所有文件。

  • -d显示关于符号链接或目录的信息,而不是关于链接的目标或列出目录的内容。

  • -t按修改时间对文件列表进行排序。

  • -h以人类可读的格式打印尺寸(例如 1K、234M、2G 等。).

例如,我们可以列出当前目录中的所有文件,包括隐藏的文件,按时间排序,通过输入

ls -alt向我们展示了

drwxr-xr-x  4 root root 4096 Jul 28 02:46  ..
drwx------  3 pi   pi   4096 Jul 10 06:10  .vnc
-rw-------  1 pi   pi    217 Jul 10 06:10  .Xauthority
drwx------ 24 pi   pi   4096 Jul 10 06:09  .config
drwxr-xr-x  2 pi   pi   4096 Jul 10 05:52  Documents
drwxr-xr-x 13 pi   pi   4096 Jul 10 05:46  .cache
drwx------  3 pi   pi   4096 Jul 10 05:07  .pp_backup
drwxr-xr-x  2 pi   pi   4096 Jul  9 08:10  .gstreamer-0.10
drwxr-xr-x  3 pi   pi   4096 Jul  9 08:04  .qmmp
drwxr-xr-x  4 pi   pi   4096 Jul  9 05:25  .audacity-data
drwxr-xr-x  3 pi   pi   4096 Jul  9 05:21  Dropbox
drwxr-xr-x  2 pi   pi   4096 Jul  9 05:16  Downloads
-rw-r--r--  1 pi   pi   2363 Jul  9 04:10  Main.org
drwx------  2 pi   pi   4096 Jul  6 11:41  .putty
drwxr-xr-x  2 pi   pi   4096 Jul  6 04:28 'Podsafe Music'
-rw-r--r--  1 pi   pi   3795 Jul  6 04:27  .vimrc
-rw-r--r--  1 pi   pi    185 Jul  6 04:27  .tmux.conf
-rw-r--r--  1 pi   pi   1282 Jul  6 04:27  .muttrc
-rw-r--r--  1 pi   pi   8331 Jul  6 04:27  .emacs
drwxr-xr-x  8 pi   pi   4096 Jul  6 04:27  .vim
drwxr-xr-x  4 pi   pi   4096 Jul  6 04:27  .tmux-themepack
drwxr-xr-x  5 pi   pi   4096 Jul  6 04:27  .mutt
drwx------  3 pi   pi   4096 Jul  6 03:54  .gnome
drwx------  3 pi   pi   4096 Jun 20 08:22  .pki
drwxr-xr-x  2 pi   pi   4096 Jun 20 08:20  Music
drwxr-xr-x  2 pi   pi   4096 Jun 20 08:20  Pictures
drwxr-xr-x  2 pi   pi   4096 Jun 20 08:20  Public
drwxr-xr-x  2 pi   pi   4096 Jun 20 08:20  Templates
drwxr-xr-x  2 pi   pi   4096 Jun 20 08:20  Videos
drwxr-xr-x  2 pi   pi   4096 Jun 20 08:20  Desktop
drwx------  3 pi   pi   4096 Jun 20 08:20  .gnupg
drwxr-xr-x  2 pi   pi   4096 Jun 20 07:55  MagPi
drwxr-xr-x  3 pi   pi   4096 Jun 20 07:55  .local
-rw-r--r--  1 pi   pi    220 Jun 20 07:47  .bash_logout
-rw-r--r--  1 pi   pi   3523 Jun 20 07:47  .bashrc
-rw-r--r--  1 pi   pi    807 Jun 20 07:47  .profile

您还可以包括目录或目录的完整路径:

ls -al ~
ls -al /home
ls -al /home/brian/Music/Instrumental

主目录:~

波浪号(~)是一个特殊字符,表示当前用户的“个人”文件夹。这样,不管你是谁,也不管你在系统中处于什么位置,你都可以一般性地引用“home”。

如果你确实想指定一个位置,你可以在选项后输入它,像这样:

ls -al /home/brian/Music

这将专门列出用户“brian”的音乐文件夹的内容

在文件系统中移动

使用ls命令,我们学会了查看不同目录中的内容。如果你想移动到一个目录,你使用cd ( 改变目录)命令。

cd /home/brian

将当前目录更改为用户 brian 的主文件夹。另一种进入当前用户个人文件夹的方法是cd ~.即使你不知道当前用户的名字,这个方法也有效。

cd /

带您到文件系统的根,即文件系统“树”的“根”其他的都是从/分支的子目录。

cd ..

两个句点“..”表示位于当前目录正上方的目录。例如,如果你现在在/home/brian/Music,你想去/home/brian,你可以简单地输入cd ..,你将在结构中上移一层。或者,你也可以输入cd /home/brian,,但这两个句号的输入速度更快。

创建、删除和列出目录

有时,您需要创建一个目录/文件夹,为此,您可以使用mkdir命令。您可以通过键入以下命令在当前目录中创建一个目录

mkdir newname

或者,您可以在文件系统中的任何位置创建一个新目录,方法是在新目录名之前包含完整的路径名:

mkdir /home/pi/Downloads/newname

请注意,要在当前目录中创建一个新目录,您必须拥有访问权限。

类似地,要删除一个目录,可以使用rmdir命令:

rmdir /home/pi/Downloads/newname

移除/删除目录要求该目录为空。您需要首先删除所有文件或子目录。

要查看 Linux 文件系统的“图表”,您可以键入命令tree。它将显示您指定的路径下的所有子目录。例如,要查看下载目录中所有内容的结构,您只需输入

tree ~/Downloads

并获得以下内容:

/home/pi/Downloads
├── DOS Games Pack.zip
├── kali-linux-2019-2a-rpi3-nexmon-img-xz
│   ├── kali-linux-2019.2a-rpi3-nexmon.img.xz
│   └── kali-linux-2019.2a-rpi3-nexmon.img.xz.txt.sha256sum
└── kali-linux-2019.2a-rpi3-nexmon.img.xz.torrent

1 directory, 4 files

有时候,这对于查看东西藏在哪里或者是否有一个你已经忘记的目录非常有用。

除了cd命令,你也可以使用该命令

让系统告诉你你现在在哪里。Pwd 是现在工作目录的简称。

类似地,如果您需要查看当前的用户名,您可以问

系统会告诉你当前的用户名。如果你经常使用自己的用户名登录,并且额外使用超级用户“pi”帐户,这有时可以解决计算机认为你是谁的困惑。

移除(删除)文件

有时,您会想要删除文件。为此,您可以使用移除命令rm。你总是需要在rm后面加上一些文件名或目录名:

rm /home/brian/junkfile.txt

这将从我的主目录中删除文件 junkfile.txt。

rm /home/brian/download/*

这个命令使用一个“通配符”星号来表示“一切”这个命令将删除用户 brian 的下载目录中的所有文件。这只会删除文件,不会删除子目录。如果您想删除目录中的所有内容,包括其下的所有内容,您需要-r-f选项:

rm -rf /home/brian/download/*

-r告诉rm递归地删除文件,或者换句话说,跟随任何子目录并杀死它们。-f选项删除确认消息。"您确定要删除它吗?"种消息将不再出现。

注意递归删除文件可能是危险的。命令rm -rf *将删除计算机上的所有东西——所有用户的每个系统文件、每个数据文件,假设你有权限访问这些文件;这是 Linux 依赖于许可系统的一个原因。这比让每个用户完全访问所有内容要安全得多。

chown 的文件所有权

说到权限和访问,有时您可能想要更改文件的所有者。例如,假设您以用户“pi”的身份创建了一个文件filename.txt,并且您想以用户“brian”的身份编辑它您可以将文件加载到编辑器中,但是当您尝试保存更改时,会收到一条消息,指出您没有权限这样做。为什么呢?因为操作系统认为这不是你的文件。

sudo chown filename.txt brian

这将把文件的所有权更改为用户 brian。请注意,这需要“sudo”命令才能工作;这个要求是如此的不仅仅是任何人都可以改变文件的所有权;必须是对系统负责的人。请记住,Linux 是一个多用户操作系统,有多个用户可以登录到机器上,所有这些安全措施都是围绕这个概念设计的。

复制和移动文件

将文件从一个目录复制和移动到另一个目录也很常见。这里使用的两个命令是 cp 和 mv,分别用于复制和移动。cp 命令将一个文件从一个目录复制到另一个目录,当它完成时,在两个位置都会有该文件的副本。mv命令做同样的事情,但是它也删除了原始文件,有效地移动文件。

cp /home/brian/download/game.tar /home/brian

将在 brian 的主目录中创建 game.tar 的精确副本,而将原件留在下载目录中。

mv /home/brian/download/game.tar /home/brian

将在 brian 的主目录中创建 game.tar 的精确副本,然后删除下载目录中的原始副本。

您还可以使用通配符将文件夹中的所有文件移动到某个位置。

mv ~/download/* ~/backups

会将/home/username/download 目录中的所有文件移动到/home/username/backups 目录中。

手册页

如果有疑问,请阅读手册!说真的,Linux 擅长的事情之一是对命令行应用的全面文档化。如果有一个命令你真的不明白,你可以阅读完整的在线手册。假设 Neofetch 让你困惑;它到底是做什么的?目的是甚麽?

假设您已经安装了 Neofetch,输入

man neofetch

你会得到多个屏幕页面的文档,包括如何使用它的概要,解释应用用途的描述,所有可以使用的选项和参数,以及其他任何重要的内容。通常,有比你想知道的更多的信息。阅读手册页时,您可以使用箭头键上下移动,空格键前进到屏幕“页面”,键盘上的 Q 键退出并返回到提示:

NEOFETCH(1)                                   User Commands
NAME
     Neofetch - A fast, highly customizable system info script
SYNOPSIS
     neofetch func_name --option "value" --option "value"
DESCRIPTION
     Neofetch  is  a  CLI  system information tool written in BASH. Neofetch displays information about
     your system next to an image, your OS logo, or any ASCII file of your choice.
     NOTE: Every launch flag has a config option.

OPTIONS
   INFO:
       func_name
              Specify a function name (second part of info() from config) to quickly  display  only  that
              function's information.

              Example: neofetch uptime --uptime_shorthand tiny
              Example: neofetch uptime disk wm memory
              This can be used in bars and scripts like so:
              memory="$(neofetch memory)"; memory="${memory##*: }"
              For multiple outputs at once (each line of info in an array):
              IFS=$'\n' read -d "" -ra info < <(neofetch memory uptime wm)
              info=("${info[@]##*: }")
              --disable infoname
              Allows you to disable an info line from appearing in the output. 'infoname' is the function
              name from the 'print_info()' function inside the config file.  For example: 'info  "Memory"
              memory' would be '--disable memory'
              NOTE: You can supply multiple args. eg. 'neofetch --disable cpu gpu'

       --package_managers on/off

              Hide/Show Package Manager names . (tiny, on, off)

结论

要使用命令行,您需要一些 Unix/Linux 命令的基础知识。尽管如此,使用正确的工具,比如 Midnight Commander 或 Ranger,您可以最大限度地减少记忆和键入神秘命令的需要。该终端的另一个限制是一次只显示一个应用,这可以通过使用 Tmux 来克服,在 Tmux 中,你可以用十几个同时运行的应用来填充你的屏幕(并不是说获得太多应用是一个好主意,但你可以做到这一点)。最后,我们看了用于从命令行手动操作文件和目录的命令。

在下一章,我们将看几十个命令行程序,它们将解决你的许多工作需要。我们将看看电子邮件客户端、书写工具、电子表格和几个网络浏览器,它们都以文本模式 运行

六、使用命令行应用

既然您可以使用命令行并在其中移动东西,那么是时候做一些真正的工作了。

在第四章,我向你展示了大多数任务的两到三个最好的应用。这些都是拥有数百万用户的知名应用,尽管其中一些已经存在了一段时间,但它们仍然在不断更新和维护。

在这一章中,我将向您展示一些执行大多数任务的最常见和最流行的命令,但是请记住,几十年来,人们一直在使用类似的工具来执行这些任务(Unix 出现于 20 世纪 70 年代,而 Linux 是这些工具的直接后代);每个应用可能有几十种可用的解决方案,人们仍在想出新的方法来做同样的事情。所以,在你看过我的建议后,做一点网络调查,看看是否有更适合你工作流程的方法。

书写工具

可能大多数人的主要任务(除了浏览网页和电子邮件)是写作。无论是简单的笔记、电子邮件还是完整的书籍,都有一些很棒的纯文本工具来完成这项工作。

不像微软的 Word 或者苹果的 Pages,你不能在一个基于文本的终端窗口中仅仅高亮显示一个单词,并把它变成粗体或者斜体。你通常需要使用某种标记语言,比如 Markdown 或 LaTeX(见第七章)。像几乎所有涉及到切换到文本模式的事情一样,它在开始时更困难,但是一旦你知道它是如何工作的,它会更有效率和更快。

NANOTECHNOLOGY 简称

纳米详情:

安装:sudo apt install nano (default with Raspian)

运行命令:nano <filename>

点文件: ~/.nanrc

帮助:man nano

网址: www.nano-editor.org/

Nano 通常预装在大多数 Linux 系统中。这是一个非常非常基本的文本编辑器。事实上,对于大多数有用的任务来说,它几乎太基础了——Nano 的定制选项非常有限。也就是说,几乎可以肯定它已经预装在你的系统中了,它很适合快速阅读或快速修改文件。在本书中,当我们需要编辑文本文件时,我的例子使用 Nano。它很简单,每个系统上都有,所以这是本书的“标准”文本编辑器。在过去的章节中,我们已经多次使用 Nano 向配置文件添加行。它不仅简单易学,而且所有功能都可以通过屏幕底部的两行菜单轻松找到。它不是“一生的编辑”,但可能是你需要的全部。在 Nano 的图 6-1 中可以看到这一章的降价版本。

img/485525_1_En_6_Fig1_HTML.jpg

图 6-1

纳米文本编辑器

精力

Vim 详细信息:

安装:sudo apt install vim

运行命令:vim <filename>

点文件: ~/.vimrc

帮助:man vim

网址: www.vim.org/

Vim 和 Emacs 是为程序员设计的文本编辑器,如果你是一名程序员,这两者中的任何一个都是你精通的绝佳选择。任何一个都可以适用于几乎任何东西,因为你可以想象的每一个功能都有无数的定制选项和插件。

至少在我看来,Vim 一开始有点难学,但是一旦你通过了学习曲线,它就非常值得。这是一个模态编辑器,意味着你可以在一种模式下移动和导航,在另一种模式下输入文本,在第三种模式下可视地选择内容。这是一种不同寻常的工作方式,来自于像微软 Word 这样的东西,但是一旦你了解了这个应用是如何工作的,就会有很大的力量。Vim 如图 6-2 所示。

img/485525_1_En_6_Fig2_HTML.jpg

图 6-2

我是文字编辑器

编辑器

Emacs 详细资料:

安装:sudo apt install emacs25

运行命令:emacs <filename>

点文件: ~/.emacs

帮助:man emacs

网址: www.gnu.org/software/emacs/

然后是 Emacs,如图 6-3 所示。有些人不用离开 Emacs 就可以打字、查看电子邮件、在日历上添加约会、更改待办事项、浏览网页。比 Vim 容易上手,但是用的越多,Emacs 的无底洞就越深。在 Emacs 的“专家级别”工作的人可能不用离开 Emacs 就能做我们在这本书里谈论的所有事情……还有人开玩笑地称 Emacs 本身就是一个操作系统,但它的可扩展性太强了,几乎不是开玩笑。

img/485525_1_En_6_Fig3_HTML.jpg

图 6-3

Emacs 文本编辑器

有了 Emacs 和 Vim,编辑器的几乎任何方面都可以定制,并以多种不同的方式工作。还有一些插件、主题和扩展,允许你做一些甚至是最初的开发者都无法想象人们可以在文本编辑器中做的事情。对我来说,在这两个主要的写作应用之间做决定一直是一个艰难的决定,我涉足了每一个,花了太多的时间来来回回。

注意前面的 apt 命令安装的是 emacs25 ,而不是普通的 emacs。您可以选择安装默认的 Emacs,但是由于某种原因,Raspbian 安装程序将默认安装 Emacs 版本 24,这是一个更老、更受限制的版本。除非你知道你可能需要它的一些具体原因,否则不要使用它。

文字研磨机

WordGrinder 详情:

安装:sudo apt install wordgrinder

运行命令:wordgrinder

点文件: ~/.wordgrinder.lua

帮助:man wordgrinder

网址: http://cowlark.com/wordgrinder/index.html

前面的三个编辑器最初都是考虑到编程/编码而设计的。WordGrinder 从一个不同的角度来写作。这是专门为作家设计的文字处理器。它有易于使用的菜单,箭头键像你期望的那样工作,这里很少有惊喜。您可以在文本中轻松地将单词加粗或斜体,并且您不需要学习 Markdown 或任何特殊的编码。

另一方面,与 Emacs 或 Vim 不同,它的可定制性不强;它来的时候就很管用。没有任何插件或花哨的主题。它很简单,但使用起来很可靠和简单,而且它很简单,如图 6-4 所示。

img/485525_1_En_6_Fig4_HTML.jpg

图 6-4

WordGrinder 文字处理器,带有易于查找的菜单

我的建议是先看看 Nano 和 WordGrinder。Nano 非常适合快速和肮脏的文本编辑,而 WordGrinder 可以处理大多数真正的写作任务。如果你决定真的想成为一名“文本大师”,那么升级到更强大和更灵活的 Vim 和/或 Emacs——它们提供更多,但也需要相当多的努力才能真正掌握。

电子邮件

电子邮件可能是当今大多数计算机的主要商业用途,是一个至关重要的工具。然而,由于黑客和垃圾邮件发送者的盛行,电子邮件的安全性是一个主要问题。这使得设置电子邮件客户端成为我们将要遇到的最具挑战性的任务之一。

发送邮件

发送邮件详情:

安装:sudo apt install sendmail

运行命令:sendmail

Dotfile:里面的各种文件/etc/mail

帮助:man sendmail

网址: https://sendmail.org/~ca/email/doc8.12/op.html

这个应用通常有点不确定。众所周知,Sendmail 是一个很难安装的应用,由于存在被黑客攻击或滥用的可能性,最好还是交给专家来安装。Raspbian 的默认安装不包含 Sendmail,但是其他发行版可能已经安装并配置了 Sendmail,所以值得一试。只需在文本文件中键入一条消息,保存它,然后键入类似如下的内容:

sendmail user@example.com < message.txt

另一个选择是尝试

sendmail -t user@example.com

然后在下面输入你的信息。按 Ctrl-D 发送消息,或按 Ctrl-C 中止。这要么有效,要么无效,这取决于您运行的 Linux 发行版。我再次建议,如果这不是你开箱即用的“工作”,你可以选择其他选项,因为这是一个强大但配置起来非常复杂的应用。

笨蛋

杂种狗详情:

安装:sudo apt install mutt

运行命令:mutt

点文件: ~/.muttrc

帮助:man mutt

网址: www.mutt.org/

Mutt(以及下文中的 Alpine)是一个比 Sendmail 更完善的电子邮件客户端。你有一个完整的界面来搜索、分类、阅读和回复你的邮件;而且很容易处理多个文件夹和邮件附件。选择哪个取决于你需要什么,你觉得哪个更有吸引力,更有用。他们做的事情几乎一样。

我发现 Mutt 的一个主要缺点是它以纯文本的形式将密码存储在配置文件中。如果有人进入你的系统,他们可以很容易地看到你的电子邮件密码,给你带来一大堆麻烦。你可以使用 Mutt 并让它不存储密码,但这样你就需要在每次加载 Mutt 时重新输入你的电子邮件密码,这至少可以说是不方便的。

尽管如此,对于一个基于文本的应用来说,它还是很有吸引力的,包括一些屏幕菜单选项,并且设置起来也不太难。图 6-5 显示了一封来自我博客的邮件。

img/485525_1_En_6_Fig5_HTML.jpg

图 6-5

Mutt 电子邮件客户端

阿尔卑斯山的

高山详情:

安装:sudo apt install alpine

运行命令:alpine

点文件: ~/.pinerc

帮助:man alpine

网址: http://alpine.x10host.com/alpine/

Alpine 没有 Mutt 那么容易定制,但它能够在服务器上存储加密的密码。如果你有一个远程系统(也就是说,你用 SSH 连接到它)并且你不想每次都被输入你的电子邮件密码所困扰,这是一个更好的选择。它也可以通过菜单在应用中进行配置,而 Mutt 依赖于如何修改“点文件”,我们将在稍后讨论。图 6-6 会给你阿尔卑斯山菜单方面的提示。

img/485525_1_En_6_Fig6_HTML.jpg

图 6-6

Alpine 电子邮件客户端

其他“办公”应用

写作和电子邮件对我们大多数人来说是件大事,但大量有用的工作也涉及数字和演示。在 GUI 世界里,有微软的 Excel 和 PowerPoint,甚至还有 LibreOffice。那些在命令行上不起作用,所以我们需要找到类似的东西。

SC 和 SC-IM

SC 详细信息:

安装:sudo apt install sc

运行命令:sc

点文件: ~/.scrc

帮助:man sc

网址: https://github.com/n-t-roff/sc

SC 是屏幕计算器的缩写,也称为文本模式的电子表格。它做所有像 Excel 这样的电子表格所做的基本工作,但都是通过键盘和文本屏幕来完成的。它希望以 CSV(逗号分隔值)格式保存所有文件,但可以读取 Excel 文件。它允许文本左右对齐、剪切和粘贴、各种十进制格式选项以及大量的计算和数学功能。它不像 GUI 电子表格那样漂亮,但是它的功能无处不在。如果你记得 VisiCalc 或 Lotus 1-2-3 的日子,这将带回美好的回忆或噩梦。

最初的 SC 程序创建于大约 13 年前;SC-IM fork 仍在开发和维护中,因此即使它看起来像是直接来自 80 年代,但它是安全的,维护得很好。图 6-7 显示了对一列数字进行求和平均的简单计算。

img/485525_1_En_6_Fig7_HTML.jpg

图 6-7

SC 电子表格计算器

sudo apt install sc

您可以通过以下链接了解更多信息:

报告

在 Windows 和 Mac 的世界里,PowerPoint、Keynote、Impress 甚至谷歌幻灯片都可以用来演示。幻灯片演示需要图形,所以基于文本的演示在大多数时候可能不是最好的方式。尽管如此,有时你想做一些事情只是为了显示你做一件事,所以这里有你的展示选项:比默、维姆迪克和 MDP。

Beamer 本身并不是一个app;这是 LaTeX 的一个扩展(见第七章第),允许你使用文本编辑器创建一个文件,然后输出为 PDF 格式,可以在投影仪上显示,打印出来,或通过电子邮件发送给收件人。它允许彩色文本、图形、图表以及 LaTeX 支持的基本上任何类型的媒体。它不做任何类型的动画,因为它以 PDF 格式输出,但任何静态图像都可以使用。

投光器详情:

安装:sudo apt install latex-beamer(注意:需要已经安装了 texlive-full 和 texmaker)

运行命令:load the output into your PDF viewer

点文件: none

求助: www.overleaf.com/learn/latex/Beamer_Presentations:_A_Tutorial_for_Beginners_(Part_1)%E2%80%94Getting_Started

网址: https://github.com/josephwright/beamer

Vimdeck 是一个工具,它允许你使用 Markdown 编写一个文件(参见第七章)并将其编译成一个可以使用 Vim 查看的演示文稿。您不必使用 Vim 来创建文件,但是最终的表示已经过优化,可以在 Vim 中使用。图 6-8 中的“幻灯片”实际上只是显示在 Vim 中的一个大文本文件中的一页。

img/485525_1_En_6_Fig8_HTML.jpg

图 6-8

Vimdeck 演示

videck 详细资料:

安装:sudo gem install vimdeck

运行命令:vimdeck

点文件: none

帮助:vimdeck

网址: https://github.com/tybenz/vimdeck

MDP 是一款以文本形式运行演示文稿的应用。Beamer 和 Vimdeck 是创建演示文件的工具,而 MDP 采用降价文本并进行实际的演示(见图 6-9 ),有许多漂亮的选项,包括颜色、引用、标题、嵌套列表和许多其他基于文本的(仍然没有图形)元素。

img/485525_1_En_6_Fig9_HTML.jpg

图 6-9

MDP 演示

MDP 详情:

安装:sudo apt install mdp

运行命令:mdp

点文件: none

帮助:man mdp

网址: https://github.com/visit1985/mdp

笔记应用

快速记笔记是 GUI 操作系统擅长的事情之一,但是有时您需要复制一些文本以备后用,或者下次记详细的笔记,并且您不想离开命令行。我们将在这里看看两个主要的参与者:Terminal Velocity 是一个应用,它可以非常快速地记下和找到基于文本的笔记,而 Emacs Org-mode 是一个大纲视图、调度程序、待办事项管理器,以及内置于文字处理器 Emacs 中的完整组织系统。

终端速度

终端速度是一个相当新的应用,灵感来自于 Mac OSX 的应用 Notational Velocity。要创建新便笺,请键入便笺的标题,然后按 Enter 键。该注释将在您的文本编辑器中打开。当您键入标题时,笔记列表会过滤以显示与您键入的内容匹配的笔记,让您有机会打开相关笔记,而不是创建新笔记。这意味着您使用与搜索现有便笺相同的行来键入新便笺,这使得整个搜索和创建过程非常快。我把这个和 Dropbox 结合使用,在我所有的设备上保存我的笔记。

Terminal Velocity 的安装与我们看过的其他应用不同,因为它不在 Raspbian 的存储库中。我们将使用一个名为 Pip 的应用来安装它。

终端速度详情 :

安装:sudo pip install terminal-velocity

运行命令:terminal_velocity

点文件: ~/.tvrc

帮助:see web site

网址: https://vhp.github.io/terminal_velocity/

Emacs 组织模式

我们已经在“编写工具”一节中讨论了 Emacs,但是这里值得再提一下。“Org-mode”是 Emacs 提供的一种特殊模式,它允许您键入被视为某种大纲的文本。你用类似 Markdown 的格式写文件;但是您也可以使用 Tab 键快速折叠或展开大纲树,上下移动整个部分,并快速创建待办事项列表、大纲和各种笔记。如果您已经对 Emacs 有所了解,那么开始使用 Org-mode 是很容易的,但是您可以用它做的事情太多了,因此选项会变得很广泛。

图 6-10 显示了我 6 月 13 日的待办事项清单。即使不解释待办格式在 Org-mode 中是如何工作的,你也能准确地理解文件中发生了什么。

img/485525_1_En_6_Fig10_HTML.jpg

图 6-10

Emacs 组织模式文件

安全

在使用 Linux 时,有一件事你通常不必担心,那就是病毒。由于所有东西都被分割开来,并受到用户名和权限的限制,因此比在 Windows 机器上感染病毒要困难得多。但是,这并不意味着您不必担心安全性。值得关注的一个主要方面是密码安全性。

及格

Pass 是一个密码管理系统。它可以跟踪数千个网站和密码的数据库,在创建安全密码方面特别有用。您可以请求一个新的密码,指定符号的数量,它会完全随机地生成您需要的内容,并将其复制到剪贴板。

这种应用非常有用。我已经从弱密码,如

USER: brianschell
PASSWORD: PENCIL (or the cat's name or something)

USER: brianschell
PASSWORD: zagw@JPTfVquVkQjvAetx2ZiA

显然,像这样的密码很难记住,或者说很难输入;幸运的是,Pass 会为您将密码复制到剪贴板中。

通行证详情:

安装:sudo apt install pass

运行命令:pass

点文件: none

帮助:man pass

网址: www.passwordstore.org

还有一个通行证安装和教程可以在 www.2daygeek.com/pass-command-line-password-manager-linux/ 找到。

ktorrent

r 当前详情 :

安装:sudo apt install rtorrent

运行命令:rtorrent

点文件: ~/.rtorrent.rc

帮助:man rtorrent

网址: http://rakshasa.github.io/rtorrent/

正如我在第 3 和 4 章中提到的,当我们谈到洪水应用时,BitTorrent 作为人们用来分享“盗版”文件的一种方法受到了很多负面报道,但它也有许多合法用途。通过 torrent 可以获得许多可选的 Linux 发行版,这实际上是传输大文件的一种非常有效的方式。

为了下载通过 torrent 分发的文件,你需要一个 torrent 客户端。对于 GUI 来说,有很多好的方法(我们已经讨论过洪水),但是有时候从命令行来做也不错。我们将在这里看一个名为 rTorrent 的应用。

您还需要下载至少一个.torrent文件。找到合法种子的一个好地方是 www.offensive-security.com/kali-linux-arm-img/ ,如果你去那里,你可以找到下载的东西,即使只是为了测试系统。我下载的文件是kali-linux-2019.2a-rpi3-nexmon.img.xz.torrent,,这是我以前从未尝试过的树莓 Pi 的 Linux 发行版。

通过在命令行键入rtorrent来启动 rTorrent 应用。然后以全屏模式运行,如图 6-11 所示。

img/485525_1_En_6_Fig11_HTML.jpg

图 6-11

r 当前以全屏模式运行

接下来,点击回车键,它会在屏幕下方给出提示load.normal>,如图 6-12 所示。

img/485525_1_En_6_Fig12_HTML.jpg

图 6-12

添加。种子文件

您需要确保准确无误地键入(或剪切和粘贴)整个文件名。点击 Enter,文件将出现在屏幕的主要部分,即活动种子列表中,如图 6-13 顶部所示。

img/485525_1_En_6_Fig13_HTML.jpg

图 6-13

添加了一个种子的 rTorrent

您可以添加尽可能多的。种子文件,因为你希望这样做。如果你想处理的话,rTorrent 可以轻松支持数百个种子。你可以用上下箭头键在种子列表中移动来选择单个种子。

Ctrl-O改变目标目录。我更喜欢~/下载,但是你可以把你的文件放在你喜欢的任何地方。默认为用户的根目录。

Ctrl-S开始下载。你可以观察屏幕底部的数字和统计数据,了解事情的进展情况。

Ctrl-D暂停下载。如果您再次按 Ctrl-D,下载将被删除。

The right arrow允许您获取正在下载的文件的信息。

允许你关闭一个种子。

有关 rTorrent 所有特性的更多信息和文档,请访问他们的网站 https://rakshasa.github.io/rtorrent/

网络浏览器

等等——在文本模式下浏览网页?是的,你可以!

以下三种浏览器已经存在了几十年,并且都有能力处理大部分是文本的网站。有些允许通过外部查看器查看图像,而有些允许使用插件在线查看图像。没有一个像现代的 GUI 浏览器一样健壮或漂亮,但是它们经常能完成任务。

使用文本模式浏览器有一些好处。首先,与图形浏览器相比,它们的速度非常快——它们不运行嵌入式 JavaScript 代码,也不下载所有这些图像(包括不可见的跟踪图像)。因为他们所做的只是下载文本,所以即使在一个缓慢的系统上,他们也很快。此外,因为它们是纯文本的,所以可以很容易地与文本到语音转换软件集成,并且非常适合视觉障碍者。

谷歌

谷歌详情:

安装:sudo apt install googler

运行命令:googler <keywords>

点文件: (none)

帮助:man googler

网址: https://github.com/jarun/googler

有时你不想打开一个完整的网络浏览器在 Google 上查看一些东西,但是在 GUI 世界里,这是唯一的方法。命令行就不是这样了!小应用“谷歌人”会让你在命令行上输入你的搜索短语,它会向你显示多个搜索结果,并附有谷歌搜索结果的简短摘要。如果你看到你想要的东西,你可以选择在浏览器中加载它。

猞猁

Lynx 详细信息:

安装:sudo apt install lynx

运行命令:lynx <URL>

点文件: ~/.lynxrc

帮助:man lynx

网址: https://lynx.browser.org/

这是最老的浏览器,因为它是 1992 年作为一个项目开始的。由于这种长寿,它相当稳定和安全。它不适用于需要 JavaScript 的网站,但可以处理带有 cookies 的网站。

如图 6-14 所示,它可以获取一个普通的网站,去掉图形元素,重新格式化所有内容,使其完全显示在基于文本的屏幕上。这与某些辅助技术允许盲人使用网络非常相似,因为生成的文本可以很容易地导入屏幕阅读器。

img/485525_1_En_6_Fig14_HTML.jpg

图 6-14

Lynx 浏览器

W3M

W3M 详情:

安装:sudo apt install w3m (Raspian preinstalled)

运行命令:w3m <URL>

点文件: ~/.w3m/config

帮助:man w3m

网址: http://w3m.sourceforge.net/

W3M 也很老了,始于 1995 年。它在合适的终端上支持表格、框架、SSL 连接、颜色和内嵌图像。通常,它以尽可能真实的形式呈现页面的原始布局。W3M 是维护比较活跃的浏览器之一,有很多扩展和插件,所以如果你需要做很多基于文本的 web 使用,这可能是最好的选择。

图 6-15 显示了与图 6-14 的 Lynx 浏览器相同的网站的 W3M 渲染。比较不同之处。

img/485525_1_En_6_Fig15_HTML.jpg

图 6-15

W3M 浏览器

我的手

电子链接详情:

安装:sudo apt install elinks

运行命令:elinks <URL>

点文件: ~/.elinks

帮助:man elinks

网址: http://elinks.or.cz/

这是三款浏览器中最“现代”的一款,如图 6-16 所示。它有一个彩色显示屏,当你按下 Esc 键时,会出现导航菜单,使整个事情更容易理解。它支持鼠标、标签、cookies 等等。

img/485525_1_En_6_Fig16_HTML.jpg

图 6-16

伊琳的浏览器

通信

当互联网开始对每个人开放时,最流行的事情之一就是去 IRC 聊天室。在脸书之前,在 Twitter 之前,甚至早在 MySpace 之前,就有了 IRC(互联网中继聊天)。

IRC: WeeChat 和 IRSSI

WeeChat 详情:

安装:sudo apt install weechat

运行命令:weechat

点文件: ~/.weechat

帮助:man weechat

网址: https://weechat.org/

详细信息:??

安装:sudo apt install irssi

运行命令:irssi

点文件: ~/.irssi/config

帮助:man irssi

网址: https://irssi.org/

信不信由你,IRC 仍然非常受欢迎,而且仍然很强大,尤其是在技术社区中。有很多方法可以进入 IRC,甚至是通过命令行。这里介绍的两个应用 WeeChat 和 IRSSI 都在积极开发中,并且发展势头良好。图 6-17 显示的是 WeeChat,但是两个 app 都和图片差不多。

img/485525_1_En_6_Fig17_HTML.jpg

图 6-17

IRC 客户端 WeeChat

两者都提供了脚本、插件、主题、过滤器、帮助屏幕,以及你需要开始的一切。

(同 VoiceoverInternetProtocol)网络电话

据我所知,Skype、FaceTime 或其他网络电话软件没有命令行的替代品。有一个名为 Twinkle 的“实验性”项目已经存在,但据报道该项目容易崩溃且不可靠。

如果这是你急需的东西,你可能想看看。app 来自 https://github.com/LubosD/twinkle

社会化媒体

大多数命令行应用都是几十年前创建的应用的积极开发版本。社交媒体是一个相对较新的计算领域,命令行在这方面还有很长的路要走。此外,大多数社交媒体网站严重依赖图形,显然,这不是文本模式的最佳匹配。尽管如此,还是有一些不错的应用,记住,如果有必要,你可以通过基于文本的网络浏览器轻松访问大多数社交媒体网站。

推特

彩虹流详情:

安装:sudo pip install rainbowstream

运行命令:rainbowstream

点文件: ~/.rainbow_config.json

帮助:Hit "h" in the app

网址: https://github.com/orakaro/rainbowstream

你不会认为 Twitter 客户会很难获得,但只有一个我可以真正推荐:彩虹流。它很容易安装和配置,它允许你发布和缩小到列表视图流,并做几乎任何你想用 Twitter 做的事情。

当然,你可以通过任何基于文本的网络浏览器使用 Twitter,只需进入 http://twitter.com ,而不是使用专门的客户端应用。

脸谱网

没有一个“常规的”脸书命令行客户端,但是你可以通过任何基于文本的网络浏览器使用他们的网站。然而,脸书信使有一个命令行客户端。

sudo apt install npm
sudo npm install -g fb-messenger-cli

图形、艺术和照片

你不会想到图形和艺术甚至会是文本世界中的一个类别,但是有一些优秀的工具可以处理图像,甚至是在文本模式下。Asciiview 只是一个有趣的应用,只使用文本字符创建“图片”。FIGlet 是一个有趣的小东西,可以让你创建文本横幅,而 ImageMagick 是一个巨大的工具,几乎可以做任何事情,包括改变图形格式和编辑图片——甚至不用看它们。

Asciiview

查看详情:

安装:sudo apt install aview

运行命令:aview <filename.bpm>

点文件: none

帮助:man aview

网址: http://aa-project.sourceforge.net/tune/

多年来,我们的相机一直在宣传越来越多的百万像素。有时候,偶尔反过来寻找可能的最低分辨率会更有趣。其中一种情况是当您需要在纯文本终端上显示照片或图形图像时。

完成这项工作的一种方法是使用 Asciiview。图 6-18 是我通过 Asciiview 运行的照片,然后转换成文字符号。如果你仔细看,你会发现根本没有图形字符;只是字母、数字和符号。

img/485525_1_En_6_Fig18_HTML.jpg

图 6-18

作者在 Asciiview 中的照片

要转换图像,请键入

aview myphoto.bpm

菲戈莱特

小图详情 :

安装:sudo apt install figlet

运行命令:figlet <text string>

点文件: none

帮助:man figlet

网址: www.figlet.org/

FIGlet 只是一个小的命令行工具,用于获取一行文本并从中制作一种文本“横幅”。您可以根据需要输入单个单词或整个句子。例如,

figlet Brian

将会回来

____       _
| __ ) _ __(_) __ _ _ __
|  _ \| '__| |/ _' | '_ \
| |_) | |  | | (_| | | | |
|____/|_|  |_|\__,_|_| |_|

简介

ImageMagick 详情 :

安装:sudo apt install imagemagick

运行命令:convert, identify, mogrify, compare, montage, composite, display, and so on. 这是一套命令。

点文件: none

帮助:man imagemagick

网址: www.imagemagick.org/

前面两个 Ascii 应用都只不过是玩具。有时你需要实际做一些图形工作,为此,有 ImageMagick。

ImageMagick 的完整文档位于 www.imagemagick.org/script/command-line-processing.php

它包括创建、编辑、合成或转换位图图像的工具。它可以读写 200 多种格式的图像,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG。

您可以使用 ImageMagick 来调整图像大小、翻转、镜像、旋转、扭曲、剪切和变换图像、调整图像颜色、应用各种特殊效果或绘制文本、线条、多边形、椭圆和贝塞尔曲线。

ImageMagick 命令行工具非常简单,它将 jpg 格式的图像转换为 png 格式的图像:

convert image.jpg image.png

或者它可能非常复杂,有过多的选项,如下所示:

convert -delay 100 -size 100x100 xc:SkyBlue -page +5+10  balloon.gif -page +35+30 medical.gif -page +62+50 present.gif -page +10+55 shading.gif -loop 0  animation.gif

音频和视频

屏幕上只有文字,电脑有时会变得很无聊。幸运的是,你不必坐在那里默默工作。早在 GUI 界面出现之前,计算机就已经在播放音乐了,你可以用命令行工具来播放你所有的音乐。使用这些工具,创建播放列表和自动播放音乐实际上更加容易。如果你想一边工作一边看电影,那也是完全可能的。

音乐播放器

Raspberry Pi 拥有优秀的音乐播放硬件,无论是通过音频插孔还是通过 HDMI。命令行有许多优秀的(和非常可定制的)音乐播放器。我最喜欢的两部电影是 MOC 和 CMUS。

如果你把你的音乐库组织在单独的艺术家目录中,这两种方式都会更好。有一段时间,我把我所有的音乐都放在苹果 iTunes 里;所以我只是从那里下载了所有的歌曲,将巨大的“音乐”文件夹复制到它自己的目录中,并将音乐播放器指向它们 iTunes works 的默认组织残余,没有任何修改。我不是说你 需要 iTunes 来组织你的音乐,但是很多人已经在某个地方有了,如果你有,这是一个简单的方法。

控制台上的音乐

MOC 细节 :

安装:sudo apt install moc

运行命令:mocp

点文件: ~/.moc/config

帮助:man moc

网址: http://moc.daper.net/

我喜欢这个,尤其是当我处理播放列表的时候。它有两列,默认布局看起来很像午夜指挥官应用。如图 6-19 所示,您可以在左侧窗格看到您的音乐文件,而您正在处理的播放列表位于右侧窗格。选择一个文件并“添加”到列表中,你可以直观地看到你在做什么。它是主题化的,内置了均衡器,按键可以根据你的喜好重新映射,甚至支持互联网流。它有一个方便的帮助屏幕;只需点击“H”,所有的命令都会自动弹出。

img/485525_1_En_6_Fig19_HTML.jpg

图 6-19

控制台上的音乐

mocp运行 MOC 播放器(注意末尾的 p)。

CMUS (C 音乐播放器)

CMUS 详细资料:

安装:sudo apt install cmus

运行命令:cmus

点文件: /usr/share/cmus/rc

帮助:man cmus

网址: https://cmus.github.io/

虽然 MOC 很适合处理播放列表,但我更喜欢 CMUS,因为它只是一时兴起浏览和播放歌曲(见图 6-20);导航对我来说感觉更好。虽然 MOC 的导航系统让人想起了的午夜指挥官,但 CMUS 的外观和感觉更像的游侠。您选择的音乐播放器可能与您喜欢的文件浏览系统密切相关。

img/485525_1_En_6_Fig20_HTML.jpg

图 6-20

CMUS (C 音乐播放器)

CMUS 从默认安装就支持大部分音乐格式:Ogg Vorbis、MP3、FLAC、Opus、Musepack、WavPack、WAV、AAC、MP4、音频 CD,以及 ffmpeg 支持的一切(WMA、APE、MKA、TTA、SHN 等。)和 libmodplug。如果你从各种渠道获得音乐,那么能够不担心你的格式被理解是一个很好的加分。

像 MOC 一样,CMUS 有可重映射的按键、主题和颜色定制。不过,如果你能找到音乐流的 url,也就是 http://beirutnights.com/live.m3u ,这款手机也允许在线电台播放音乐流。

sudo apt install cmus安装。

音乐播放器守护程序/控制器

MPD 详情:

安装:sudo apt install mpd

运行命令:mpd

点文件: /etc/mpd.conf

帮助:man mpd

网址: www.musicpd.org

之前的两个项目,MOC 和 CMUS,都是全屏应用,严重依赖于视觉导航文件和目录。这两个界面都受到了文件管理系统的启发,并且都至少在某种程度上与它们的控件进行了交互。

另一种选择是音乐播放器守护进程,或 MPD。这是一个灵活、强大的服务器端音乐播放应用。通过插件和库,它可以在受其网络协议控制的同时播放各种声音文件。因为它是一个守护进程,它只是在后台安静地运行并等待来自外部客户端程序的命令。

**MPC 是并行客户端应用。它连接到 MPD,并根据传递给它的命令和参数来控制它。如果没有传递参数,则给出当前状态。它完全是一个命令行工具,没有任何视觉效果。

然而,有许多其他的客户端与 MPD 服务器一起工作。有些是图形化的,有些是用于 Web 的,而有些是用于控制台的。设置起来有点困难,但是它非常灵活和强大。

MPD 守护程序主页: www.musicpd.org/

MPD 客户端: www.musicpd.org/clients/

实际上,MPD 的要点是,通过客户机/服务器架构,您可以在家中安装一台存储了所有音乐文件的机器,然后从网络上的其他计算机访问和播放这些音乐,而无需将音乐文件存储在多个地方。

电影观众

电影明显是视觉化的。Unix 早期的老式终端和计算机无法播放视频文件,因为显示器无法处理。而你的树莓派,可以轻松播放电影。型号 4 Pi 甚至可以处理 4K 输出。这些系统可以播放视频,你没有理由不能从命令行播放你的电影。

MPlayer

MPlayer 详细资料:

安装:sudo apt install mplayer

运行命令:mplayer <filename>

Dotfile:里面的各种文件/etc/mplayer/

帮助:man mplayer

网址: www.mplayerhq.hu/

MPlayer 是一个可以在许多系统上运行的电影播放器。它播放大多数 MPEG/VOB、AVI、Ogg/OGM、VIVO、ASF、WMA、WMV、QT、MOV、MP4、RealMedia、Matroska、NUT、NuppelVideo、FLI、YUV4MPEG、FILM、RoQ 和 PVA 文件,受许多本机、XAnim 和 Win32 DLL 编解码器支持。你可以观看视频光盘,SVCD,DVD,3ivx,DivX 3/4/5,WMV,甚至 H.264 电影。

在大多数情况下,您可以在全屏模式或窗口中欣赏电影。图 6-21 中有一个电影片头的截图。

img/485525_1_En_6_Fig21_HTML.jpg

图 6-21

左边是多玩家状态,右边是多玩家影片

尽管如此,你可能还是更喜欢用 VLC 这样的应用在 GUI 中观看你的视频(在别处讨论过),但是如果你需要的话,知道你有能力在命令行上观看还是很好的。

新闻和天气

新闻大部分是文本,所以认为有很多方法可以在命令行上获取新闻并不是一个巨大的飞跃。这里有两个很好的开始方式:

即时新闻

即时新闻详情:

安装:sudo pip install instantnews

运行命令:instantnews

点文件: None

帮助:man instantnews

网址: https://github.com/shivam043/instantnews

即时新闻从新闻 API 中检索所有新闻标题,然后以文本形式显示你想看的内容。有几十种专业新闻来源,你可以从中选择一种或任意组合显示在你的屏幕上。它需要你注册一个免费的 API 密匙。

哈克索新闻

Haxor-新闻详情:

安装:sudo pip install haxor-news

运行命令:hn <command>

Dotfile:里面的各种文件~/.haxornewsconfig

帮助:hn --help

网址: https://github.com/donnemartin/haxor-news

一个稍微更“有趣”的类似新闻节目是 Haxor-News 。Haxor-News 将黑客和书呆子新闻带到终端,允许您在不离开命令行的情况下查看和过滤以下内容:

  • 邮件

  • 发表评论

  • 帖子链接的 web 内容

  • 每月招聘和自由职业者职位

  • 用户信息

  • 洋葱邮报

一旦你进入,你可以输入各种以“hn”开头的命令,比如hn top来显示当前的头条新闻。图 6-22 显示了输出的示例。

img/485525_1_En_6_Fig22_HTML.jpg

图 6-22

haxor-新闻头条

一旦你找到一个你想读的故事,输入hn view #来查看这个特定的故事。图 6-23 显示了我进入“hn view 10”后得到的结果

img/485525_1_En_6_Fig23_HTML.jpg

图 6-23

新闻文章“镁和抑郁症”

然后点击“q”返回文章列表并选择更多。

新闻机器人

新闻船详情:

安装:sudo apt install newsboat

运行命令:newsboat

点文件: ~/.config/newsboat/config

帮助:man newsboat

网址: https://newsboat.org/

新闻船是一个 RSS 阅读器。许多网站,包括大多数主要的新闻来源,都提供包含他们的故事的 RSS 提要,所以有大量的各种可能的新闻来源可供你利用。将显示各种命令,说明如何设置它。一旦你在其中安装了一组 RSS 提要,你会看到类似图 6-24 的东西。

img/485525_1_En_6_Fig24_HTML.jpg

图 6-24

Newsbeuter/Newsboat 源列表

天气

有很多实用程序可以从命令行获取天气信息,所以这里有一些有趣的应用:

手指

对于生活在支持城市的幸运的人,你可以简单地输入

sudo apt install finger
finger city@graph.no

在命令行中,将您的城市名称替换为命令中的“city”,结果类似于图 6-25 。

img/485525_1_En_6_Fig25_HTML.jpg

图 6-25

获取纽约市的天气信息

finger newyork@graph.no

或者,您可以简单地键入

curl wttr.in/your_location

在命令行中,用您的城市名称替换命令中的“your_location”。

例如,如果我输入

curl wttr.in/flint

输出将产生类似图 6-26 的结果。

img/485525_1_En_6_Fig26_HTML.jpg

图 6-26

获取密歇根州弗林特的天气信息

安西韦瑟

Ansiweather 详细信息:

安装:sudo apt install ansiweather

运行命令示例:ansiweather -l Flint -u imperial -f 3 -s true

点文件: ~/.ansiweatherrc

帮助:man ansiweather

网址: https://github.com/fcambus/ansiweather

前面的示例 run 命令查找 Flint 的天气,并以英制单位(即非公制单位)连同天气符号一起报告 3 天的天气。如图 6-27 所示,前面的 Ansiweather 命令输出一行所有信息。

img/485525_1_En_6_Fig27_HTML.jpg

图 6-27

密歇根州弗林特市的安西韦特

书籍、漫画和阅读

这是我们正在处理的文本模式,所以显然你可以在上面阅读文本。我们已经在前面的章节中讨论了文本编辑器,它们对于简单地阅读文本来说都是很棒的。但是,有时您需要读取非文本格式的文件。诸如 EPUB、MOBI、中国等电子书格式都需要专门的阅读器;我们现在来看看如何访问这些。

EPUB 文档

普鲁伯详细资料:

安装(作为一行键入):

sudo pip3 install git+https://github.com/wustho/epr.git

运行命令:epr <filename.epub>

点文件:无

帮助:epr --help

网址: https://github.com/wustho/epr/

通常,从命令行读取是通过文本编辑器完成的,比如 Vim、Emacs 甚至 Nano。尽管如此,越来越多的书籍以电子书的形式出现。安装完成后,只需输入

epub FILENAME.epub

电子书(EPUB 格式)将显示在屏幕上。这些说明很容易理解。

非 EPUB 格式

机芯详情:

安装:sudo apt install calibre

运行命令:calibre (or command in the following)

点文件:通过菜单在应用中设置

帮助:man calibre

网址: https://calibre-ebook.com/

其他电子书格式,如。mobi,。哎呀,还有。prc,需要转换为。epub 或文本格式。在图形用户界面中,最常见的方法是使用应用 Calibre 。既然我们在这里讨论命令行工具,那么 Calibre 的大部分特性都不可用,但是 Calibre 确实有几个强大的命令行工具。

一旦你安装了 Calibre,如果你愿意,你可以使用它的图形界面(如图 6-28 ),但是如果你想从命令行完成所有的工作,可以看看 Calibre 旁边安装的命令行工具。

img/485525_1_En_6_Fig28_HTML.jpg

图 6-28

桌面上的 Calibre

记录的命令:

  • 口径

  • 口径-定制

  • 口径调试

  • calibre-服务器

  • calibre-smtp

  • calibredb

  • 电子书-转换

  • 电子书-编辑

  • 电子书元

  • 电子书-波兰语

  • 电子书浏览器

  • 获取电子书元数据

  • lrf2lrs

  • LRF 查看器

  • Lrs2lrf

  • web2disk

该列表和相关说明可在以下位置找到

https://manual.calibre-ebook.com/generated/en/cli-index.html

可能最有用的是电子书转换。例如,如果您在中有一个电子书文件。mobi 格式,你想把它改成。epub 格式,只需输入

ebook-convert myfile.mobi myfile.epub -h

真的很快,输出看起来很完美。然后你可以使用 EPUB 阅读器来读取文件。

任务管理

有许多用于日历、日程安排和任务管理的命令行工具。以下是我的最爱:

大卡

追溯到最初的 Unix 系统的早期,有一个古老的cal命令。它显示一个月历,突出显示今天的日期。我不知道这些年来我用了多少次。除了显示月份,它并没有为做任何特别的事情,但是它仍然非常方便。

它是操作系统的一部分,所以你不需要安装任何东西。只是打字

cal

计算器

计算详情:

安装:sudo apt install calcurse

运行命令:calcurse

点文件:~/.calcurse/中的各种文件

帮助:man calcurse

网址: https://calcurse.org/

Calcurse 是一个可视化的、基于文本的日历、计划程序和命令行的待办事项管理器。它在底部两行列出了命令,很像 Nano 编辑器,通过按“o”键可以获得附加命令。它允许自定义颜色、三个主要窗口窗格的布局,以及其他一些您可以选择的内容。如果你不担心你的电脑和其他设备之间的同步,这可能是最好的方法。图 6-29 有一个很好看的截图。

img/485525_1_En_6_Fig29_HTML.jpg

图 6-29

计算器

全部. txt

如果你担心在设备之间同步你的约会和任务,这个过程比 Calcurse 更复杂,但是允许在任何设备上使用。这个概念很简单:一群用户聚在一起,创建了一个标准化的文本文件格式,可以包含所有的待办事项和约会。然后,你使用 Dropbox 等文件同步系统,让你的电脑、手机、平板电脑和其他任何你使用的设备都可以使用该文件。这个系统设置起来很容易,很可靠,而且非常灵活。

如果我刚才描述的东西对你有吸引力,那么现在就想尽一切办法去做,设计你自己的方法和系统。在手机的 Dropbox 中放一个 todo.txt 文件,并设置电脑访问该文件。你们都准备好了!

或者你可以使用一个已经存在的系统来完成所有这些工作。有一个完整的在线社区围绕这个概念建立起来,他们提出了他们认为是 todo.txt 文件的“标准”。这些组织的主页位于

http://todotxt.org

他们制定的具体“规则”载于

https://github.com/todotxt/todo.txt

您可能会问,“为什么要使用如此复杂的规则来简单地管理文本文件中的待办事项列表?”答案是,如果你使用他们的标准化格式,那么你就可以利用各种支持这种格式的应用。如果你不关心这些应用,那么你可以用文本编辑器管理你的文件。

todo.txt-cli 位于

https://github.com/todotxt/todo.txt-cli/releases

以及其他做同样事情的应用。当你意识到有手机应用可以处理这些文件时,这个想法特别有吸引力。我最喜欢的 iPhone 是 SwiftoDo,位于 http://swiftodoapp.com/ 。图 6-30 显示了该应用。文本文件和命令行在全尺寸电脑上很棒,但在小型手机上,专门的应用确实比试图用一般的写作应用编辑文本文件更容易处理。

img/485525_1_En_6_Fig30_HTML.jpg

图 6-30

SwiftoDo for iPhone

编码/编程/网页设计

基于 Linux 的编程和编码工具的选项和可用性几乎是无限的。几乎每种计算机语言编译器都可以作为命令行工具使用,而且,在表面之下,甚至大多数 GUI 编程工具只是在后台运行命令行工具。进入编码领域的最佳方式是选择一个文本编辑器程序,比如 Vim、Emacs 或类似的程序,然后开始研究各种语法工具和特定于编程的插件。

所有主要的文本编辑器都被开发人员大量使用,主要是因为它们的可定制性、插件功能和速度。你选择哪个编辑器很大程度上取决于你的品味和你想花多少精力去学习它;完全有可能只使用 Nano 来输入代码,然后在命令行上使用您选择的语言来编译它,但是大多数编码人员会想要更多的东西,并且会很快进入 Emacs 或 Vim(尽管也有其他优秀的选择)。我甚至无法开始了解如何在开发世界中使用这些高级编辑器,所以我不会。请记住,在文本模式下编码和在 GUI 环境下工作一样有效,如果不是更多的话。

在过去的几年中,一个爆炸式发展的编码工具是 Git 。Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到大的项目。Git 易于学习,占用空间小,性能快如闪电。它与 Github.com 联系在一起,后者是当今大多数开源项目的在线资源库和主页。Git 的命令行版本可从 https://git-scm.com 获得,可以作为命令行版本或 GUI 工具安装。一旦您对源文件进行了一些更改(无论是什么类型的,从 C++到 HTML 到散文文本),您就将更改提交到一个存储库,然后如果您决定以后从以前的版本中分支或恢复,您可以这样做。它对于保存文件的多个版本、协作,当然还有错误修复非常有用。

网络应用和服务

安装命令行软件不再是完成工作的唯一选择。互联网上还有无数免费或付费的网络应用。有些人只使用 Chromebook 作为他们的主要计算机就可以很好地生存,直到最近,这些机器只使用网络应用,我们在本书中看到他们几乎是事后想起的。许多高级网站严重依赖于 JavaScript 和其他脚本语言,这些语言在基于文本的浏览器中不能很好地工作(或者根本不能工作),但是有些在文本模式中工作得很好。

有一些命令行工具可以访问许多基于 web 的服务。Todoist 是一个非常受欢迎的待办事项列表管理器,在大多数移动设备上都非常好用,至少有一个好的命令行界面。 todo.txt 系统是另一个在手机/GUI 和文本之间实现同步的系统。

这本书不会过多地关注网络应用,因为我在我的另一本书《走向 Chromebook:云中生活》中广泛地涉及了这些应用,在这里我只打算介绍文本模式的特定工具。请记住,如果您找不到您需要的工具,网络上可能有您需要的工具。

在 GUI 中使用命令行工具

有时候工作的最佳工具并不是你想让 ?? 使用的工具。有时候,GUI 确实是更有效的做事方式。绘图和视频工作是两个很好的例子,图像密集型的 web 开发也是如此。大多数视觉游戏编程都需要 GUI。另外,一些现代工具只能在窗口系统下工作,甚至不能从命令行使用它们的功能。有时候你需要一个 GUI 来完成事情。

哑终端和基于文本的电传打字机的时代早已成为过去。怀旧和极简主义是令人愉快的,但电脑已经超越了这些东西是有原因的。如果您使用 SSH 在服务器上运行命令行工具,那么您可以通过这种方式完成许多功能强大的事情,但是如果您将这种功能与 GUI 系统所能提供的最好工具结合起来,那不是更好吗?有时候,你可能会发现自己在遵循一个十步过程来完成一些你可以用不同的工具在一个步骤中完成的事情。

我的观点是,既然你已经学会了如何在文本模式下做几乎所有的事情,是时候选择最适合你的方式,将这些工具与你的桌面软件一起使用了。如果您一直在 Raspbian 机器的终端窗口中运行命令行,或者从 Mac 通过 SSH-ing 进入您的 Pi,那么您已经在这样做了。Linux 上的 Terminator 或者 Terminal 是一回事;您正在 GUI 中运行终端屏幕。那不是“出轨”;那是做这件事的聪明方法。

例如,写一本书是一项需要两种工作方式来完成的任务。继续用 LaTeX 或 Markdown 用 Vim 写这本书。使用 Git 的命令行版本来管理您的版本。用 Pandoc 编译成 PDF。但随后使用一些图形应用(如 Okular)来查看生成的 PDF。这被称为“为正确的工作使用正确的工具”,是完成项目最有效的方法。如果你找不到你喜欢使用的命令行 PDF 查看器,那就不要这样做。一切都是为了以最高效、最愉快的方式完成工作。工作中挂念是可以的;只是不要被工具所束缚。

了解如何从终端窗口剪切并粘贴到图形窗口中。了解如何将文件从您的主目录复制到图形桌面的桌面上。有时使用 Ranger 浏览文件系统比使用文件管理器更容易,有时则相反。

我已经提供了两个任务列表,我认为这两个列表更适合其中一个方法(表 6-1 )。你可以从一边或另一边做所有这些事情;这些正是我觉得更好的。你的观点可以自由改变。

表 6-1

命令行与 GUI

|

最好从命令行开始

|

在图形环境中更好

|
| --- | --- |
| Mutt 代表电子邮件 | PDF 和漫画阅读 |
| 使用 Vim 或 Emacs 进行文本编辑 | 复杂的桌面出版布局 |
| Ranger/MC 用于文件操作 | 绘画和图形创作 |
| 音乐和播放列表创建 | 大多数游戏 |
| 文件备份、大规模文件传输和大型下载 | 网页浏览 |

我在这里的观点是命令行不一定是一种“生活方式”这是你计算机能力宝库中的又一个工具。通过学习命令行和一些更有用的工具,您可以在一个更加可定制的环境中获得更快、更强大的方法,通常使用功能不太强大的设备。这整个概念是为了好玩,而不是坐牢。

结论

有些任务,如视频和音频编辑,确实需要使用图形模式和鼠标。也就是说,大多数任务从命令行运行都很好。它们可能不具备大多数桌面应用所具备的所有漂亮的功能,但它们通常更具可配置性,更易于访问,并且具有极其先进的自动化可能性。没有 GUI 提供的所有简单菜单,只需要弄清楚它们是如何工作的。

在下一章,我们将会看到一些高级的主题和不适合其他地方的东西。我们已经讨论了 Markdown 和 LaTeX,我们将快速介绍这些工具,然后看看如何使用点文件和配置文件定制您的命令行应用。我们将看看您可以在网上找到的一些其他资源。

最后,我们来看一些项目,你可以使用一个备用的树莓 Pi 来处理那些需要专用机器的项目。我发现 RPi 非常便宜,每次他们有重大升级时,你都会买一个新的。我最近看了看,我有五个孩子躺在那里!**

七、高级主题

本章涵盖的主题是从命令行或 GUI 工作时要考虑的有价值的选项——或者在许多情况下两者都要考虑。

首先,我们讨论 Markdown 和 LaTeX,这两种描述文本的“语言”允许更容易地转换成其他格式。Markdown 可以在半小时内学会,而 LaTeX 要复杂得多,但也灵活得多。一般来说,如果你是为 EPUB 或者 HTML 写基于网络的发布,我会推荐学习 Markdown。如果你是为 PDF 或印刷出版写作,我会考虑 LaTeX,但是两者之间有很多交叉。

第二,我们看看通常所说的“点文件”我已经多次提到文本应用是非常可定制的,但我们并没有真正深入研究它。点文件是存储每个应用的配置信息的地方;像键映射、配色方案、插件和大多数其他定制都是通过编辑这些文件来完成的。

第三,我将带您浏览我的 Vim 编辑器的 dotfile。我绝不是 Vim 的大师,但是我做了一些基本的定制,可能会吸引一个非程序员。作为一个例子,我将一步一步地向你展示可以做什么样的事情。

然后我们看看如何使用您的 Raspberry Pi 作为其他系统的仿真器。Pi 运行 Linux,但在里面我们可以运行 MS-DOS 应用、任天堂游戏,甚至老式的投币式街机游戏。

最后,我提供了一个链接列表,作为进一步研究的“额外资源”,以及一些随着兴趣的增长,如何处理“额外”的 Raspberry Pi 计算机的想法。

降价和乳胶

在 GUI 世界中,文字处理器是文档创建之王。微软的 Word,苹果的 Pages,甚至谷歌的 Docs 都使得文档的创建变得可视化和简单。另一方面,如果您曾经在 Word 中迷失在一堆缩进和遗漏的项目符号中,那么您就会知道这些视觉格式有多么令人沮丧。许多作家选择使用文本编辑器而不是文字处理器。使用文本是一件喜忧参半的事情。你可以完全控制你的文字和数据的每一个方面,但这是以更高的学习曲线为代价的。这听起来很熟悉,不是吗?

我在“写作工具”部分提到过 WordGrinder 。据我所知,对于纯文本系统来说,这是最接近“文字处理器”的东西。它允许你使用粗体、下划线和一些其他格式的东西;但它远不如任何 GUI 文字处理器健壮或强大。可靠,易学;对你来说可能就够了。

另一方面,如果你写了很多东西,或者需要更精确的格式,有两个非常流行的描述文本格式的系统:MarkdownLaTeX 。你决定学习哪一种取决于你写作的类型以及你想要的输出类型。

我在下面包含了两个例子,一个是 Markdown,另一个是 LaTeX,它们都没有包含任何解释。从这两个例子中可以看出,Markdown 相对容易阅读,即使对于实际上并不知道他们正在查看的材料是 Markdown 的人来说也是如此。简单易学;通常只是在纯文本中添加某些标点符号,比如#表示各种标题,**表示粗体,*表示斜体,表示链接和图形。它比 HTML 更容易学习,但允许非常相似的输出。事实上,Markdown 最初是为了方便地将文本文档转换成 HTML 以发布到博客上而创建的,但它对大多数形式的在线写作都很有用。

另一方面,LaTeX 散布着大量的标记和括号,通常有更多的“开销”也就是说,开销和复杂性允许打印布局具有基本上无限的灵活性——自从计算机首次用于打印以来,使用 LaTeX 排版的书籍比任何其他方法都多。

当然,Markdown 和 LaTeX 都只是描述文本的“标记语言”,与 HTML 非常相似。这两种文本语言都是简单的文本文件,可以使用您选择的文本编辑器进行编辑——Vim 或 Emacs 或者甚至可以使用纳米。当然,因为它们只是简单的文本文件,所以根据定义,它们是完全跨平台的。如果有一天你决定回到 Windows、Mac 或 Linux,你可以带着所有这些文件,因为同样的工具也适用于这些平台。iOS,Android,几十年的大型机,每一台还没发明出来的电脑也是如此。

文本文件永远不会“消失”,也不会发生太大的变化,以至于无法被其他东西读取。文字处理格式就不一样了——想想保存在 Apple Works、Microsoft Works 甚至 Apple Pages 早期版本中的文件,它们都无法在现代文字处理软件中阅读。那些文件基本上已经变得不可读了。

使用文本语言的过程非常简单。您只需使用您最喜欢的文本编辑器输入如下所示的“代码”。记住。md。您编写的 tex 文件不是最终文档;它将使用类似 PandocLaTeX 的应用进行编译,以创建您需要的格式的输出文件:。docx。pdf。odt ,或者随便你。有几十种输出格式可供您使用。

减价

如果你正在为网络或电子书写作,你可能应该看看 Markdown。它很容易转换成 HTML 和 EPUB 格式,而且非常容易学习。看一段 10 分钟的 YouTube 视频,你大概就能掌握基本知识了!

# Heading
=======

## Sub-heading

Paragraphs are separated by a blank line.

Two spaces at the end of
a line leave a line break.

Text attributes *italic*, **bold**, `monospace`.

Horizontal rule:

---

Bullet list:

* apples
* oranges
* pears

Numbered list:

1\. wash
2\. rinse
3\. repeat

A [link](http://example.com).

![Image](https://gitee.com/OpenDocCN/vkdoc-linux-zh/raw/master/docs/comp-raspi/img/Image_icon.png)

潘多克

要将前面的 Markdown 文本转换成更有用的最终格式,我必须推荐 Pandoc 。它可以将几乎任何格式转换成任何其他格式。类型

sudo apt install pandoc

来安装它。要使用它,您可以键入如下内容:

pandoc -f markdown -t docx example.md -o example.docx

这将采用文件 example.md (。md 表示是 markdown 文件)并将其转换为 example.docx (微软 Word 文件)。请注意该命令的各种标志和参数:

|

pandoc

|

主命令

|
| --- | --- |
| -f markdown | 降价形式 |
| -t docx | docx 格式 |
| example.md | 源文件(以 md 结尾用于降价) |
| -o | 输出 |
| example.docx | 输出文件(Word 文档以 docx 结尾) |

Pandoc 是一个非常强大的转换工具,它支持几十种不同的输入和输出格式。

您可以通过键入man pandoc来阅读手册页,或者尝试访问位于 https://pandoc.org/MANUAL.html 的网站来获得更好的阅读体验。

乳液

如果你想用纸来写作,打印输出或书籍或报告(或 pdf),你可能想看看乳胶。LaTeX 是一个高质量的排版系统;它包括为制作科技文献而设计的功能。LaTeX 是科学和数学文档交流和出版的事实标准。它被设计为在 20 世纪 70 年代的小型计算机上运行,因此 Pi 足够强大,可以处理您能想到的任何 LaTeX 项目。

\documentclass{article}
\usepackage{amsmath}
\title{\LaTeX}
\begin{document}
\maketitle
\LaTeX{} is a document preparation system for the \TeX{} typesetting program. It offers programmable desktop publishing features and extensive facilities for automating most aspects of typesetting and desktop publishing, including numbering and  cross-referencing, tables and figures, page layout, bibliographies, and much more. \LaTeX{} was originally written in 1984 by Leslie Lamport and has become the  dominant method for using \TeX; few people write in plain \TeX{} anymore.
The current version is \LaTeXe.
% This is a comment, not shown in final output.
% The following shows typesetting  power of LaTeX:
\begin{align}
E_0 &= mc² \\
E &= \frac{mc²}{\sqrt{1-\frac{v²}{c²}}}
\end{align}
\end{document}

要安装 LaTeX 编译器,请键入以下内容。请记住,Tex Live 的下载和安装量非常大,所以在安装之前,请确保您的 SD 卡或硬盘上至少有 2GB 的磁盘空间:

sudo apt update
sudo apt install texlive-full
sudo apt install texworks

如果您认为您不需要 texlive-full 软件包中提供的非常高级的工具,您可以用下面的内容代替上面的第三行:

sudo apt install texlive

此外,如果您没有特别喜欢的文本编辑器,可以安装 Texmaker,这是一个专门为使用 LaTeX 而设计的编辑器:

sudo apt install texmaker

在第四章中有对 Texmaker 的简短描述。如果你喜欢更图形化的选项,有完全在线的、基于云的 LaTeX 编辑器。看看 Overleaf.com,这无疑是最好的例子。它在 Pi 的 Chromium 浏览器上也能很好地工作,你不需要安装任何东西就能让它工作。它甚至会把你写的东西储存在云端,所以你不用担心会丢失任何东西。

使用点文件进行自定义

在整本书中,我一遍又一遍地提到了如何定制一切,但我并没有触及如何进行定制。一些基于文本的应用有下拉菜单和设置,可以像基于图形的应用一样进行调整。如果是这样的话,那么你可能已经知道如何去做了。

更有效的方法是编辑“点文件”这些文件包含设置、变量和字段,可以使用 Vim、Emacs 甚至 Nano 之类的文本编辑器进行更改。这些文件通常以应用本身命名,只是它们以句点开头(因此称为“点文件”),有时它们会在末尾添加“rc”。一些例子可能是

-vim 的

。编辑器

。muttrc 公司

. tmux.config 文件

。配置

注意

以下内容适用于任何种类的 Linux。查看特定应用的文档,了解配置文件的存储位置以及如何访问它们。

要了解我所说的内容,请在终端中转至您的主目录,并创建一个完整的目录列表:

cd ~
ls -la

您可能需要上下滚动才能看到所有内容,但是会有许多文件以句点开头。这些文件可以编辑、更改,然后保存,以改变应用的永久设置。注意,点文件对于基本的ls命令是“不可见的”,所以你必须使用-la开关来查看它们。如果您使用 Ranger 或 Midnight Commander 查看目录列表,它们也可能被隐藏。

每个应用都有不同的规则和设置,我不可能全部解释清楚(即使我全部理解)。最好的方法是在默认状态下使用应用,然后一旦你发现自己在想“我想知道是否有更好的方法……”或“我希望这能以不同的方式工作”,那么就上网(或查看手册文件)并搜索应用的配置选项。很有可能有一个设置或插件可以满足您的需求。大多数应用都非常灵活,但是你会发现大多数命令行/文本模式的应用都没有丰富的内置菜单。

举个例子,我经常使用 Vim 文本编辑器,并且对它的配置文件做了很多修改。在下一节中,我将回顾一下 Vim 的 dotfile。大多数其他应用都以类似的方式工作。

我的。vimrc 文件

Vim 应用主要通过一个名为的文件进行配置。vimrc。vimrc 文件位于您的主目录中。要编辑它,请键入

nano ~/.vimrc

如果您还没有. vimrc 文件,这将为您创建一个。

当 Vim 应用启动时,它扫描主目录并查找这个文件。如果它不存在,Vim 在自己的通用缺省值下运行,但是如果它存在,它会读取文件并根据配置文件中的内容改变 Vim 的行为。下面是我的(行号供你参考;真实文件没有那些):

01 filetype off
02 set encoding=utf-8
03
04 execute pathogen#infect()
05 execute pathogen#helptags()
06 let g:airline_theme='jellybeans'
07
08 filetype plugin indent on
09 :let mapleader = ","
10
11 nnoremap j gj
12 nnoremap k gk
13 vnoremap j gj
14 vnoremap k gk
15 nnoremap <Down> gj
16 nnoremap <Up> gk
17 vnoremap <Down> gj
18 vnoremap <Up> gk
19 inoremap <Down> <C-o>gj
20 inoremap <Up> <C-o>gk
21
22 " Nerdtree start and toggle ,-n and ,-m
23 :map <Leader>n  <Esc>:NERDTree<CR>
24 :map <Leader>m  <Esc>:NERDTreeToggle<CR>
25
26 "Latex compile and preview key bindings
27 :map <Leader>u  <Esc>:! pdflatex "%"
28 :map <Leader>i  <Esc>:! evince "%:t:r.pdf" &
29
30 " Spell check toggle
31 :map <F6> :setlocal spell! spelllang=en_us<CR>
32
33 colorscheme slate
34 set nocompatible
35 set nonumber
36 set guioptions-=L
37 set guioptions-=T
38 set ruler
39 set undolevels=1000
40 :set wrap linebreak nolist
41
42 :set display+=lastline
43 :abbreviate img ![](https://gitee.com/OpenDocCN/vkdoc-linux-zh/raw/master/docs/comp-raspi/img/.jpg)

这看起来像是很多真正的技术内容,但按照许多 Vim 爱好者的标准,这实际上是非常短的。现在,我将一行一行地解释这是怎么回事。

  • 第 1 行: Filetype 告诉 Vim 检测正在加载的文件类型,并对该类型的文件使用语法高亮显示。我不是程序员,所以我不需要语法高亮,所以我把它关掉了。

  • 第 2 行: UTF-8 是一种标准的字符编码类型,用于大多数印刷和电子书。这也是我一直使用的。像这样的设置,如果您想设置一次就再也不要弄乱它,是在配置文件中进行更改的主要候选。

  • 第 4、5 行: 病原体是“外挂管理器”Vim 允许扩展和插件做基础 Vim 系统中没有的事情。病原体负责为我加载和运行插件脚本。

  • 第 6 行: 航空公司取代了 Vim 屏幕底部的普通状态行。我的是漂亮的蓝色,与 Vim 默认提供的信息不同。这其实不是必需品,但我喜欢它的样子。我的主题是“软糖”,背景设在这里。

  • 第 8 行:打开插件和缩进。

  • Vim 有一个叫做“leader key”的东西,它允许你定义键盘组合来做任何你能想到的事情。我已经将我的 leader 键设置为逗号键。这意味着我可以点击逗号 n,就会有事情发生。如果我点击逗号-m ,会发生其他事情,等等。这很像同时按下 Ctrl 或 Alt 键和其他键,但是 Vim 进行了太多操作,以至于大多数 Ctrl 和 Alt 组合都已经被使用了。领导组合键是“所有我的。”我们将在文件的后面定义这些特定的键。

  • 第 11–20 行: Vim 是程序员的编辑器,但我大多写文本文件。我不喜欢当我按向上或向下箭头键时,Vim 上下移动整个段落的方式。我习惯了常规文字处理器使用箭头键的方式,所以在这里我“重新映射”了这些键,以移动我想要的方式。在第 11 行,我重新映射了“j”键,以使用通常与“gj”键相关联的操作。第 15 行对向下箭头键做了同样的事情。vnoremap、nnoremap 和 inoremap 做同样的事情,但是将更改应用于不同的模式。这很复杂,但是你可以重新映射键盘上的任何键来做任何你想做的事情。(Vim 纯粹主义者现在对这个讨厌的东西摇头,想知道为什么我不直接使用默认的移动键)。Vim 是一个非常老的应用;在许多键盘上有箭头键之前,它是按字面意义设计的;所以默认的移动是 H,J,K 和 L 键。

  • 第 22 行:这是一个注释。它什么也不做。

  • 第 23 行:这里是事情开始发生的地方。这一行用“n”键映射了我前面提到的 leader 键。当我点击逗号-n 时,插件 NERDTree 运行。NERDTree 是一个文件浏览插件,用于从菜单中选择和加载文件。

  • 第 24 行:映射逗号-m 组合,使 NERDTree 窗口消失。我可以使用逗号-n 来选择和加载一个文件,然后点击逗号-m 使文件选择器消失。

  • 第 26 行:又一条评论。

  • 第 27 行:使用 PDFLATEX 映射 COMMA-U 将屏幕上的文本文件编译成 PDF。如果我正在编写一个 LaTeX 文件,这将为我完成所有的编译工作,所以我不必记住或键入编译文件通常需要的命令行。

  • 第 28 行:映射 COMMA-I 来加载 Evince PDF viewer 并预览当我点击 COMMA-U 时创建的文件。

  • 第 31 行:映射 F6 功能键来打开或关闭拼写检查。

  • 第 33 行:你可以使用多种内置配色方案,也可以自己安装。我使用名为“石板”的内置主题

  • 第 34 行:与更老的 VI 程序的兼容性有关。我不需要这种兼容性,所以我把它关了。

  • 第 35 行:关闭行号。再说一遍,我写的是散文文本,而不是代码,所以我不是特别在意行号。请注意,您当前所在的线路仍会显示在屏幕底部的状态栏中。

  • 第 36 行:在 GUI 模式下,这将移除左侧滚动条。

  • 第 37 行:在 GUI 模式下,这将移除屏幕顶部的工具栏。

  • 第 38 行: Set ruler允许 Vim 知道并在状态行上显示光标所在的列。

  • 第 39 行:设置撤销级数。

  • Line 40: 这使得 Vim 可以在空格或标点符号处换行,但不会在单词中间换行。否则,Vim 允许一行在很长时间内不换行到屏幕上。

  • 第 42 行:出于某种原因,Vim 对屏幕最下面一行做了奇怪的事情。这一行解决了这个问题。

  • 第 43 行:如果你用过类似 TextExpander 的工具,你会喜欢这个。这一行修复了它,这样每当我输入字符img,时,它会自动将该文本扩展为字符串![](https://gitee.com/OpenDocCN/vkdoc-linux-zh/raw/master/docs/comp-raspi/img/.jpg).,这是在 Markdown 中写入时图像文件的空占位符。我从来不记得具体涉及到哪些人物,也因为这一行,我不必。当我想插入一张图片时,我输入img,,这些字符就会弹出来。然后,我返回并填写描述和文件名。您可以设置任何独特的字符串,以这种方式扩展成您想要的任何内容。由于篇幅原因,我在这里只包括了这一个缩写,但是有几十个缩写并不罕见。

  • 同样,一个认真的 Vim 用户会定制他们的。vimrc 文件,他们只需要几千行定制。

我是怎么学会做这些的?我试着使用“香草”Vim 程序,当我碰到我不喜欢的东西时,我会搜索直到找到配置命令。当你找到一个解释你喜欢的一些修改的页面时,它通常会链接到你可以做的相关定制,然后你就陷入了疯狂修改的兔子洞。给一个如此“普通”的应用添加一些强大的新功能确实很有趣。

对于一些人来说,掌握并充分利用这些工具的每一点能力和性能是一项严肃的爱好,他们喜欢在网上写下他们的成就。至少,您应该尝试改变配色方案并打开拼写检查——这些都是易于开始的命令。然后一步一步来。我的建议也是不要复制任何人的配置文件——即使是我的。随着需求的增长,自己动手制作。

My .tmux.conf 文件

对于第二个不太复杂的例子,让我们看看终端多路复用器应用 Tmux 的配置文件。该应用通过一个名为 .tmux.conf 的文件进行配置。要对此进行编辑,请键入

nano ~/.tmux.conf

如果您还没有这个文件,Nano 将为您创建一个空白文件。以下是我所知道的:

source-file "${HOME}/.tmux-themepack/powerline/double.blue.tmuxtheme"
# split pane using | and –
Bind | split-window -h
Bind – split-window -v

显然,这比 Vim 配置文件短得多;不是所有事情都超级复杂。

第一行为显示在 Tmux 屏幕底部的状态行加载颜色主题。通常,Tmux 显示一条普通的绿色状态线,但是这条有漂亮的蓝色和一些图形分隔线。它并没有真正做什么有用的事情,但是我喜欢它的样子。

第二行是注释,解释接下来的两行。

第 3 行将|键“绑定”到水平分割窗口的命令。在我看来,|键就像是将窗口一分为二的垂直切片,所以我认为它比这个动作的默认键更容易记住。

第 4 行做了同样的事情,将–键映射到垂直分割线。连字符从右到左,这在我看来就像是垂直分割中穿过屏幕的线。我是一个视觉思考者,所以这两个键比默认的键“和%更容易记住。

这就是我的. tmux.conf 文件。您能找到的几乎每个应用都有类似的东西,尽管通常没有 Vim 示例那么精细或复杂。

如果您在根目录中没有看到 dotfile,请在 ~/中查找。config 子目录;有时候他们把它们藏在那里。如果两者都不存在的话~/。config 或您的/home 目录中,查看该软件的文档——它几乎肯定有一些方法来进行永久定制;只是找到文件位置的问题。保留所有自定义点文件的备份也是一个非常好的主意。这样,如果你设置了另一台机器,这些文件很容易获得,而且如果你搞砸了什么,你可以回到以前的工作版本。我知道许多 Linux 用户将他们所有的点文件保存在 Github.org 库中,这个项目超出了本书的范围。

乍一看,这似乎是不必要的复杂。当然,从菜单中选择选项会更容易。嗯,如果选择仅限于程序的创建者认为要包括的内容,那是真的。像 Vim 和 Tmux 这样的应用允许有无限的各种插件和近乎荒谬的特性。Vim 程序员不可能想到包括所有的东西,他们也不想这样做。许多插件都是非常专用的。通过使用完全开放的文本文件进行配置设置,几乎可以创建任何东西。是的,它更复杂,但它的无限可扩展。

Linux 的其他发行版

我们从一开始就看到有不止一个适用于 Raspberry Pi 的 Linux 发行版,我们开始讨论 Raspbian 和 Ubuntu MATE。还有其他可用的,您可以按照我们在开始时所做的相同过程来尝试它们:下载一个镜像文件,使用 Etcher 将其写入 SD 卡(或硬盘),然后配置操作系统。

与 Raspberry Pi 兼容的一些最流行的发行版包括:

  • Raspbian 是默认的 Raspberry Pi 操作系统,由 Raspberry Pi 基金会创建和维护

    ( www.raspberrypi.org/downloads/raspbian/ )。

  • Ubuntu MATE 是 Ubuntu 的一个版本,拥有完整的桌面和主要应用。在大多数情况下,MATE 运行速度比 Raspbian 慢,但它的功能更全,使用起来也更友好

    ( https://ubuntu-mate.org/raspberry-pi/ )。

  • Kali Linux 在白帽黑客和安全测试人员中很受欢迎。它没有附带常见的游戏和商业应用,但它非常注重安全测试

    ( www.kali.org/ )。

  • CentOS 是红帽企业 Linux 发行版的社区版,每个新版本保证支持 10 年

    ( www.centos.org/ )。

  • RISC 操作系统与其他操作系统非常不同,它是而不是基于 Linux。它非常快,非常小,但是与 Linux 系统相比,它以不同寻常的方式做事情

    ( www.riscosopen.org )。

  • RASPBSD 是 FreeBSD 的一个版本。FreeBSD 也不是 Linux,而是一个完整版本的 Unix,Linux 所基于的操作系统

    ( www.raspbsd.org/ )。

  • Windows IoT Core 和 Ubuntu Core 是各自操作系统的两个专门版本,它们不是完整的桌面环境,而是“核心”系统,缩小规模以利用 Pi 的廉价硬件来创建连接互联网的“物联网”设备

    ( https://docs.microsoft.com/en-us/windows/iot-core/downloads

    https://ubuntu.com/download/iot/raspberry-pi-2-3-core )。

  • Pi MusicBox 将您的 Pi 变成点唱机,从本地和网络存储驱动器以及许多流媒体源(如 Spotify 和 Google Play Music)加载您的音乐

    ( www.pimusicbox.com/ )。

  • LibreELEC 设计用于运行 Kodi 媒体中心。你把它连接到你的电视/显示器和一个装满视频和音乐的硬盘上,它就会把你的电视变成一台非常 ?? 的智能电视

    ( https://libreelec.tv/downloads/ )。

  • OpenMediaVault 将您的 Raspberry Pi 变成网络连接存储(NAS)的大脑。只需添加一个或多个大硬盘,并将 Pi 插入您的网络,您就有了一个智能 NAS

    ( www.openmediavault.org )。

  • RetroPie 是一个“复古”的视频游戏仿真系统。我们将在下一节讨论更多关于模拟器的内容,但是这个发行版包括了模拟几十台旧电脑的应用

    ( https://retropie.org.uk/ )。

DOSBox 和仿真软件

尽管如此,还有其他的可能性。对于“全功率”计算机,虚拟计算和模拟器是业余爱好者感兴趣的主要领域。你能在 Raspberry Pi 上运行模拟器吗?你当然可以!模仿旧的视频游戏系统是 Pi 最常见的爱好之一。

最流行和调试最彻底的模拟器之一叫做 DOSBox。它允许你运行 20 世纪 80 年代和 90 年代为 MS-DOS 开发的软件,并在你的 Raspberry Pi 上运行。这可能是曾经流行的软件,如 WordPerfect 5.1、Lotus 1-2-3、Wildcat!BBS,或者其他功能强大的软件。另一方面,它也可能是 Windows 95 占领 PC 世界之前编写的数千款优秀游戏中的一部分:中校、M.U.L.E .、Zork、俄罗斯方块等等。这些游戏不一定要输给时间;你现在就可以在你的树莓派上运行它们。

要开始,请下载 DOSBox:

sudo apt install dosbox

dosbox.运行它

图 7-1 显示了 MS-DOS dir命令的输出。

img/485525_1_En_7_Fig1_HTML.jpg

图 7-1

提示方块

如果你熟悉 MS-DOS,几乎所有的命令都可以工作。复制文件、删除文件、目录列表—都在这里。运行游戏或应用的第一步是将您的个人文件夹中的一个目录“映射”到“DOS”中的 C:驱动器。这使得它看起来像是你在你的主硬盘上安装了这些应用。

例如,如果您最近下载了一组存储在~/Downloads/DOS 中的游戏,您可以将该文件夹挂载为 DOS 中的 C:驱动器:

mount c ~/Downloads/DOS

现在如果你打字

dir c

现在,您应该可以看到 Linux 驱动器上 DOS 文件夹的内容。接下来,您将使用 cd 命令将活动目录更改为包含特定游戏的目录。

cd warcra~1

带我进入“魔兽”目录。然后你可以输入dir来查看文件夹中的所有文件,找到.exe文件,也就是通常是在 DOS 下的一个可执行文件。对于我正在运行的游戏,可执行文件叫做war.exe。类型

war

而且游戏不仅会开始,而且会出奇的好。图 7-2 为截图。

DOSBox 也可以使用点文件进行定制。可以通过键入以下命令来访问它的配置

nano ~/.dosbox/dosbox-0.74-2.conf

请注意,如果您有较新版本的应用,这可能会有所不同。该文件中需要更改的两个有用的内容如下:

  1. You can set it to automatically mount the C: drive as we did earlier. Just type in the “mount” command in the configuration file

    mount c ~/Downloads/DOS
    
    

    或者任何你用来存放 DOS 应用的地方。

  2. 文件顶部附近有一行fullscreen=false。如果你把这个改为fullscreen=true,然后保存文件,DOSBox 将开始以全屏模式打开,这看起来比你在其他情况下得到的小窗口要好得多。

这一节并不意味着是一个 DOS 模拟器教程,而是一个你可以使用的模拟器的例子。任天堂、Game Boy、Genesis 和大多数其他老式街机和游戏机游戏都有类似的模拟器。

所有细节、注释和帮助文件都可以在 DOSBox 网站 http://dosbox.com 找到,如图 7-2 所示。

img/485525_1_En_7_Fig2_HTML.jpg

图 7-2

1994 年的 DOS 游戏魔兽争霸

向后

如果运行旧的 PC 游戏还不足以娱乐你,你可能想尝试一个专门的仿真发行版,如 RetroPie。安装后,RetroPie 会将你的 Pi 引导到一个包含旧电脑、游戏机和视频游戏机的菜单中,然后允许你从这些系统中加载游戏。许多系统都包含仿真器,如下所示:

| 3doAmiga 阿姆斯特丹足球俱乐部苹果二代雅达利 2600Atari 5200 和 8 位系列雅达利 7800 绑捷豹 Atari Lynx(美国电影明星)阿塔里圣斯特/TT/Falcon 椰子树 Colecovision 准将 64 达芙尼龙 32 梦幻女郎最后一击游戏立方体游戏和观看游戏装备游戏男孩游戏男孩颜色游戏男孩前进智能视觉麦金托什雨衣 MAME 主系统巨型驱动/创世纪混乱 MSX 任天堂 64 | 街机游戏近地天体地理口袋新地理口袋颜色 oric-1/大气个人电脑 PC 发动机/TurboGrafx-16 电脑-外汇掌上游戏机(SONY 推出的掌上娱乐平台)任天堂 DS 任天堂公司游戏机 1PlayStation 2 剩余虚拟机山姆双门轿跑车土星斯库玛 32X 锯把 CD 锯掉 SG-1000 突击步枪超级任天堂 TI-99/4ATRS-80 每周三次 video PAC/奥德赛 2 虚拟男孩任天堂在 2006 年推出的新一代电视游戏机旺德万旺德万 Color 机器 ZX 光谱 |

额外资源

专用 Pi 项目

许多用户将他们的 Raspberry Pi 用作家庭网络和“原始”互联网之间的一种专用中间设备。您可能感兴趣的一些项目如下:

  • 黑洞:https://pi-hole.net互联网广告的“黑洞”。

  • Pi-VPN:Pi 在 www.pivpn.io 的虚拟专用网服务器。

  • 防火墙和入侵检测:

    www.instructables.com/id/Raspberry-Pi-Firewall-and-Intrusion-Detection-Syst/

  • Volumio 高保真音乐播放器:让您将 Pi 设置为专用点唱机和音乐播放器

    https://volumio.org/

  • OwnCloud: 创建您自己的云服务器,可从电脑、手机或任何地方访问。就像拥有自己的 Dropbox 一样

    https://owncloud.org/

  • LAMP Server: LAMP 是 Linux,Apache,Mysql,PHP server 的简称。它本质上是一个随时可用的完整的 web 服务器。没有一个庞大的 LAMP 安装程序,因为它由四个非常复杂的部分组成,但是一个简单的在线搜索应该会提供几个很好的安装系统的教程网站。

  • RetroPie Arcade: 我们在仿真部分讨论了 RetroPie,但设计和建造与该软件配套的物理硬件是创意人员的共同爱好。从掌上游戏机到大型木制拱廊式橱柜,应有尽有。我不打算在这里推荐任何供应商,但在谷歌上快速搜索“RetroPie 控制台”会显示出相当多的选择。

所有这些项目都需要一个专门负责这项任务的 Pi,所以你不会想用你的“计算机 Pi”来做这些,但是如果你有兴趣为一个第二个第三个树莓 Pi 找一份工作,它们可能会让你感兴趣,这比你想象的要常见得多——新的 Pi 模型似乎出现得非常快,留下了许多备用的“旧”Pi 系统来寻找用途。

结论

这就是了。

我们已经购买、构建并组装了我们的小 Raspberry Pi 计算机,我们已经将操作系统安装到 SD 卡或硬盘上,并且我们已经建立了一个用户帐户。

然后我们学习了 Raspbian 桌面界面,安装了一堆好玩又强大的 app。

然后我们切换到命令行,安装了一系列功能更强大、可定制的工具。

最后,我们看了文本标记语言和. config 文件,它们允许无限的定制选项。

我们在这一切中发现了什么?Raspberry Pi 本质上是一台普通的计算机,只是更小、更便宜,并且可能不像其他一些计算机那样可扩展。尽管如此,它运行 Linux 并拥有所有必要的输入和输出选项,因此几乎没有什么是它不能完成的。诚然,许多相同的应用比新 MacBook 上的要慢,但价格只有五十分之一,也许这是一个公平的交易。只有你能肯定地说。

现在该去工作了!

posted @ 2024-08-02 19:35  绝不原创的飞龙  阅读(14)  评论(0编辑  收藏  举报