分类 分享 下的文章

Linux 操作系统非常适合进行独特的自定义和调整,以使你的计算机更好地为你工作。例如,i3 窗口管理器 就让用户认识到了构成现代 Linux 桌面的各种组件和部分。

Fedora 上有两个音乐爱好者会感兴趣的新软件包:mpris-scrobbler 和 playerctl。mpris-scrobbler 可以在 Last.fm 和/或 ListenBrainz 等音乐跟踪服务上跟踪你的音乐收听历史。 playerctl 是一个命令行的音乐播放器的控制器

mpris-scrobbler:记录你的音乐收听趋势

mpris-scrobbler 是一个命令行应用程序,用于将音乐的播放历史记录提交给 Last.fmLibre.fmListenBrainz 等服务。它监听 MPRIS D-Bus 接口 以检测正在播放的内容。它可以连接几个不同的音乐客户端,如 spotify 客户端、vlc、audacious、bmp、cmus 等。

Last.fm last week in music report. Generated from user-submitted listening history.

安装和配置 mpris-scrobbler

mpris-scrobbler 在 Fedora 28 或更高版本以及 EPEL 7 存储库中可用。在终端中运行以下命令进行安装:

sudo dnf install mpris-scrobbler

安装完成后,使用 systemctl 启动并启用该服务。以下命令启动 mpris-scrobbler 并始终在系统重启后启动它:

systemctl --user enable --now mpris-scrobbler.service

提交播放信息给 ListenBrainz

这里将介绍如何将 mpris-scrobbler 与 ListenBrainz 帐户相关联。要使用 Last.fm 或 Libre.fm,请参阅其上游文档

要将播放信息提交到 ListenBrainz 服务器,你需要有一个 ListenBrainz API 令牌。如果你有帐户,请从个人资料设置页面中获取该令牌。如果有了令牌,请运行此命令以使用 ListenBrainz API 令牌进行身份验证:

$ mpris-scrobbler-signon token listenbrainz
Token for listenbrainz.org:

最后,通过在 Fedora 上用你的音乐客户端播放一首歌来测试它。你播放的歌曲会出现在 ListenBrainz 个人资料页中。

Basic statistics and play history from a user profile on ListenBrainz. The current track is playing on a Fedora Workstation laptop with mpris-scrobbler.

playerctl 可以控制音乐回放

playerctl 是一个命令行工具,它可以控制任何实现了 MPRIS D-Bus 接口的音乐播放器。你可以轻松地将其绑定到键盘快捷键或媒体热键上。以下是如何在命令行中安装、使用它,以及为 i3 窗口管理器创建键绑定的方法。

安装和使用 playerctl

playerctl 在 Fedora 28 或更高版本中可用。在终端运行如下命令以安装:

sudo dnf install playerctl

现在已安装好,你可以立即使用它。在 Fedora 上打开你的音乐播放器。接下来,尝试用以下命令来控制终端的播放。

播放或暂停当前播放的曲目:

playerctl play-pause

如果你想跳过下一首曲目:

playerctl next

列出所有正在运行的播放器:

playerctl -l

仅使用 spotify 客户端播放或暂停当前播放的内容:

playerctl -p spotify play-pause

在 i3wm 中创建 playerctl 键绑定

你是否使用窗口管理器,比如 i3 窗口管理器?尝试使用 playerctl 进行键绑定。你可以将不同的命令绑定到不同的快捷键,例如键盘上的播放/暂停按钮。参照下面的 i3wm 配置摘录 看看如何做:

# Media player controls
bindsym XF86AudioPlay exec "playerctl play-pause"
bindsym XF86AudioNext exec "playerctl next"
bindsym XF86AudioPrev exec "playerctl previous"

体验一下音乐播放器

想了解关于在 Fedora 上定制音乐聆听体验的更多信息吗?Fedora Magazine 为你提供服务。看看 Fedora 上这五个很酷的音乐播放器

也可以通过使用 MusicBrainz Picard 对音乐库进行排序和组织,为你的混乱的音乐库带来秩序


via: https://fedoramagazine.org/2-new-apps-for-music-tweakers-on-fedora-workstation/

作者:Justin W. Flory 选题:lujun9972 译者:wxy 校对:wxy

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

了解一下 DomTerm,这是一款终端模拟器和复用器,带有 HTML 图形和其它不多见的功能。

DomTerm 是一款现代化的终端模拟器,它使用浏览器引擎作为 “GUI 工具包”。这就支持了一些相关的特性,例如可嵌入图像和链接、HTML 富文本以及可折叠(显示/隐藏)命令。除此以外,它看起来感觉就像一个功能完整、独立的终端模拟器,有着出色 xterm 兼容性(包括鼠标处理和 24 位色)和恰当的 “装饰” (菜单)。另外它内置支持了会话管理和副窗口(如同 tmuxGNU Screen 中一样)、基本输入编辑(如在 readline 中)以及分页(如在 less 中)。

图 1: DomTerminal 终端模拟器。

在以下部分我们将看一看这些特性。我们将假设你已经安装好了 domterm (如果你需要获取并构建 Dormterm 请跳到本文最后)。开始之前先让我们概览一下这项技术。

前端 vs. 后端

DomTerm 大部分是用 JavaScript 写的,它运行在一个浏览器引擎中。它可以是像例如 Chrome 或者 Firefox 一样的桌面浏览器(见图 3),也可以是一个内嵌的浏览器。使用一个通用的网页浏览器没有问题,但是用户体验却不够好(因为菜单是为通用的网页浏览而不是为了终端模拟器所打造),并且其安全模型也会妨碍使用。因此使用内嵌的浏览器更好一些。

目前以下这些是支持的:

  • qdomterm,使用了 Qt 工具包 和 QtWebEngine
  • 一个内嵌的 Electron(见图 1)
  • atom-domterm 以 Atom 文本编辑器(同样基于 Electron)包的形式运行 DomTerm,并和 Atom 面板系统集成在一起(见图 2)
  • 一个为 JavaFX 的 WebEngine 包装器,这对 Java 编程十分有用(见图 4)
  • 之前前端使用 Firefox-XUL 作为首选,但是 Mozilla 已经终止了 XUL

 title=

图 2:在 Atom 编辑器中的 DomTerm 终端面板。

目前,Electron 前端可能是最佳选择,紧随其后的是 Qt 前端。如果你使用 Atom,atom-domterm 也工作得相当不错。

后端服务器是用 C 写的。它管理着伪终端(PTY)和会话。它同样也是一个为前端提供 Javascript 和其它文件的 HTTP 服务器。domterm 命令启动终端任务和执行其它请求。如果没有服务器在运行,domterm 就会自己来服务。后端与服务器之间的通讯通常是用 WebSockets(在服务器端是libwebsockets)完成的。然而,JavaFX 的嵌入既不用 Websockets 也不用 DomTerm 服务器。相反 Java 应用直接通过 Java-Javascript 桥接进行通讯。

一个稳健的可兼容 xterm 的终端模拟器

DomTerm 看上去感觉像一个现代的终端模拟器。它处理鼠标事件、24 位色、Unicode、倍宽字符(CJK)以及输入方式。DomTerm 在 vttest 测试套件 上工作地十分出色。

其不同寻常的特性包括:

展示/隐藏按钮(“折叠”): 小三角(如上图 2)是隐藏/展示相应输出的按钮。仅需在提示符中添加特定的转义字符就可以创建按钮。

对于 readline 和类似输入编辑器的鼠标点击支持: 如果你点击输入区域(黄色),DomTerm 会向应用发送正确的方向键按键序列。(可以通过提示符中的转义字符启用这一特性,你也可以通过 Alt+点击 强制使用。)

用 CSS 样式化终端: 这通常是在 ~/.domterm/settings.ini 里完成的,保存时会自动重载。例如在图 2 中,设置了终端专用的背景色。

一个更好的 REPL 控制台

一个经典的终端模拟器基于长方形的字符单元格工作的。这在 REPL(命令行)上没问题,但是并不理想。这里有些通常在终端模拟器中不常见的 REPL 很有用的 DomTerm 特性:

一个能“打印”图片、图形、数学公式或者一组可点击的链接的命令: 应用可以发送包含几乎任何 HTML 的转义字符。(HTML 会被剔除部分,以移除 JavaScript 和其它危险特性。)

图 3 显示了来自 gnuplot 会话的一个片段。Gnuplot(2.1 或者跟高版本)支持 DormTerm 作为终端类型。图形输出被转换成 SVG 图片,然后被打印到终端。我的博客帖子在 DormTerm 上的 Gnuplot 展示在这方面提供了更多信息。

图 3:Gnuplot 截图。

Kawa 语言有一个创建并转换几何图像值的库。如果你将这样的图片值打印到 DomTerm 终端,图片就会被转换成 SVG 形式并嵌入进输出中。

图 4:Kawa 中可计算的几何形状。

富文本输出: 有着 HTML 样式的帮助信息更加便于阅读,看上去也更漂亮。图片 1 的下面面板展示 dormterm help 的输出。(如果没在 DomTerm 下运行的话输出的是普通文本。)注意自带的分页器中的 PAUSED 消息。

包括可点击链接的错误消息: DomTerm 可以识别语法 filename:line:column 并将其转化成一个能在可定制文本编辑器中打开文件并定位到行的链接。(这适用于相对路径的文件名,如果你用 PROMPT_COMMAND 或类似的跟踪目录。)

编译器可以侦测到它在 DomTerm 下运行,并直接用转义字符发出文件链接。这比依赖 DomTerm 的样式匹配要稳健得多,因为它可以处理空格和其他字符并且无需依赖目录追踪。在图 4 中,你可以看到来自 Kawa Compiler 的错误消息。悬停在文件位置上会使其出现下划线,file: URL 出现在 atom-domterm 消息栏(窗口底部)中。(当不用 atom-domterm 时,这样的消息会在一个浮层的框中显示,如图 1 中所看到的 PAUSED 消息所示。)

点击链接时的动作是可以配置的。默认对于带有 #position 后缀的 file: 链接的动作是在文本编辑器中打开那个文件。

结构化内部表示:以下内容均以内部节点结构表示:命令、提示符、输入行、正常和错误输出、标签,如果“另存为 HTML”,则保留结构。HTML 文件与 XML 兼容,因此你可以使用 XML 工具搜索或转换输出。命令 domterm view-saved 会以一种启用命令折叠(显示/隐藏按钮处于活动状态)和重新调整窗口大小的方式打开保存的 HTML 文件。

内建的 Lisp 样式优美打印: 你可以在输出中包括优美打印指令(比如,grouping),这样断行会根据窗口大小调整而重新计算。查看我的文章 DomTerm 中的动态优美打印以更深入探讨。

基本的内建行编辑,带着历史记录(像 GNU readline 一样): 这使用浏览器自带的编辑器,因此它有着优秀的鼠标和选择处理机制。你可以在正常字符模式(大多数输入的字符被指接送向进程);或者行模式(通常的字符是直接插入的,而控制字符导致编辑操作,回车键会向进程发送被编辑行)之间转换。默认的是自动模式,根据 PTY 是在原始模式还是终端模式中,DomTerm 在字符模式与行模式间转换。

自带的分页器(类似简化版的 less):键盘快捷键控制滚动。在“页模式”中,输出在每个新的屏幕(或者单独的行,如果你想一行行地向前移)后暂停;页模式对于用户输入简单智能,因此(如果你想的话)你无需阻碍交互式程序就可以运行它。

多路复用和会话

标签和平铺: 你不仅可以创建多个终端标签,也可以平铺它们。你可以要么使用鼠标或键盘快捷键来创建或者切换面板和标签。它们可以用鼠标重新排列并调整大小。这是通过 GoldenLayout JavaScript 库实现的。图 1 展示了一个有着两个面板的窗口。上面的有两个标签,一个运行 Midnight Commander;底下的面板以 HTML 形式展示了 dormterm help 输出。然而相反在 Atom 中我们使用其自带的可拖拽的面板和标签。你可以在图 2 中看到这个。

分离或重接会话:tmux 和 GNU screen 类似,DomTerm 支持会话安排。你甚至可以给同样的会话接上多个窗口或面板。这支持多用户会话分享和远程链接。(为了安全,同一个服务器的所有会话都需要能够读取 Unix 域接口和一个包含随机密钥的本地文件。当我们有了良好、安全的远程链接,这个限制将会有所放松。)

domterm 命令 类似与 tmux 和 GNU screen,它有多个选项可以用于控制或者打开单个或多个会话的服务器。主要的差别在于,如果它没在 DomTerm 下运行,dormterm 命令会创建一个新的顶层窗口,而不是在现有的终端中运行。

tmuxgit 类似,dormterm 命令有许多子命令。一些子命令创建窗口或者会话。另一些(例如“打印”一张图片)仅在现有的 DormTerm 会话下起作用。

命令 domterm browse 打开一个窗口或者面板以浏览一个指定的 URL,例如浏览文档的时候。

获取并安装 DomTerm

DomTerm 可以从其 Github 仓库获取。目前没有提前构建好的包,但是有详细指导。所有的前提条件在 Fedora 27 上都有,这使得其特别容易被搭建。


via: https://opensource.com/article/18/1/introduction-domterm-terminal-emulator

作者:Per Bothner 译者:tomjlw 校对:wxy

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

COPR 是个人软件仓库集合,它不在 Fedora 中。这是因为某些软件不符合轻松打包的标准。或者它可能不符合其他 Fedora 标准,尽管它是自由而开源的。COPR 可以在 Fedora 套件之外提供这些项目。COPR 中的软件不受 Fedora 基础设施的支持,或者是由项目自己背书的。但是,这是一种尝试新的或实验性的软件的一种巧妙的方式。

这是 COPR 中一组新的有趣项目。

Joplin

Joplin 是一个笔记和待办事项应用。笔记以 Markdown 格式编写,并通过使用标签和将它们分类到各种笔记本中进行组织。Joplin 可以从任何 Markdown 源导入笔记或从 Evernote 导出笔记。除了桌面应用之外,还有一个 Android 版本,通过使用 Nextcloud、Dropbox 或其他云服务同步笔记。最后,它还有 Chrome 和 Firefox 的浏览器扩展程序,用于保存网页和屏幕截图。

安装说明

COPR 仓库目前为 Fedora 29 和 30 以及 EPEL 7 提供 Joplin。要安装 Joplin,请带上 sudo 使用这些命令:

sudo dnf copr enable taw/joplin
sudo dnf install joplin

Fzy

Fzy 是用于模糊字符串搜索的命令行程序。它从标准输入读取并根据最有可能的搜索结果进行排序,然后打印所选行。除了命令行,fzy 也可以在 vim 中使用。你可以在这个在线 demo 中尝试 fzy

安装说明

COPR 仓库目前为 Fedora 29、30 和 Rawhide 以及其他发行版提供了 fzy。要安装 fzy,请使用以下命令:

sudo dnf copr enable lehrenfried/fzy
sudo dnf install fzy

Fondo

Fondo 是一个浏览 unsplash.com 网站照片的程序。它有一个简单的界面,允许你一次查找某个主题或所有主题的图片。然后,你可以通过单击将找到的图片设置为壁纸,或者共享它。

安装说明

COPR 仓库目前为 Fedora 29、30 和 Rawhide 提供 Fondo。要安装 Fondo,请使用以下命令:

sudo dnf copr enable atim/fondo
sudo dnf install fondo

YACReader

YACReader 是一款数字漫画阅读器,它支持许多漫画和图像格式,例如 cbz、cbr、pdf 等。YACReader 会跟踪阅读进度,并可以从 Comic Vine 下载漫画信息。它还有一个 YACReader 库,用于组织和浏览你的漫画集。

安装说明

COPR 仓库目前为 Fedora 29、30 和 Rawhide 提供 YACReader。要安装 YACReader,请使用以下命令:

sudo dnf copr enable atim/yacreader
sudo dnf install yacreader

via: https://fedoramagazine.org/4-cool-new-projects-to-try-in-copr-for-april-2019/

作者:Dominik Turecek 选题:lujun9972 译者:geekpi 校对:wxy

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

监控网络活动既重要又繁琐,以下这些工具可以使它更容易。

监控网络活动是一项繁琐的工作,但有充分的理由这样做。例如,它允许你查找和调查工作站和连接到网络的设备及服务器上的可疑登录,同时确定管理员滥用了什么。你还可以跟踪软件安装和数据传输,以实时识别潜在问题,而不是在损坏发生后才进行跟踪。

这些日志还有助于使你的公司遵守适用于在欧盟范围内运营的任何实体的通用数据保护条例(GDPR)。如果你的网站在欧盟可以浏览,那么你就有遵守的该条例的资格。

日志记录,包括跟踪和分析,应该是任何监控基础设置中的一个基本过程。要从灾难中恢复 SQL Server 数据库,需要事务日志文件。此外,通过跟踪日志文件,DevOps 团队和数据库管理员(DBA)可以保持最佳的数据库性能,又或者,在网络攻击的情况下找到未经授权活动的证据。因此,定期监视和分析系统日志非常重要。这是一种重新创建导致出现任何问题的事件链的可靠方式。

现在有很多开源日志跟踪器和分析工具可供使用,这使得为活动日志选择合适的资源比你想象的更容易。自由和开源软件社区提供的日志设计适用于各种站点和操作系统。以下是五个我用过的最好的工具,它们并没有特别的顺序。

Graylog

Graylog 于 2011 年在德国创立,现在作为开源工具或商业解决方案提供。它被设计成一个集中式日志管理系统,接受来自不同服务器或端点的数据流,并允许你快速浏览或分析该信息。

 title=

Graylog 在系统管理员中有着良好的声誉,因为它易于扩展。大多数 Web 项目都是从小规模开始的,但它们可能指数级增长。Graylog 可以均衡后端服务网络中的负载,每天可以处理几 TB 的日志数据。

IT 管理员会发现 Graylog 的前端界面易于使用,而且功能强大。Graylog 是围绕仪表板的概念构建的,它允许你选择你认为最有价值的指标或数据源,并快速查看一段时间内的趋势。

当发生安全或性能事件时,IT 管理员希望能够尽可能地根据症状追根溯源。Graylog 的搜索功能使这变得容易。它有内置的容错功能,可运行多线程搜索,因此你可以同时分析多个潜在的威胁。

Nagios

Nagios 始于 1999 年,最初是由一个开发人员开发的,现在已经发展成为管理日志数据最可靠的开源工具之一。当前版本的 Nagios 可以与运行 Microsoft Windows、Linux 或 Unix 的服务器集成。

 title=

它的主要产品是日志服务器,旨在简化数据收集并使系统管理员更容易访问信息。Nagios 日志服务器引擎将实时捕获数据,并将其提供给一个强大的搜索工具。通过内置的设置向导,可以轻松地与新端点或应用程序集成。

Nagios 最常用于需要监控其本地网络安全性的组织。它可以审核一系列与网络相关的事件,并帮助自动分发警报。如果满足特定条件,甚至可以将 Nagios 配置为运行预定义的脚本,从而允许你在人员介入之前解决问题。

作为网络审计的一部分,Nagios 将根据日志数据来源的地理位置过滤日志数据。这意味着你可以使用地图技术构建全面的仪表板,以了解 Web 流量是如何流动的。

Elastic Stack (ELK Stack)

Elastic Stack,通常称为 ELK Stack,是需要筛选大量数据并理解其日志系统的组织中最受欢迎的开源工具之一(这也是我个人的最爱)。

 title=

它的主要产品由三个独立的产品组成:Elasticsearch、Kibana 和 Logstash:

  • 顾名思义, Elasticsearch 旨在帮助用户使用多种查询语言和类型在数据集之中找到匹配项。速度是它最大的优势。它可以扩展成由数百个服务器节点组成的集群,轻松处理 PB 级的数据。
  • Kibana 是一个可视化工具,与 Elasticsearch 一起工作,允许用户分析他们的数据并构建强大的报告。当你第一次在服务器集群上安装 Kibana 引擎时,你会看到一个显示着统计数据、图表甚至是动画的界面。
  • ELK Stack 的最后一部分是 Logstash,它作为一个纯粹的服务端管道进入 Elasticsearch 数据库。你可以将 Logstash 与各种编程语言和 API 集成,这样你的网站和移动应用程序中的信息就可以直接提供给强大的 Elastic Stalk 搜索引擎中。

ELK Stack 的一个独特功能是,它允许你监视构建在 WordPress 开源网站上的应用程序。与跟踪管理日志和 PHP 日志的大多数开箱即用的安全审计日志工具相比,ELK Stack 可以筛选 Web 服务器和数据库日志。

糟糕的日志跟踪和数据库管理是导致网站性能不佳的最常见原因之一。没有定期检查、优化和清空数据库日志,不仅会降低站点的运行速度,还可能导致其完全崩溃。因此,ELK Stack 对于每个 WordPress 开发人员的工具包来说都是一个优秀的工具。

LOGalyze

LOGalyze 是一个位于匈牙利的组织,它为系统管理员和安全专家构建开源工具,以帮助他们管理服务器日志,并将其转换为有用的数据点。其主要产品可供个人或商业用户免费下载。

 title=

LOGalyze 被设计成一个巨大的管道,其中多个服务器、应用程序和网络设备可以使用简单对象访问协议(SOAP)方法提供信息。它提供了一个前端界面,管理员可以登录界面来监控数据集并开始分析数据。

在 LOGalyze 的 Web 界面中,你可以运行动态报告,并将其导出到 Excel 文件、PDF 文件或其他格式。这些报告可以基于 LOGalyze 后端管理的多维统计信息。它甚至可以跨服务器或应用程序组合数据字段,借此来帮助你发现性能趋势。

LOGalyze 旨在不到一个小时内完成安装和配置。它具有预先构建的功能,允许它以法律所要求的格式收集审计数据。例如,LOGalyze 可以很容易地运行不同的 HIPAA 报告,以确保你的组织遵守健康法律并保持合规性。

Fluentd

如果你所在组织的数据源位于许多不同的位置和环境中,那么你的目标应该是尽可能地将它们集中在一起。否则,你将难以监控性能并防范安全威胁。

Fluentd 是一个强大的数据收集解决方案,它是完全开源的。它没有提供完整的前端界面,而是作为一个收集层来帮助组织不同的管道。Fluentd 在被世界上一些最大的公司使用,但是也可以在较小的组织中实施。

 title=

Fluentd 最大的好处是它与当今最常用的技术工具兼容。例如,你可以使用 Fluentd 从 Web 服务器(如 Apache)、智能设备传感器和 MongoDB 的动态记录中收集数据。如何处理这些数据完全取决于你。

Fluentd 基于 JSON 数据格式,它可以与由卓越的开发人员创建的 500 多个插件一起使用。这使你可以将日志数据扩展到其他应用程序中,并通过最少的手工操作从中获得更好的分析。

写在最后

如果出于安全原因、政府合规性和衡量生产力的原因,你还没有使用活动日志,那么现在开始改变吧。市场上有很多插件,它们可以与多种环境或平台一起工作,甚至可以在内部网络上使用。不要等发生了严重的事件,才采取一个积极主动的方法去维护和监督日志。


via: https://opensource.com/article/19/4/log-analysis-tools

作者:Sam Bocetta 选题:lujun9972 译者:MjSeven 校对:wxy

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

编程字体有些在普通字体中没有的特点,这五种字体你可以看看。

什么是最好的编程字体呢?首先,你需要考虑到字体被设计出来的初衷可能并不相同。当选择一款用于休闲阅读的字体时,读者希望该字体的字母能够顺滑地衔接,提供一种轻松愉悦的体验。一款标准字体的每个字符,类似于拼图的一块,它需要被仔细的设计,从而与整个字体的其他部分融合在一起。

然而,在编写代码时,通常来说对字体的要求更具功能性。这也是为什么大多数程序员在选择时更偏爱使用固定宽度的等宽字体。选择一款带有容易分辨的数字和标点的字体在美学上令人愉悦;但它是否拥有满足你需求的版权许可也是非常重要的。

某些功能使得字体更适合编程。首先要清楚是什么使得等宽字体看上去井然有序。这里,让我们对比一下字母 w 和字母 i。当选择一款字体时,重要的是要考虑字母本身及周围的空白。在纸质的书籍和报纸中,有效地利用空间是极为重要的,为瘦小的 i 分配较小的空间,为宽大的字母 w 分配较大的空间是有意义的。

然而在终端中,你没有这些限制。每个字符享有相等的空间将非常有用。这么做的首要好处是你可以随意扫过一段代码来“估测”代码的长度。第二个好处是能够轻松地对齐字符和标点,高亮在视觉上更加明显。另外打印纸张上的等宽字体比均衡字体更加容易通过 OCR 识别。

在本篇文章中,我们将探索 5 款卓越的开源字体,使用它们来编程和写代码都非常理想。

1、Firacode:最佳整套编程字体

 title=

FiraCode, Andrew Lekashman

在我们列表上的首款字体是 FiraCode,一款真正符合甚至超越了其职责的编程字体。FiraCode 是 Fira 的扩展,而后者是由 Mozilla 委托设计的开源字体族。使得 FiraCode 与众不同的原因是它修改了在代码中常使用的一些符号的组合或连字,使得它看上去更具可读性。这款字体有几种不同的风格,特别是还包含 Retina 选项。你可以在它的 GitHub 主页中找到它被使用到多种编程语言中的例子。

 title=

FiraCode 与 Fira Mono 的对比,Nikita Prokopov,源自 GitHub

2、Inconsolata:优雅且由卓越设计者创造

 title=

Inconsolata, Andrew Lekashman

Inconsolata 是最为漂亮的等宽字体之一。从 2006 年开始它便一直是一款开源和可免费获取的字体。它的创造者 Raph Levien 在设计 Inconsolata 时秉承的一个基本原则是:等宽字体并不应该那么糟糕。使得 Inconsolata 如此优秀的两个原因是:对于 0o 这两个字符它们有很大的不同,另外它还特别地设计了标点符号。

3、DejaVu Sans Mono:许多 Linux 发行版的标准配置,庞大的字形覆盖率

 title=

DejaVu Sans Mono, Andrew Lekashman

受在 GNOME 中使用的带有版权和闭源的 Vera 字体的启发,DejaVu Sans Mono 是一个非常受欢迎的编程字体,几乎在每个现代的 Linux 发行版中都带有它。在 Book Variant 风格下 DejaVu 拥有惊人的 3310 个字形,相比于一般的字体,它们含有 100 个左右的字形。在工作中你将不会出现缺少某些字符的情况,它覆盖了 Unicode 的绝大部分,并且一直在活跃地增长着。

4、Source Code Pro:优雅、可读性强,由 Adobe 中一个小巧但天才的团队打造

 title=

Source Code Pro, Andrew Lekashman

由 Paul Hunt 和 Teo Tuominen 设计,Source Code Pro由 Adobe 创造的,成为了它的首款开源字体。Source Code Pro 值得注意的地方在于它极具可读性,且对于容易混淆的字符和标点,它有着非常好的区分度。Source Code Pro 也是一个字体族,有 7 中不同的风格:Extralight、Light、Regular、Medium、Semibold、Bold 和 Black,每种风格都还有斜体变体。

 title=

潜在易混淆的字符之间的区别,Paul D. Hunt 源自 Adobe Typekit 博客。

 title=

在计算机领域中有特别含义的特殊元字符, Paul D. Hunt 源自 Adobe Typekit 博客。

5、Noto Mono:巨量的语言覆盖率,由 Google 中的一个大团队打造

 title=

Noto Mono, Andrew Lekashman

在我们列表上的最后一款字体是 Noto Mono,这是 Google 打造的庞大 Note 字体族中的等宽版本。尽管它并不是专为编程所设计,但它在 209 种语言(包括 emoji 颜文字!)中都可以使用,并且一直在维护和更新。该项目非常庞大,是 Google 宣称 “组织全世界信息” 的使命的延续。假如你想更多地了解它,可以查看这个绝妙的关于这些字体的视频

选择合适的字体

无论你选择那个字体,你都有可能在每天中花费数小时面对它,所以请确保它在审美和哲学层面上与你产生共鸣。选择正确的开源字体是确保你拥有最佳生产环境的一个重要部分。这些字体都是很棒的选择,每个都具有让它脱颖而出的功能强大的特性。


via: https://opensource.com/article/17/11/how-select-open-source-programming-font

作者:Andrew Lekashman 译者:FSSlc 校对:wxy

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

编写和接收电子邮件是每个人日常工作的重要组成部分,选择电子邮件客户端通常是一个重要决定。Fedora 系统提供了大量的电子邮件客户端可供选择,其中包括基于文本的电子邮件应用。

Mutt

Mutt 可能是最受欢迎的基于文本的电子邮件客户端之一。它有人们期望的所有常用功能。Mutt 支持颜色代码、邮件会话、POP3 和 IMAP。但它最好的功能之一是它具有高度可配置性。实际上,用户可以轻松地更改键绑定,并创建宏以使工具适应特定的工作流程。

要尝试 Mutt,请使用 sudodnf 安装它:

$ sudo dnf install mutt

为了帮助新手入门,Mutt 有一个非常全面的充满了宏示例和配置技巧的 wiki

Alpine

Alpine 也是最受欢迎的基于文本的电子邮件客户端。它比 Mutt 更适合初学者,你可以通过应用本身配置大部分功能而无需编辑配置文件。Alpine 的一个强大功能是能够对电子邮件进行评分。这对那些订阅含有大量邮件的邮件列表如 Fedora 的开发列表的用户来说尤其有趣。通过使用分数,Alpine 可以根据用户的兴趣对电子邮件进行排序,首先显示高分的电子邮件。

也可以使用 dnf 从 Fedora 的仓库安装 Alpine。

$ sudo dnf install alpine

使用 Alpine 时,你可以按 Ctrl+G 组合键轻松访问文档。

nmh

nmh(new Mail Handling)遵循 UNIX 工具哲学。它提供了一组用于发送、接收、保存、检索和操作电子邮件的单一用途程序。这使你可以将 nmh 命令与其他程序交换,或利用 nmh 编写脚本来创建更多自定义工具。例如,你可以将 Mutt 与 nmh 一起使用。

使用 dnf 可以轻松安装 nmh

$ sudo dnf install nmh

要了解有关 nmh 和邮件处理的更多信息,你可以阅读这本 GPL 许可的


via: https://fedoramagazine.org/3-cool-text-based-email-clients/

作者:Clément Verna 选题:lujun9972 译者:geekpi 校对:wxy

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