分类 技术 下的文章

嗨!今天我 在 twitter 询问有没有一些像 ripgrepfdfzfexabat 之类的新式命令行工具。

我收到了一大堆回复,都是我没有听说过的工具,所以我想我应该在这里列出一个清单。另外,很多人还指出有一个 modern-unix 的列表。

标准工具的替代物

新的发明

这里有一些不完全是替代标准工具的工具:

  • zfasdautojumpzoxide (使查找文件/改变目录更容易的工具)
  • brootnnnranger (文件管理器)
  • direnv (根据当前目录加载环境变量)
  • fzfpeco (“模糊查找器”)
  • crocmagic-wormhole (将文件从一台计算机发送到另一台)
  • hyperfine 基准测试
  • httpiecurliexh (用于发出 HTTP 请求)
  • entr (当文件改变时运行任意命令)
  • asdf (多语言的版本管理器)
  • tiglazygitgit 的交互界面)
  • lazydockerdocker 的交互式界面)
  • choose (基本版的 awk/cut
  • ctop (容器的 top
  • fuck (自动纠正命令行错误)
  • tmate (与朋友分享你的终端)
  • lnavangle-grinder (管理日志的工具)
  • mdpglow (在终端显示 Markdown 的方法)
  • pbcopy/pbpaste(用于剪贴板和标准输入/标准输出之间)可能不是“新的”,但被提到了很多次。你可以使用 xclip 在 Linux 上做同样的事情

JSON/YAML/CSV 工具

  • jq (一个很好的 JSON 处理工具)
  • jc (将各种工具的输出转换成 JSON)
  • jo (创建 JSON 对象)
  • yq (类似 jq,但用于 YAML),还有 另一个 yq
  • fq (类似 jq,但用于二进制)
  • htmlq (类似 jq,但用于 HTML)
  • fx (交互式 JSON 工具)
  • jless (JSON 分页器)
  • xsv (一个用于 CSV 文件的命令行工具,来自 burntsushi)
  • visidata (“一个用于表格数据的交互式多功能工具”)
  • miller (“像用于 CSV/TSV/JSON/JSON 的 awk/sed/cut/join/sort”)

grep 工具

  • pdfgrep (用于 PDF 的 grep
  • gron (用于 JSON 的 grep
  • ripgrep-allripgrep,但也用于 PDF、zip、电子书等)

不太新的工具

下面是人们提到的一些不那么新的工具,但不那么知名:

  • pv (“管道查看程序”,给你一个管道的进度条)
  • vidir (来自 moreutils,可以让你在 vim 中批量重命名/删除文件)
  • spongetsparallel (也来自 moreutils)

我的一些最爱

我最喜欢的是 entrripgrepgit-deltahttpieplocatejq,这些都是我已经使用过的。

我也想尝试一下 direnvbtmzxsvduf,但我认为我知道到的最令人兴奋的工具是 vidir


via: https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/

作者:Julia Evans 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

震惊!Canonical 的前 Snap 倡导者开发了一个工具,帮助你快速抛弃 Snap 并使用 Flatpak。

不喜欢使用 Snap?

好吧,你可以一直坚持使用传统的二进制包(deb/rpm),或者选择 Flatpak

但是,如果你已经用上了 Snap 商店的应用,怎么办?

手动删除 Snap 应用,和 Snap 说再见,安装 Flatpak,并安装所有 Flatpak 需要的软件包,这将是非常耗时的。

这就是 “Unsnap” 派上用场的地方。

Unsnap 是一个开源工具,由 Canonical 的前 Snap 倡导者 Alan Pope 开发,帮助你从Snap 快速迁移到 Flatpak。

Unsnap:它是如何工作的

请注意,该工具仍处于前 alpha 阶段,你可以测试它,但如果你想实际使用并帮助改进,你可能要做一些研究。

基本上,该工具生成的脚本可以帮助你做以下事情(按特定顺序):

  • 备份现有的 Snap 软件包。
  • 安装 Flatpak(如果尚未存在)。
  • 启用 Flathub。
  • 为 Snap 应用安装相同的 Flatpak 应用。
  • 移除已安装的 Flatpak 应用的 Snap 应用。
  • 删除所有 Snap 软件包。

虽然脚本是在你运行工具时自动生成的,但你可以选择手动或自动逐个运行这些脚本来切换到 Flatpak 应用。

如何测试 Unsnap?

看了上面的截图,你可能对它的实现方式有了一个模糊的概念。你也可以参考它的 GitHub 页面 了解最新信息。

作为参考,让我为你强调一下步骤:

1、克隆 GitHub 仓库

请确保你已经 在你的 Linux 发行版上安装了 Git。完成后,你可以输入以下命令:

git clone https://github.com/popey/unsnap

2、切换到该目录

当你克隆了仓库,你的系统上就会有 unsnap 目录。

输入以下命令切换到目录:

cd unsnap

3、运行该工具

在切换到目标目录后,只需使用命令运行 unsnap 工具:

./unsnap

它将检查现有的 Snap 和 Flatpak 软件包等等,进行设置。

正如你在上面的截图中注意到的,它已经检测到我的系统有了 Flatpak 环境,所以它跳过了为这些任务生成脚本。

在这个过程中,它还会了解你系统上安装的 Snap 应用,以便在你运行生成的脚本时找到相应的 Flatpak 应用。

如果你想立即运行所有的脚本,你可以输入:

./unsnap auto

如果你想要不使用自动选项进行控制,你可以发现生成的脚本驻留在一个日志目录内,如下图所示:

下面是你应该遵循的脚本的执行顺序:

  • 00-backup
  • 01-install-flatpak
  • 02-enable-flathub
  • 03-install-flatpaks
  • 04-remove-snaps
  • 99-remove-snapd

在我的例子中,我已经设置了 Flatpak,所以我继续运行备份脚本,然后安装 Flatpak 软件包,如此循环。下面是它看起来的样子:

你应该记住,这个工具正在积极开发中,可能不会像预期那样工作。所以,你如果依赖众多的 Snap 应用,你应该在虚拟机或测试机上试验使用该工具,并等待该工具随着稳定版本的推出而改进。

请在下面的评论中告诉我你对 Unsnap 的看法。


via: https://news.itsfoss.com/unsnap-migrate-snap-to-flatpak/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

pass 是一个经典的 UNIX 式密码管理系统,使用 GnuPG(GPG)作为加密方式,终端是它的主要界面。

 title=

如今,我们每个人都有几十个密码。幸运的是,这些密码大部分几乎都是网站的,你可能通过互联网浏览器访问大部分网站,而许多浏览器都有内置的密码管理器。最流行的互联网浏览器也有一个同步的功能,可以帮助你在各种设备上运行的浏览器之间分发密码,所以当你需要时,绝不会找不到你的登录信息。如果这不能够满足你,还有类似 BitWarden 这样优秀的开源项目也可以托管你加密后的密码,确保只有你自己才能解锁它们。这些方案有助于你轻松维护独特的密码,我使用这些方便系统来管理一些密码。但是我的主密码存储库比以上这些方式简单的多。我主要是使用 pass ,这是一个经典的 UNIX 式密码管理系统,使用 GnuPG(GPG)作为加密方式,终端是它的主要界面。

安装 pass

你可以从你的发行版仓库中安装 pass 命令。

在 Fedora、Mageia 和类似的发行版上,你可以用你的包管理器来安装它:

$ sudo dnf install pass

在 Elementary、Mint 和其它基于 Debian 的发行版上:

$ sudo apt install pass

在 macOS 上,你可以使用 Homebrew 来安装它:

$ brew install pass

设置 GnuPG

在使用 pass 之前,你需要一个有效的 PGP( 良好隐私 Pretty Good Privacy )密钥。如果你已经维护了一个 PGP 密钥,你可以跳过这个步骤,或者你可以选择为使用 pass 而创建一个新的密钥。最常见的开源 PGP 实现是 GnuPG(GPG),它随 Linux 一起提供。对于 macOS,你可以从 gpgtools.org、Homebrew 或者 Macports 安装它。要创建 GnuPG 密码,运行这个命令:

$ gpg --generate-key

你会被提示输入你的名字和电子邮件,并且为密钥创建一个密码。你的密钥是一个数字文件,你的密码只有你自己知道。它俩组合起来能够“加锁”和“解锁”加密信息,比如包含密码的文件。

GPG 密钥更像是一个房门钥匙或者汽车钥匙,如果你失去了它,它“锁起来”的任何东西都会变得无法获得。仅仅知道你的密码是不够的。

如果你已经管理了几个 SSH 密钥,你可能已经习惯了这一点了。如果你对数字加密密钥是个新手,可能得花些时间来适应。备份你的 ~/.gnupg 目录,这样当你下次心血来潮决定尝试一个令人兴奋的新发行版时,你就不会意外地删除它。

做一个备份,并保持备份安全。

设置 pass

要开始使用 pass ,你必须初始化一个 密码仓库 ,它定义为一个储存位置,配置为使用特定加密密钥。你可以通过与密钥相关联的名称或数字指纹来指明要用于密码存储的 GPG 密钥。你自己的名字通常更容易选择:

$ pass init seth
mkdir: created directory '/home/seth/.password-store/'
Password store initialized for seth

如果你忘记了你的名称,你可以使用 gpg 命令查看数字指纹和关联你名称的密钥:

$ gpg --list-keys
gpg --list-keys
/home/seth/.gnupg/pubring.kbx
-----------------------------
pub  ed25519 2022-01-06 [SC] [expires: 2024-01-06]
     2BFF94286461216C907CBA52F067996F13EF10D8
uid  [ultimate] Seth Kenlon <[[email protected]][7]>
sub  cv25519 2022-01-06 [E] [expires: 2024-01-06]

用指纹初始化密码库与用你的名字初始化密码库基本相同:

$ pass init 2BFF94286461216C907CBA52F067996F13EF10D8

存储密码

使用 pass add 命令添加密码到你的密码仓库:

$ pass add [www.example.com][8]
Enter password for [www.example.com][8]:

提示你键入你要添加的密码。

密码现在存储到了你的密码仓库中。你可以自己查看一下:

$ ls /root/.password-store/
www.example.com.gpg

当然,这个文件是不可读的,并且你尝试对它运行 catless 时,在你的终端上会显示乱码(如果扰乱了你的显示,可以使用 reset 命令来恢复你的终端。)

用 pass 编辑密码

我使用不同的用户名称进行不同的上网活动,所以网站的用户名常常和密码同样重要。pass 是有这个功能的,即使它默认状态下并不提示你。你可以使用 pass edit 命令添加用户名到密码文件:

$ pass edit www.example.com

这会打开一个编辑器(一般是你设置为 EDITOR 或者 VISUAL 环境变量 的编辑器) 显示 www.example.com 文件的内容。目前,那仅仅是一个密码,但是你可以添加用户名甚至网址或者你想要添加的任何信息。它是个加密了的文件,所以你可以把你要放的任何东西放到里边。

bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: example.com

保存文件然后关闭。

从 pass 获取密码

要查看密码文件的内容,使用 pass show 命令:

$ pass show www.example.com
bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: www.example.org

查找密码

有时候很难记住一个密码是归入到 www.example.com 还是 example.com,又或者一些类似 app.example.com 的网址。此外,一些网站架构使用不同的 URL 来实现不同的网站功能,所以你可能在 www.example.com 网址下填写过密码,你同时也用相同的登录信息在合作网站 www.example.org 下使用过密码。

如果有疑问,可以使用 grep 命令。pass grep 命令显示整个搜索项目的实例,无论是在文件名中还是在文件内容中:

$ pass grep example
www.example.com:
url: www.example.org

在浏览器中使用 pass

我使用 pass 来获取互联网密码以外的信息,但是网站是我经常需要密码的地方。我常常在电脑上的某个地方打开一个终端,所以我通过 Alt+Tab 键切换到终端用 pass 来获取信息并不麻烦。但是我并不这么做是因为有一些插件可以将 pass 与网页浏览器整合在一起。

pass 托管脚本

首先,安装 pass 托管脚本:

$ curl -sSL github.com/passff/passff-host/release/latest/download/install_host_app.sh

这个脚本放置了一个 Python 脚本,帮助你的浏览器访问你的密码和 GPG 密码。用你所用的浏览器的名字运行它(或者不写参数,查看全部选项):

$ bash ./install_host_app.sh firefox

如果你使用多个浏览器,你可以为每一个浏览器安装它。

pass 附件

一旦你已经安装了这个托管程序,你可以为你的浏览器安装一个附件或者扩展。在你的浏览器附件或者扩展管理器里搜索 PassFF 插件。

 title=

安装了这个附件,然后关闭并重新打开浏览器。

导航到一个你在密码仓库中存有密码的网站。在你的登录文本框右侧会显示一个小小的 “P” 图标。

 title=

点击 “P” 按钮会看到你的密码仓库中与你网站名称匹配的一个列表。

 title=

点击“纸和笔”的图标填写表单,或者通过“纸飞机”的图标填写并自动提交表单。

轻松的密码管理,而且完全整合了!

尝试用 pass 作为你的 Linux 密码管理器

对于那些想用日常使用的工具来管理密码和个人信息的用户来说,pass 命令是一个很好的选择。如果你已经依赖 GPG 和终端,那么你可能会喜欢 pass 系统。对于那些不想让他们的密码被束缚在特定程序上的用户来说,这也是一个重要的选择。可能你并不只使用一个浏览器,或者你不喜欢这种想法,即如果你决定停止使用一个应用程序,可能很难从它那里提取你的密码。使用 pass ,你可以在一个 UNIX 式的直接系统中保持对你的秘密的控制。


via: https://opensource.com/article/22/1/manage-passwords-linux-terminal

作者:Seth Kenlon 选题:lujun9972 译者:hwlife 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Vim 是我最喜爱的编辑器。对于那些默认使用其他编辑器的程序,我对系统所做的这些改变可以使得 Vim 成为它们默认编辑器。

 title=

我使用 Linux 大概有 25 年了,在那之前我还使用了几年的 Unix。在这段时间里,我对一些日常使用的工具形成了偏好。Vim 是我使用的最重要的工具之一。

我在 90 年代初学习 Solaris 时,就开始使用 Vi 了,因为有人告诉我,它在任何系统上都能使用。从我的经验来看,确实是这样。我也试过其他编辑器,它们都能够胜任工作。但是,对于我来说,Vim 的使用效果最好。我经常使用它,以至于形成了肌肉记忆,甚至我在使用其他编辑器时也会下意识地去按 Vim 的快捷键。

另外,我只是单纯地喜欢 Vim 而已。

许多配置文件使用的名字是 Vi 而不是 Vim,你可以运行 vi 命令。不过,vi 命令其实是 vim 命令的一个链接。

许多 Linux 工具使用的编辑器都是在模拟或是直接调用的 NanoEmacs 或者 Vim。其他的一些工具允许用户(比如那些有着明确偏好的用户)使用他们喜欢的编辑器。举两个对我影响最大的例子,一个是 Bash 命令行,它默认使用 Emacs;另一个是 Alpine 文本模式的邮件客户端,它默认使用 Pico。事实上,Pico 是专门为 Pine 邮件客户端编写的,而 Pine 是 Alpine 的前身。

并非所有使用外部编辑器的程序都是可配置的。有些程序只使用开发者指定的编辑器。对于那些可配置的应用程序,有不同的方法来选择你喜欢的编辑器。

在 Linux 命令行中编辑

除了实际编辑文本文件外,另一个我经常使用,且和编辑密切相关的工具是 Bash shell。Bash 的默认编辑器是 Emacs。虽然我也用过 Emacs,但我肯定更喜欢 Vim。所以很多年前,我把 Bash 命令行的默认编辑器从 Emacs 换成了 Vim,这对我来说更舒服。

有很多种方法可以配置 Bash。你可以使用一个本地配置文件,比如 /home/yourhomedirectory/.bashrc,它只对你的用户账户进行默认修改,而不对同一系统的其他用户进行修改。我个人倾向于让这些改变成为全局性的,基本上就是我的个人账户和 root。如果你也想全局配置,你可以创建你自己的配置文件,并把它放在 /etc/profile.d 目录中。

我在 /etc/profile.d 中添加了一个名为 myBashConfig.sh 的文件。/etc/profile.d 目录中存放了所有已安装的 shell 的启动文件。在启动终端会话时,每个 shell 仅会根据文件名的扩展名,读取为其准备的启动文件。例如,Bash shell 只读取扩展名为 .sh 的文件。

<截断>
alias vim='vim -c "colorscheme desert" '
# 把 vi 设置为 Bash 的默认编辑器
set -o vi
# 为所有检查 $EDITOR 变量的程序设置默认编辑器为 vi
EDITOR=vi
<截断>

在这个全局 Bash 配置文件段中,set -o vi 将 Vi 设置为默认编辑器。这个 set 命令中的 -o 选项将 vi 定义为编辑器。为使配置生效,你需要关闭所有正在运行的 Bash 会话,并打开新的会话。

现在,你现在可以使用所有你熟悉的 Vim 命令,包括光标移动。只要按下 Esc 键就可以进入 Vim 编辑模式。我特别喜欢多次使用 b 将光标移回多个字的功能。

将 Vim 设置为其他程序的默认值

一些 Linux 命令行工具和程序会检查 $EDITOR 环境变量来决定使用哪个编辑器。你可以用下面的命令检查这个变量的当前值。我在一个新安装的虚拟机上运行过该命令,以查看默认的编辑器到底是什么。

# echo $EDITOR
/usr/bin/nano
#

默认情况下,检查 $EDITOR 环境变量的 Fedora 程序会使用 Nano 编辑器。在 myBashConfig.sh 中添加一行 EDITOR=vi(如上面的片段所示),可以将默认值改为 Vi(Vim)编辑器。然而,不是所有使用外部编辑器的命令行程序都会检查这个环境变量。

在 Alpine 中编辑电子邮件

几周前,我认为 Pico 不太适合作为我的电子邮件编辑器。我可以使用它,而且在从 Thunderbird 转到 Alpine 之后的一段时间内我也用了一段时间。但我发现,Pico 妨碍了我,我总是习惯使用 Vim 按键序列,这影响了我的工作效率。

我在 Alpine 的用户帮助中看到,默认编辑器是可以修改的。我决定把它改成 Vim。实际上这很容易做到。

在 Alpine 主菜单上,按 S 键进入设置,然后按 C 键进行配置。在 “ 编辑器设置 Composer Preferences ” 部分,按 X 选择 “ 启用外部编辑器命令 Enable Alternate Editor Command ” 和 “ 隐式启用外部编辑器 Enable Alternate Editor Implicitly ” 项目。在往下滚动几页的 “ 高级用户设置 Advanced User Preferences ” 部分,找到 `Editor 那一行。如果它还没有被修改的话,它应该是这样的:

Editor    = <No Value Set>

用光标栏突出显示 Editor 这一行,然后按回车键来编辑。将 <No Value Set> 改为 vim,再按回车键,然后按 E 键退出,最后按 Y 键保存修改。

要用 Vim 编辑电子邮件,只需进入电子邮件正文,Vim 就会自动启动,就像 Pico 那样。所有我喜欢的编辑功能都还在,因为它实际上是在使用 Vim。甚至退出 Vim 的 Esc :wq 序列也是一样的。

总结

与其他编辑器相比,我更喜欢 Vim,对我的系统进行的这些改动后,那些默认使用其他编辑器的应用程序,将使用 Vim 来替代它们的默认编辑器。有些程序使用 $EDITOR 环境变量,因此你只需要做一次修改就够了。其他有用户配置选项的程序,如 Alpine,则必须为每个程序单独设置。

这种可以选择你喜欢的外部编辑器的能力,非常符合 Unix 哲学的宗旨:“每个程序都只做一件事,而且要做得出色”。既然已经有几个优秀的编辑器,为什么还要再写一个呢?而且它也符合 Linux 哲学的宗旨:“使用你最喜欢的编辑器”。

当然,你可以把你的默认文本编辑器改为 Nano、Pico、Emacs 或任何其他你喜欢的编辑器。


via: https://opensource.com/article/22/2/configure-vim-default-editor

作者:David Both 选题:lujun9972 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在你的网络路由器上使用 OpenWRT 获得更多控制功能。

 title=

树莓派是一种小型单板电脑,尽管只有信用卡大小,但是能做许多事情。实际上,这个小电脑几乎可以成为你想让它成为的任何东西,只要你打开想象力。

树莓派爱好者已经做了许多不同的项目,从简单的程序到复杂的自动化项目和解决方案,如气象站,甚至智能家居设备。这篇文章将展示怎样使用 OpenWRT 项目将你的树莓派变成带有 LTE 移动网络连接功能的路由器。

关于 OpenWRT 和 LTE

OpenWRT 是一个利用 Linux 内核为嵌入式设备开发的开源项目,它已经存在超过 15 年了,拥有一个庞大而活跃的社区。

有许多使用 OpenWRT 的方法,但是它的主要目的还是用在路由器上。它提供了包管理功能和一个完全可写的文件系统,并且因为它的的开源属性,你可以查看和修改代码,并贡献到开源生态。如果你想对你的路由器获得更多的控制,这就是你想要的系统。

长期演进技术 Long-term evolution (LTE)是一个基于 GSM/EGDE 和 UMTS/HSPA 技术的无线宽带通信标准。我使用的 LTE 调制解调器是一个 USB 设备,可以为树莓派电脑增加 3G 或 4G(LTE)蜂窝连接。

 title=

安装前的准备

对这个项目来说,你需要:

  • 一个带有电源线的树莓派
  • 一台运行 Linux 的电脑
  • 一张至少 16GB 的 SD 储存卡
  • 以太网线
  • LTE 调制解调器(我使用的是 Teltonika TRM240
  • 一张移动网络的 SIM 卡

安装 OpenWRT

首先,下载最新的 兼容树莓派的 OpenWRT 的发布版本。在 OpenWRT 官网,你可以看到 4 个镜像:两个 ext4 文件系统的和两个 squashfs 文件系统的。我使用 ext4 文件系统。你可以下载 factory 或者 sysupgrade 镜像,这两个都运行良好。

 title=

下载了镜像后,你按照 以下的说明 需要解压并安装它到 SD 卡上。这将会花些时间安装固件,需要些耐心。一旦安装完成,在你的 SD 卡上将会有两个分区。一个是用来放 bootloader ,另一个是 OpenWRT 系统。

启动系统

要启动你的新系统,插入 SD 卡到树莓派,用以太网线把树莓派和你的路由器(或者交换机)相连,然后点亮。

如果你有使用树莓派的经验,你可能习惯于通过终端使用 SSH 访问过它,或者通过显示器和键盘连接到树莓派。OpenWRT 工作有一点点不同。你与这个系统交互是通过网页浏览器,所以你必须能够通过网络来访问你的树莓派。

缺省状态下,树莓派使用的 IP 地址是:192.168.1.1。用来配置树莓派的计算机必须和树莓派在同一个子网中。如果你的网络没有使用 192.168.1.x 地址,或者你不能确定,在 GNOME 打开 “ 设置 Settings ” ,导航到网络设置,选择 “ 手动 Manual ” ,然后键入以下的 IP 地址和子网掩码:

  • IP 地址:192.168.1.15
  • 网络掩码:255.255.255.0

 title=

在你的电脑上打开浏览器然后导航到 192.168.1.1 。这将打开一个验证网页,你可以登录到你的树莓派。

 title=

首次登录不需要密码,所以直接点击 “ 登录 Login ” 按钮继续。

设置网络连接

树莓派只有一个以太网口,而普通路由器有两个:一个是 WAN(有线区域网络)口,另一个是 LAN (本地区域网络)。

你有两个选择:

  1. 使用你的以太网口接入互联网
  2. 使用 WIFI 接入互联网

使用以太网连接

你决定使用以太网,导航到 “ 网络 Network 接口 Interfaces ”。在这个设置页面,按下与 “LAN” 接口对应的蓝色 “ 编辑 Edit ” 按钮。

 title=

应该会出现一个弹窗,在这个窗口中,你需要键入与你将要连接树莓派的路由器子网匹配的 IP 地址。如果需要的话,修改子网掩码,并输入树莓派将要连接的路由器的 IP 地址。

 title=

保存设置,然后通过以太网将你的树莓派连接到路由器。你现在可以用这个新的 IP 地址访问树莓派。

当你在把树莓派投入生产环境使用之前,确保为你的 OpenWRT 设置一个密码!

使用 WiFi 连接

如果你想通过 WiFi 将树莓派连接到互联网,导航到 “ 网络 Network 无线 Wireless ” 。在 “ 无线 Wireless ” 菜单里,按下蓝色的 “ 扫描 Scan ” 按钮查找你的家庭网络。

 title=

在弹出的窗口中,找到你的 WiFi 网络然后连接它。不要忘记 “ 保存并应用 Save and Apply ” 设置。

在这 “ 网络 Network 接口 Interfaces ” 部分,你应该看到了一个新的接口。

 title=

当你在把树莓派投入生产环境使用之前,确保为你的 OpenWRT 设置一个密码!

安装必要的软件包

默认状态下,路由器并没有安装许多软件包。OpenWRT 提供了一个包管理器,带有一系列你需要安装的。导航到 “ 系统 System 软件 Software ” 然后通过按下标有 “ 更新列表… Update lists... ” 的按钮来更新你的包管理器。

 title=

你将会看到许多软件包;你需要安装以下这些:

  • usb-modeswitch
  • kmod-mii
  • kmod-usb-net
  • kmod-usb-wdm
  • kmod-usb-serial
  • kmod-usb-serial-option
  • kmod-usb-serial-wwan(如果没有安装的话)

另外,下载这个调制解调器管理软件包,然后在弹出的窗口中按下标有 “ 上传软件包… Upload Package... ” 的按钮来安装它。重启树莓派让安装包生效。

设置移动网络接口

所有这些软件包被安装完之后,你可以设置移动网络接口。在连接调制解调器到树莓派之前,请阅读 调制解调器的说明书,对其进行设置。然后连接你的移动调制解调器到树莓派,然后等待一会直到调制解调器启动。

导航到 “ 网络 Network 接口 Interfaces ”。在页面底部,按下 “ 添加一个新接口… Add new interface... ” 按钮。在弹出的窗口中,给你的接口起一个名字(比如 “mobile”),然后从下拉列表中选择 “ModemManager” 。

 title=

按下一个标有 “ 创建接口 Create Interface ” 的按钮。你应该看到一个新的弹出窗口。这是设置接口的一个主窗口。在这个窗口中,选择你的调制解调器,然后键入像 接入点名称 Access Point Name (APN)或是 PIN 码之类的信息。

 title=

注意: 如果在列表中没有调制解调器设备出现,尝试重启树莓派或者安装 kmod-usb-net-qmi-wwan 软件包 。

当你已经配置完你的接口,按下 “ 保存 Save ” 然后 “ 保存并应用 Save and Apply ”。给系统一些生效的时间。如果一切正常,你应该看到像这样的一些东西。

 title=

如果你想通过接口查看你的网络连接,你可以使用 SSH 连接到你的树莓派 shell。在终端里,键入:

ssh [email protected]

缺省 IP 地址是 192.168.1.1:如果你修改了它,就用修改后的 IP 地址连接。当连接后,在终端里执行命令:

ping -I ppp0 google.com

如果一切正常运行,那么你应该从 Google 的服务器接收到 ping 回包 。

 title=

ppp0 是你创建的移动网络接口的默认接口名称。你可以通过使用 ifconfig 命令检查你的接口。它只显示活动的接口。

设置防火墙

要让移动网接口运行,你需要为移动网络接口和本地网络接口配置防火墙,以便引导流量到正确的接口。

导航到 “ 网络 Network 防火墙 Firewall ”。在页面的底部,你应该看到一个叫做 “ 区域 Zones ” 的部分。

 title=

设置防火墙最简单的方法就是调整 “wan” 区域。在 “ 已覆盖的网络 Covered networks ” 选项里按下 “ 编辑 Edit ” 按钮,选择你的移动网络接口,然后 “ 保存并应用 Save and Apply ” 你的设置。如果你不想用 WiFi 连接你的树莓派,你可以从 “ 已覆盖的网络 Covered networks ” 里删除 “wwan” 接口,或者关闭 WiFi 连接。

 title=

如果你想为每个接口设置一个独立区域,只需创建一个新区域然后分配必要的接口即可。举个例子,你可能想有一个覆盖移动网络接口的区域,并且通过它来转发 LAN 接口流量。按下 “ 添加 Name ” 按钮,然后给你的区域 “ 命名 Name ”, 检查 “伪装” 复选框,选中 “ 已覆盖的网络 Covered networks ” ,并选择哪些区域可以转发其流量。

 title=

然后 “ 保存并应用 Save and Apply ” 这些修改。现在你有一个新的区域。

设置一个接入点

最后一步是为你的设备接入互联网设置一个网络接入点。要设置一个接入点,导航到 “ 网络 Network 无线 Wireless ” 。你将会看到一个 WiFi 设备接口,一个名为 OpenWRT 的禁用的接入点,以及一个用于通过 WiFi 连接互联网的连接(如果你之前没有禁用或删除它)。在这个禁用的接口上,按下 “ 编辑 Edit ” 按钮,然后 “ 启用 Enable ” 该接口。

 title=

如果你想,你可以通过编辑 “ESSID” 选项来修改接口名称。你也可以选择它要关联的网络。默认情况下,它会与 LAN 接口关联。

 title=

要为这个接口添加密码,选择 “ 无线安全 Wireless Security ” 选项,选择 “WPA2-PSK” 加密方式然后在 “ 密钥 Key ” 选项字段键入接口的密码。

 title=

然后 “ 保存并应用 Save and Apply ” 设置。如果设置正确的话,当用你的设备扫描可用接入点的话,你应该可以看到你分配了名称的新接入点。

额外的软件包

如果你愿意,你可以通过网页界面为你的路由器下载额外的软件包。只需到 “ 系统 System 软件 Software ” 然后安装你想从列表或者互联网上下载的软件包并上传它。如果你在列表中没有看到任何软件包,请按下 “ 更新列表… Update lists... ” 按钮。

你也可以添加其他拥有适合与 OpenWRT 一起使用的软件包的仓库。软件包和它们的网页界面是分开安装的。软件包名称是以 “luci-” 开始的是网也界面软件包。

 title=

试试看

这就是我的树莓派路由设置的过程。

 title=

从树莓派建立一个路由器不是很困难。缺点是树莓派只有一个以太网接口。你可以用一个 USB-to-Ethernet 适配器来增加更多的网口。不要忘记在接口的网站上设置网口。

OpenWRT 支持大量的移动调制解调器,你可以用管理调制解调器的通用工具 modemmanager 为它们设置移动网络接口。

你有没有把你的树莓派当作路由器使用?请在评论中告诉我们情况。


via: https://opensource.com/article/21/3/router-raspberry-pi

作者:Lukas Janėnas 选题:lujun9972 译者:hwlife 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

GNOME 42 的主要 功能 之一就是提供了深色和浅色模式的双主题壁纸。

GNOME 42 中的深色和浅色壁纸

基本上,有了这个功能,当你切换到浅色模式时,系统就会使用浅色版本的壁纸。而当你 在 GNOME 中切换到深色模式时,壁纸就会切换成深色的版本。

下面是一个双主题壁纸的例子,你可以比较一下:

GNOME 中的深色和浅色双主题壁纸:浅色

GNOME 中的深色和浅色双主题壁纸:深色

这种双主题壁纸可在“ 设置 Settings > 外观 Appearance ”的“ 背景 Background ”部分中启用。

然而,在某些情况下,设置中可能没有双主题壁纸,你可能会看到一个空的“背景”部分,像下面这样:

没有双主题壁纸

这是我的同事 Sreenath 在更新他的 Endeavour OS 系统、得到新的 GNOME 42 桌面时注意到的情况。

在 GNOME 42 中启用深色和浅色双主题壁纸

如果你也在 GNOME 42 中面临同样的情况,我这里有一个快速而简单的解决方案。你只需要使用软件包管理器,安装 gnome-backgrounds 软件包,问题就会得到解决。

首先,请 检查桌面环境细节,确保你正在运行 GNOME 42。你可以在系统设置的“ 关于 About ”部分查看你的桌面版本。

当你确定你的系统安装了 GNOME 42,请继续执行剩下的步骤。

对于 基于 Arch 的发行版,请使用 pacman 命令,如下:

sudo pacman -S gnome-backgrounds

等待命令执行完毕。

你不需要重新启动,甚至不需要注销。改动将立即生效。

你只需进入“ 设置 Settings > 外观 Appearance ”,然后选择“ 背景 Background ”部分,应该就会看到各种具有双重模式的壁纸。

选择其中的一对,它就会根据你的系统主题来设置图像。

GNOME 中的深色和浅色壁纸

太好了。但你只能得到 GNOME 团队或者发行版的开发者提供的少数双主题壁纸。如果你想拥有一套自己的深色和浅色模式的壁纸呢?那么,你可以自己制作壁纸,只是需要一点调整和耐心。

制作你自己的双主题壁纸(针对高级用户)

我假设你知道自己在干什么,你可以搜索下面的步骤,以在深色和浅色双主题壁纸中添加额外的壁纸时:

  • 下载两张图片
  • 把浅色壁纸重命名为 image-l.jpg,把深色壁纸重命名为 image-d.jpg
  • 如果你想让新壁纸对所有用户可用,请在 /usr/share 目录下新建一个 gnome-background-properties 目录。否则,如果你只想自己使用,请在 .local/share 中新建这个目录
  • 将这段 GNOME 官方 GitLab 仓库中的代码 拷贝到文本编辑器中,并在 <filename> 标签中分别修改相应的浅色或深色图片的位置
  • 将其保存在你之前创建的 gnome-background-properties 目录下
  • 现在可以在系统设置里修改背景壁纸了

需要更多帮助吗?WOGUE 有一个很好的视频,里面展示了这些步骤的操作。

我希望你喜欢这个快速小技巧。祝你体验愉快!


via: https://itsfoss.com/dark-light-wallpaper-gnome/

作者:Abhishek Prakash 选题:lujun9972 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出