社区的成员们推荐这些书籍，涵盖了从有趣的悬疑小说到发人深省的非小说作品的各种类型，你一定能从中找到一本你想看的书！很高兴能为大家介绍 Opensource.com 的 2022 年暑期阅读清单。今年的榜单包含来自 Opensource.com 社区成员的 7 本精彩的读物推荐。你可以发现各种各样的书籍，涵盖从有趣舒适的谜团到探索发人深省主题的非小说类作品。我希望你能在这个榜单中找到感兴趣的书本。希望你喜欢！《每个 Java 程序员都应该知道的 97 件事：专家的集体智慧》《 每个 Java 程序员都应该知道的 97 件事：专家的集体智慧 97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts 》编辑：Kevlin Henney 和 Trisha Gee由 Seth Kenlon 推荐这本书是由 73 位在软件行业工作的不同作者共同撰写。它的优秀之处在于它不仅仅适用于 Java 编程。当然，有些章节会涉及 Java，但是也还有一些其他话题，例如了解你的容器环境、如何更快更好地交付软件、以及不要隐藏你的开发工具，这些适用于任何语言的开发。更好的是，有些章节同样适用于生活中的问题。将问题和任务分成小的部分是解决任何问题的好建议；建立多样化的团队对所有合作者都很重要；由从散乱的一块块拼图到拼好的完成品，看起来像是拼图玩家的思路，也适用于不同的工作角色。每章只有几页，总共有 97 个章节，你可以轻松跳过不适用于你自己的章节。无论你是一直在写 Java 代码、或者只是学过一点 Java，亦或是尚未开始学习 Java，对于对代码和软件开发过程感兴趣的极客来说，这都会是一本好书。《城市不是计算机：其他的城市智能》《 城市不是计算机：其他的城市智能 A City is Not a Computer: Other Urban Intelligences 》作者：Shannon Mattern由 Scott Nesbitt 推荐如今，让一切变得智能已经成为一种 时尚：我们的手机、家用电器、手表、汽车，甚至是城市都变得智能化了。对于城市的智能化，这意味着传感器变得无处不在，在我们开展业务时收集数据，并根据这些数据向我们推送信息（无论数据有用与否）。这就引出了一个问题，将所有高科技技术嵌入到城市中是否会使得城市智能化呢？在《城市不是计算机》这本书中，作者 Shannon Mattern 认为并不是这样的。城市智能化的目标之一是为市民提供服务和更好的城市参与感。Mattern 指出，但是实际上，智慧城市“希望将技术专家的管理想法与公共服务相融合，从而将公民重新设置为‘消费者’和‘用户’”，然而，这并不是在鼓励公民积极参与城市的生活和治理。第二个问题是关于智慧城市收集的数据。我们不知道收集了什么数据，以及收集了多少数据。我们也不知道这些数据使用在什么地方，以及是谁使用的。收集的数据太多了，以至于处理数据的市政工作人员会不堪重负。他们无法处理所有数据，因此他们专注于短期容易实现的任务，而忽略了更深层次和更紧迫的问题。这绝对达不到在推广智慧城市时所承诺的目标：智慧城市将成为解决城市困境的良药。《城市不是计算机》是一本短小精悍、经过深入研究的、反对拥抱智慧城市的论证。这本书让我们思考智慧城市的真正目的：要让百姓真正受益于城市智能化，并引发我们的思考：发展智慧城市是否必要呢。《git sync 谋杀案》《 git sync 谋杀案 git sync murder 》作者：Michael Warren Lucas由 Joshua Allen Holm 推荐Dale Whitehead 宁愿呆在家里，通过他的电脑终端与世界连接，尤其是在他参加的最后一次会议上发生的事情之后。在那次会议上，Dale 扮演了一个业余侦探的角色，解决了一桩谋杀案。你可以在该系列的第一本书《 git commit 谋杀案 git commit murder 》中读到那个案件。现在，Dale 回到家，参加另一个会议，他再次发现自己成为了侦探。在《 git sync 谋杀案 git sync murder 》中，Dale 参加了一个当地科技会议/科幻大会，会议上发现一具尸体。这是谋杀，还是只是一场意外？现在，Dale 是这些问题的“专家”，他发现自己被卷入了这件事，并要亲自去弄清楚到底发生了什么。再多说的话就剧透了，所以我能说《git sync 谋杀案》这本书十分引人入胜，而且读起来很有趣。不必先阅读《git commit 谋杀案》，才能阅读《git sync 谋杀案》，但我强烈推荐一起阅读该系列中的这两本书。作者 Michael Warren Lucas 的《git 谋杀案》系列非常适合喜欢悬疑小说的科技迷。Lucas 写过很多复杂的技术题材的书，这本书也延续了他的技术题材，《git sync 谋杀案》这本书中的人物在会议活动上谈论技术话题。如果你因为新冠疫情，最近没有参加过会议，怀念参会体验的话，Lucas 将带你参加一个技术会议，其中还有一个谋杀之谜以待解决。Dale Whitehead 是一个有趣的业余侦探，我相信大多数读者会喜欢和 Dale 一起参加技术会议，并充当侦探破解谜案的。《像女孩一样踢球》《 像女孩一样踢球 Kick Like a Girl 》作者：Melissa Di Donato Roos由 Joshua Allen Holm 推荐没有人喜欢被孤立，当女孩 Francesca 想在公园里踢足球时，她也是这样。男孩们不会和她一起玩，因为她是女孩，所以她不高兴地回家了。她的母亲安慰她，讲述了有重要影响力的著名女性的故事。《像女孩一样踢球》中详述的历史人物包括历史中来自许多不同领域的女性。读者将了解 Frida Kahlo、Madeleine Albright、 阿达·洛芙莱斯 Ada Lovelace 、Rosa Parks、Amelia Earhart、 玛丽·居里 Marie Curie （居里夫人）、Valentina Tereshkova、 弗洛伦斯·南丁格尔 Florence Nightingale 和 Malala Yousafzai 的故事。听完这些鼓舞人心的人物故事后，Francesca 回到公园，向男孩们发起了一场足球挑战。《像女孩一样踢球》这本书的特色是作者 Melissa Di Donato Roos（SUSE 的 CEO，LCTT 译注：SUSE 是一家总部位于德国的软件公司，创立于 1992 年,以提供企业级 Linux 为主要业务）引人入胜的写作和 Ange Allen 的出色插图。这本书非常适合年轻读者，他们会喜欢押韵的文字和书中的彩色插图。Melissa Di Donato Roos 还写了另外两本童书，《 美人鱼如何便便 How Do Mermaids Poo? 》和《 魔盒 The Magic Box 》，这两本书也都值得一读。《这是我的！：所有权的潜规则如何控制着我们的生活》《 这是我的！：所有权的潜规则如何控制着我们的生活 Mine!: How the Hidden Rules of Ownership Control Our Lives 》作者：Michael Heller 和 James Salzman由 Bryan Behrenshausen 推荐作者 Michael Heller 和 James Salzman 在文章《这是我的！》中写道：“你对所有权的很多了解都是错误的”。这是一种被吸引到开源领域的人不得不接受所有权规则的对抗性邀请。这本书肯定是为开源爱好者而写的，他们对代码、思想、各种知识产权的所有权的看法往往与主流观点和普遍接受的认知不同。在本书中，Heller 和 Salzman 列出了“所有权的隐藏规则”，这些规则管理着谁能控制对什么事物的访问。这些所有权规则是微妙的、强大的、有着深刻的历史惯例。这些所有权规则已经变得如此普遍，以至于看起来无可争议，这是因为“先到先得”或“种瓜得瓜，种豆得豆”的规则已经成为陈词滥调。然而，我们看到它们无处不在：在飞机上，为宝贵的腿部空间而战；在街道上，邻居们为铲好雪的停车位发生争执；在法庭上，陪审团决定谁能控制你的遗产和你的 DNA。在当下的数字时代，所有权的替代理论能否为重新思考基本权利创造空间？作者们认为这是可以的。如果这是正确的，我们可能会回应：在未来，开源软件能否成为所有权运作的模型呢？《并非所有童话故事都有幸福的结局：雪乐山公司的兴衰》《 并非所有童话故事都有幸福的结局：雪乐山公司的兴衰 Not All Fairy Tales Have Happy Endings: The Rise and Fall of Sierra On-Line 》作者：Ken Williams由 Joshua Allen Holm 推荐在 1980 年代和 1990 年代， 雪乐山公司 Sierra On-Line 是计算机软件行业的巨头。这家由 Ken 和 Roberta Williams 夫妻创立的公司，出身并不起眼，但却发布了许多标志性的电脑游戏。《 国王密使 King's Quest 》、《 宇宙传奇 Space Quest 》、《 荣耀任务 Quest for Glory 》、《Leisure Suit Larry》 和 《 狩魔猎人 Gabriel Knight 》 只是该公司几个最大的专属系列中的很小一部分。《并非所有童话故事都有幸福的结局》这本书，涵盖了从雪乐山公司发布第一款游戏 《 神秘屋 Mystery House 》，到该公司不幸地被 CUC 国际公司收购以及后续的所有内容。雪乐山品牌在被收购后仍存活了一段时间，但 Williams 创立的雪乐山已不复存在。Ken Williams 以一种只有他才能做到的方式，讲述了雪乐山公司的整个历史。雪乐山的历史叙述穿插了一些 Williams 提出的管理和计算机编程建议的章节。虽然 Ken Williams 在写这本书时，已经离开这个行业很多年了，但他的建议仍然非常重要。虽然雪乐山公司已不复存在，但该公司对计算机游戏行业产生了持久的影响。对于任何对计算机软件历史感兴趣的人来说，《并非所有童话故事都有美好的结局》都是值得一读的。雪乐山公司在其鼎盛时期处于游戏开发的最前沿，从带领公司走过那个激动人心的岁月的 Ken Williams 身上，我们可以学到许多宝贵的经验。《新机器的灵魂》《 新机器的灵魂 The Soul of a New Machine 》作者：Tracy Kidder由 Guarav Kamathe 推荐我是计算机历史的狂热读者。知道这些人们如此依赖（并且经常被认为是理所当然）的计算机是如何形成的，真是令人着迷！我是在 Bryan Cantrill 的博客文章中，第一次听说 《新机器的灵魂》这本书的。这是一本由 Tracy Kidder 编著的非虚构书籍，于 1981 年出版，作者 Tracy Kidder也因此获得了 普利策奖。故事发生在 1970 年代，想象一下你是负责设计 下一代计算机 工程团队中的一员。故事的背景是在 通用数据公司 Data General Corporation ，该公司当时是一家小型计算机供应商，正在与美国 数字设备公司 Digital Equipment Corporation （DEC）的 32 位 VAX 计算机相竞争。该书概述了通用数据公司内部两个相互竞争的团队，都想在设计新机器上一展身手，结果导致了一场争斗。接下来，细致地描绘了随之展开的事件。这本书深入地讲述了相关工程师的思想、他们的工作环境、他们在此过程中面临的技术挑战、他们是如何克服这些困难的、以及压力如何影响到了他们的个人生活等等。任何想知道计算机是怎么制造出来的人都应该阅读这本书。以上就是 2022 年的推荐阅读书目。它提供了很多非常棒的选择，我相信读者们能得到数小时发人深省的阅读时光。想获取更多书籍推荐，请查看我们历年的阅读书目。2021 年 Opensource.com 推荐阅读书目2020 年 Opensource.com 推荐阅读书目2019 年 Opensource.com 推荐阅读书目2018 年 Open Organization 推荐阅读书目2016 年 Opensource.com 推荐阅读书目2015 年 Opensource.com 推荐阅读书目2014 年 Opensource.com 推荐阅读书目2013 年 Opensource.com 推荐阅读书目2012 年 Opensource.com 推荐阅读书目2011 年 Opensource.com 推荐阅读书目2010 年 Opensource.com 推荐阅读书目via: https://opensource.com/article/22/6/2022-opensourcecom-summer-reading-list作者：Joshua Allen Holm 选题：lkxed 译者：chai001125 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
在 2021 年，我们的作者们多次分享了他们关于各种物联网项目的专业知识。物联网（IoT）是计算领域的一个令人着迷的发展方向。互联智能设备、家庭自动化以及相关的发展领域正在产生许多有趣的项目。在 2021 年，我们的作者们多次分享了他们关于各种物联网项目的专业知识。以下是十大最佳物联网文章。如何使用你选择的声音定制你的语音助手在这篇由 Rich Lucente 撰写的这篇文章中 了解 Nana and Poppy 项目。Nana and Poppy 项目是 Rich Lucente 为人工智能语音助手创建自定义问候的开源项目。他描述了整个过程，从录制必要的音频片段到编写代码将这些片段组合成完整的问候语。成品是五个送给曾祖父母和祖父母的定制语音助手，他们现在无论何时与语音助手互动都能听到孙辈的声音。用树莓派和 Prometheus 监测你家的温湿度Chris Collins 描述了他如何 利用 Prometheus 监测家中的温度和湿度。他提供了关于在树莓派操作系统上安装 Prometheus、检测 Prometheus 应用程序、设置 systemd 单元和日志记录等方面的详细说明，以创建用于监控温度和湿度数据的工具。本文建立在 Chris 以前写的一篇文章的基础上，这篇文章是这个系列的下一篇文章。用树莓派在家里设置温度传感器学习如何通过使用树莓派、DHT22 数字传感器和一些 Python 代码 设置温度传感器。在本文中，Chris Collins 解释了如何将传感器连接到树莓派，安装 DHT 传感器软件，并使用 Python 脚本获取传感器数据。他最后调侃说，未来的文章将更多地自动化从该设备收集数据，这是本列表中的前一篇文章。用智能手机远程控制你的树莓派Stephan Avenwede 解释了如何 使用你的智能手机来控制树莓派的 GPIO。本教程描述了如何安装和使用 Pythonic 来使用 Telegram 通过网络连接控制树莓派。在写这篇文章时，他并没有考虑到具体的最终项目，因此本文提供了广泛的指导，你可以将其应用于许多项目。Stephan 建议的一些可能的项目包括草坪灌溉和车库开门器。家庭自动化项目为什么选择开源Alan Smithee 在本文中 介绍了家庭自动化电子书。这本电子书包含了与家庭自动化相关的内容。Alan 的文章概述了为什么技术能让每个人的生活变得更好，并提供了一个下载电子书的链接。用 Grafana Cloud 监控你的树莓派在 Matthew Helmke 的这篇教程中，了解如何 用 Grafana Cloud 监控你的树莓派。该项目使用树莓派、Prometheus 时间序列数据库和 Grafana Cloud 帐户。Matthew 解释了如何在树莓派上安装 Prometheus，并将其连接到 Grafana Cloud，为你的树莓派提供监控。一种新的嵌入式开源操作系统Zhu Tianlong 提供了 RT-Thread 智能操作系统简介。本文解释了什么是 RT-Thread Smart，谁可能需要使用它，以及它是如何工作的。本文中还有一个章节对 RT-Thread Smart 和 RT Thread 进行了对比。使用 Rust 进行嵌入式开发本文由 Alan Smithee 撰写，Liu Kang 供稿，介绍了 使用 Rust 进行嵌入式开发。这个包含大量代码的教程展示了如何在 C 中调用 Rust，以及如何在 Rust 中调用 C。这里有大量使用 Rust 工具（如 Cargo）进行开发的代码示例和详细说明。开源 Linux 边缘开发入门Daniel Oh 解释了如何使用 Quarkus 云原生 Java 框架来 开始边缘开发。Daniel 首先简要介绍了他在教程中使用的操作系统 CentOS Stream。然后他介绍了教程的三个主要步骤:将物联网数据发送到轻量级消息代理。使用 Quarkus 处理反应性数据流。监控实时数据通道。什么是雾计算？你可能听说过云计算，但是 什么是雾计算？Seth Kenlon 将 雾计算 fog computing 描述为“云的外部‘边缘’”——由手机、手表和其他组成物联网的各种设备组成。via: https://opensource.com/article/22/1/open-source-internet-of-things作者：Joshua Allen Holm 选题：lujun9972 译者：CN-QUAN 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
从 DIY 项目到电脑再到书籍，这份清单提供了培养创造力、学习和探索的礼物创意。你是否正在为你的节日购物清单上的人寻找很酷的礼物，或者为你自己的愿望清单寻找建议？如果是这样，请考虑以下十条建议。这些礼物建议中的每一个都以某种方式与开源精神相联系。从 DIY 项目到电脑再到书籍，这份清单提供了培养创造力、学习和探索的礼物建议。System76 电脑你身边的某人需要一个新的台式机、笔记本电脑或服务器吗？System76 应该是你首先应该寻找的地方之一。想找一些轻巧的移动设备吗？轻巧的 14 英寸 Lemur Pro 笔记本电脑是一个很好的选择。需要一个有大量处理能力、内存和存储空间的台式机？各种 Thelio 台式机中就有一款是你要找的。还有很多介于两者之间的其他选择。他们的电脑配备了 Ubuntu 或 Pop!\_OS，这是该公司自己的基于 Ubuntu 的 Linux 发行版，并有终身支持。System76 也支持 维修权法案。虽然不是唯一一家销售安装 Linux 系统的电脑的厂商，但他们肯定是最受欢迎的厂商之一。价格不一树莓派 400 个人电脑套件树莓派几乎不需要介绍。自从 2012 年第一款树莓派风靡全球以来，树莓派一直是最受欢迎的单板计算机之一，可用于教育、业余爱好者和手工爱好者们。树莓派 400 个人电脑套件 延续了这一趋势。除了一个显示器之外，这个套件包含了人们开始使用所需的一切。花 100.00 美元，你就可以得到树莓派 400（树莓派 4 系列的一个变种，内置于一个键盘外壳中）、一只鼠标、电源、micro HDMI 转 HDMI 电缆、一张预装树莓派操作系统的 SD 卡，以及一本《树莓派初学者指南》。虽然树莓派 400 不是世界上最强大的计算机，但对于你的礼物清单上的孩子来说，树莓派 400 完全可以作为一个得当的入门计算机。价格：100.00 美元树莓派 Build HAT树莓派的诸多优势之一是它能够通过各种附加板进行扩展。最近推出的一款附加板 —— 树莓派 Build HAT，可以用树莓派来控制多达四个乐高技术电机或 乐高教育 SPIKE 产品系列的传感器。Build HAT 适用于任何带有 40 针 GPIO 接头的树莓派。你可以使用专门开发的 Python 库对项目进行编码。Build HAT 可以使用外部 8V 直流电源（如 官方 Built HAT 电源）或 7.5V 电池组为自身、树莓派板以及乐高电机和传感器供电。价格：25.00 美元（加上一个项目所需的零件和配件的费用）CrowPi2CrowPi2 是一个 STEM 学习项目集合，放在一个由树莓派驱动的笔记本电脑式的机箱里。CrowPi2 套件有三种尺寸：基本型、高级型和豪华型。基本型套件包括一些附件，但不包括树莓派。高级套装配备了一个拥有 4GB 内存的树莓派 4B，并有比基本套装更多的配件选择。豪华套装配备了最多的配件和一个拥有 8GB 内存的树莓派 4B。所有三个套件都有太空灰或银色可供选择。一个可选的移动电源可以在不插入电源插座时为 CrowPi2 提供电源。如果你想了解更多关于 CrowPi2 的信息，你可以阅读 Seth Kenlon 的 对 CrowPi2 的点评。基本套件：339.99 美元高级套件：469.99 美元豪华套装：529.99 美元可选的移动电源：19.00 美元Keebio Quefrency 键盘推荐人：John HallKeebio Quefrency 键盘 对于任何想组装自己的键盘的人来说，都是一个很好的节日礼物！它是一款 65% 键盘，这可能是大多数人愿意去做的最小的键盘，因为它有 Home、PgUp、PgDn 和方向键。它是一个分体式的人体工程学键盘，但如果你难以适应分体式的键盘，你可以将两半重新组合起来。最重要的是，最新版本的 Quefrency 有热插拔插座，所以你可以在不需要焊接任何东西的情况下组装它。下面是一个廉价的 Quefrency 键盘组件：Quefrency rev4 PCBs 带有热插拔插座，加上 FR4 板（左边没有宏，右边有 65%）80 + 28 美元2u 稳定器（5 个）10 美元按键开关（70 个）16 美元键帽45 美元2.25u G20 左空格键 和 2.75u G20 右空格键8 + 8 美元USB C 到 USB C 键盘连接器4 美元共计 199 美元（不包括运费）正如零件清单中指出的，Keebio Quefrency rev4 需要五个稳定器：左 Shift 键左空格键右空格键回车键退格键Keebio Quefrency rev4 目标是构建 65% 键盘，它有一个缩短的右 Shift 键，不需要稳定器。许多键帽套装，甚至是相对便宜的套装，如 Artifact Bloom 和 Glorious GPBT，包括一个缩短的右 Shift 键，适合大多数像这样的键盘。难的是找到匹配的分体式空格键键帽。但你可以从 Pimp My Keyboard 等地方买到空格键的键帽，效果很好。不幸的是，几乎不可能从不同的制造商那里得到匹配的颜色。即使你选择白色键帽和白色空格键，其中一个也可能比另一个更灰。为什么不接受这种差异呢？试着将白色和灰色的键帽与红色或蓝色的空格键配对一下。Petoi Nybble 开源机器猫Petoi Nybble 开源机器猫 是一个用于建造机器宠物猫的套件。该套件包含了建造该项目所需的一切，但不包括电池。Nybble 需要两块 14500 锂离子可充电 3.7V 电池，可提供约 45 分钟的游戏时间。一旦组装完成，可以使用 Arduino IDE、Python API 或 Android/iOS 应用程序对该猫进行编程/控制。查看 Nybble 用户手册 了解更多细节。价格：249.00 美元《苍穹浩瀚》小说系列James S.A. Corey 的《 苍穹浩瀚 Expanse 》系列的最后一部小说正好在假日送礼季节推出。定于 11 月 30 日发行的《 利维坦瀑布 Leviathan Falls 》将结束这个史诗般的九部科幻小说系列的主要叙事，探索人类在太空的未来。按顺序，该系列的九本书是《 利维坦觉醒 Leviathan Wakes 》、《 卡利班之战 Caliban's War 》、《 阿巴顿之门 Abaddon's Gate 》、《 西波拉燃烧 Cibola Burn 》、《 复仇游戏 Nemesis Games 》、《 巴比伦的灰烬 Babylon's Ashes 》、《 波斯波利斯的崛起 Persepolis Rising 》、《 提亚马特之怒 Tiamat's Wrath 》和《 利维坦瀑布 Leviathan Falls 》。明年还将出版一本短篇小说和长篇小说集。这些故事和长篇小说中的大部分已经有了电子书格式，但这是第一次的印刷合集。给你身边的科幻小说读者购买该系列的第一本书，让他们开始阅读，或者给他们购买整个系列。第一至第六本：17.99 美元（平装本）第七本和第八本：18.99 美元（平装本）第九本：30.00 美元（精装本）书籍如果你正在寻找书籍推荐，而《苍穹浩瀚》的推荐并不符合你的需求，可以考虑 这份 2021 年夏季阅读清单 中的书籍。这份清单包含八本适合各种阅读口味的书籍推荐。从《 贝奥武夫 Beowulf 》的现代翻译到关于技术的非小说类书籍，那里应该有适合你生活中的读者的东西。如果 2021 年夏季阅读清单中没有你要找的东西，这篇文章还包含了以前所有夏季阅读清单的链接，其中提供了十多份建议清单。价格不一贴纸大流行期间的虚拟会议的一个缺点是，你无法带走从各个供应商摊位上收集的贴纸。对于那些喜欢用贴纸装饰笔记本电脑的人来说，这可能意味着他们最新的笔记本电脑目前还没有通常的装饰品。如果这听起来像你生活中的某个人，考虑给他们买一个来自 Sticker Mule 的 Unixstickers 包。该包有三种不同的尺寸：专业版，包含十张贴纸；精英版，包含专业版中的所有贴纸，再加十张贴纸；终极版，包含精英版中的所有内容，再加十张贴纸。这些贴纸涵盖了许多开源项目，使这些捆绑包成为参观供应商展位和亲临会议的贴纸交换台的下一个最佳选择。专业包：1.00 美元精英包：19.00 美元终极包：24.00 美元向开源组织慈善捐赠如果你购物清单上的人已经拥有了一切（或者不想要任何有形的礼物），可以考虑以他们的名义向开源项目进行慈善捐赠。这个 开源组织 列表中有很多组织供你选择。你、以其名义捐款的人和收到你捐款的组织都会很高兴，你的礼物有助于使开源变得更好。via: https://opensource.com/article/21/11/open-source-holiday-gifts作者：Joshua Allen Holm 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
以下是 10 篇最受欢迎的 Linux 文章。2021 年，我们发表了远超 150 篇的 Linux 方面的文章。从桌面 Linux 用户小工具的文章到将 Linux 作为服务器操作系统的教程，以及介乎于两者之间的各种场景，这些文章已经涵盖了 Linux 生态系统的许多方面。所有这些文章都值得你花时间去阅读，但你可以从今年发表的这十篇好文章开始阅读。3 个开源工具，使 Linux 成为理想的工作站在这篇文章中，Seth Kenlon 介绍了 LibreOffice、AbiWord、Gnumeric 和 Pandoc，涵盖了 使 Linux 成为理想工作站的工具。他解释了在使用 Linux 作为桌面操作系统时，这些应用程序如何使你的工作效率提高。文章探讨了一些高级功能，如 LibreOffice 的无头模式，并提供了如何充分利用每个应用程序的小技巧。为什么我在 Linux 上使用 exa 而不是 lsls 命令是 Linux 中最常用的终端命令之一，但你知道它有一个现代的替代品，提供了许多有益的改进吗？Sudeshna Sur 的 文章 介绍了 exa 命令以及它相比 ls 的优势，讨论了 exa 如何跟踪添加到 Git 仓库的新文件、显示目录和文件树等等。我喜欢在 Linux 上编码的 5 个原因像许多人一样，Seth Kenlon 喜欢在 Linux 上编码。在这篇文章中，他分享了这样做的 五个原因。他喜欢在 Linux 上编码，因为它建立在逻辑的基础上，可以让你欣赏代码之间的关联，提供了源代码，并提供直接访问外设和抽象层的能力，使编写代码更容易。在 Linux 上使用可启动的 USB 驱动器来拯救 Windows 用户即使你喜欢 Linux，但有时你可能需要修复一台 Windows 电脑或为某人安装 Windows。在 Linux 上从 Windows ISO 创建一个可启动的 U 盘，并不像为 Linux 发行版制作一个可启动的 U 盘那样简单明了。在这个教程中，Don Watkins 演示了 如何使用 WoeUSB，这个工具可以为用户处理这个过程中所有棘手的部分。4 个用于运行 Linux 服务器的开源工具当使用 Linux 作为服务器操作系统时，Seth Kenlon 推荐了这 四个开源工具： Samba、Snapdrop、VLC 和 PulseAudio。正如 Seth 在他的文章中所指出的，这四个工具使得用 Linux 进行文件共享和流媒体变得很容易。3 个你需要尝试的 Linux 终端Linux 有许多不同的终端模拟器。Seth Kenlon 的这篇文章推荐了 3 个 Linux 终端，值得一试：Xfce 终端、rxvt-unicode 和 Konsole。他提供了每一个的简要概述，并指出了每个终端模拟器的优势。在你的 Linux 家庭实验室中运行 Kubernetes 的另外 5 个理由在 Seth Kenlon 2020 年的文章《在树莓派家庭实验室上运行 Kubernetes 的五个理由》的续篇中，他给出了 在 Linux 家庭实验室中运行 Kubernetes 的另外五个理由：Kubernetes 建立在Linux 的基础上，它很灵活，学习它可以为你提供个人发展，它使容器变得有意义，而且它有利于云原生开发。他还提供了一个额外的理由：因为它很有趣。6 个开源工具和技巧，为初学者保障 Linux 服务器的安全Sahana Sreeram 提供了 保证 Linux 服务器安全的六个优秀技巧。这个教程着眼于更新软件、启用防火墙、加强密码保护、禁用非必要的服务、检查监听端口，以及扫描恶意软件。Sahana 提供的技巧可以帮助 Linux 初学者学习保持 Linux 服务器安全的基本知识。Linux 如何使一所学校为大流行病做好准备Don Watkins 采访了威斯康星州莫诺纳市 圣心玛利亚学校 的教师 Robert Maynord，介绍了该校 将他们的电脑换成 Linux 的情况。Maynord 分享了关于他是如何对 Linux 感兴趣的轶事，他为把学校的计算机换成 Linux 所采取的第一个步骤，Linux 如何使学校受益等等。Don 在这次采访中提出了许多很好的问题，Maynord 为有意采用 Linux 的学校提供了许多有用的信息。在 Linux 上运行你喜欢的 Windows 应用程序有时，在切换到 Linux 之后，你仍然需要那个只在 Windows 下运行的特定应用程序，或者真的想玩那个只能在 Windows 下运行的游戏。在这篇文章中，Seth Kenlon 提供了一个关于如何 在 Linux 上运行你喜欢的 Windows 应用程序 的教程。做到这一点的工具是 WINE。Seth 解释了什么是 WINE，它是如何工作的，以及如何在你的 Linux 计算机上安装它，以便你可以运行你最喜欢的 Windows 应用程序。via: https://opensource.com/article/21/12/reasons-love-linux作者：Joshua Allen Holm 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
你的下一个最流行的树莓派项目。树莓派是最受欢迎的单板计算机品牌之一。它流行的部分原因是人们用树莓派制造了大量独特而有趣的项目。人们在各种项目中使用了树莓派，并提供了说明，以便其他人可以重新创建他们的项目。以下是在 2021 年发表的十篇最受欢迎的树莓派文章。我希望在你摆弄自己树莓派时，它们能给你带来启发。《用树莓派建立一个家庭恒温器》Joe Truncale 在 2020 年 10 月搬进了新家。家里的老式供暖系统需要改进。他的文章提供了关于他如何 使用树莓派和 ThermOS 来替换家中的恒温器的详细说明。《在树莓派上建立一个精简服务器》树莓派可以作为一个很好的服务器。Alan Formy-Duval 展示了如何 建立一个精简服务器 以节约系统资源。他的说明提供了许多关于如何最大限度地利用树莓派的有用提示。《我是如何在公共图书馆的树莓派 400 上教授 Python 的》树莓派是一个很好的教学工具。在这篇文章中，Don Watkins 讲述了他如何在一个公共图书馆 使用树莓派 400 教授 Python。他描述了他是如何设置树莓派 400 以及如何教授课程的。《用 Cockpit 管理你的树莓派》Alan Formy-Duval 解释了如何 使用 Cockpit 来管理你的树莓派。他详细介绍了如何在树莓派操作系统上安装和使用 Cockpit，并对 Cockpit 的功能做了大致的介绍。正如他在文章中指出的那样，“就像在其他 Linux 系统上一样，Cockpit 可以在树莓派上发挥功用”，这使得这篇文章也可以用于有兴趣在其他系统上使用 Cockpit 的用户。《使用树莓派建立一个具有移动连接功能的路由器》你可以用树莓派轻松地制作你自己的路由器。在这个教程中，Lukas Janėnas 解释了如何 建立一个具有移动连接的路由器。他提供了关于如何在树莓派上安装和配置 OpenWRT 的详细说明。《用树莓派和一个低功耗显示器追踪你的家庭日历》Javier Pena 使用树莓派和一个墨水屏显示器 建立了一个家庭日历。这篇文章提供了关于该项目中使用的硬件和软件的信息。使用所提供的说明，你可以轻松地为自己的家庭创建一个数字日历。《用树莓派投射你的安卓设备》在 Sudeshna Sur 的这篇文章中，可以了解到如何 用树莓派投射你的安卓设备。Sudeshna 使用 Scrcpy 来完成这个任务。她提供了关于如何设置 Scrcpy 和配置你的手机的说明，以便它们一起工作。《对树莓派 400 的测评》Don Watkins 测评了树莓派 400，提供了多张他的树莓派 400 开箱图片，并提供了对该设备和捆绑配件的出色书面评论。关于这个 100 美元的大礼包，他有很多好话要说。《用树莓派和 Prometheus 监控你家里的温度和湿度》在 Chris Collins 的教程中，学习如何 监测你家里的温度和湿度。Chris 解释了如何使用 Prometheus 和树莓派来收集和存储数据。他提供了关于安装 Prometheus 的说明，设置 Prometheus 来跟踪数据，创建一个 systemd 单元和日志记录等等，最后还说明了如何把所有的步骤结合起来创建完成的项目。《在树莓派集群中部署 Ceph》AJ Canlas 教授了如何 在树莓派集群中部署 Ceph。这篇文章提供了使用 ceph-ansible Ansible 剧本部署 Ceph 的说明。需要的硬件是四个树莓派 4B 4GB 型号，四个 32GB 的 microSD 卡用于启动操作系统，四个带风扇和散热器的外壳，四个树莓派电源，以及六个 32GB 的 USB 闪存用于 Ceph OSD 节点。这是一套很大的设备，但如果你手上有这样的硬件，这是一个迷人的项目，可以尝试一下。via: https://opensource.com/article/21/12/raspberry-pi-projects作者：Joshua Allen Holm 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
用这个开源项目在 Linux 上玩复古视频游戏
ScummVM 是在现代硬件上玩老式视频游戏的最直接的方法之一。玩冒险游戏一直是我使用计算机经验的一个重要部分。从最早的基于文本的冒险游戏到 2D 像素艺术、全动态视频和 3D 游戏，冒险游戏类型为我提供了很多美好的回忆。有时我想重温那些老游戏，但它们很多都是在 Linux 出现之前发布的，那么我如何去重玩这些游戏呢？我使用 ScummVM，说实话，这是我最喜欢的开源项目之一。什么是 ScummVMScummVM 是一个设计用来在现代硬件上玩老式冒险游戏的程序。ScummVM 最初是为了运行使用 卢卡斯艺术 LucasArt 的 疯狂豪宅脚本创作工具 Script Creation Utility for Maniac Mansion （SCUMM）开发的游戏，现在支持许多不同的游戏引擎。它可以支持几乎所有经典的 雪乐山娱乐 Sierra On-Line 和卢卡斯艺术的冒险游戏，以及其他发行商的大量冒险游戏。ScummVM 并不支持所有的冒险游戏（目前），但它可以用来玩数百种冒险游戏。ScummVM 可用于多个平台，包括 Windows、macOS、Linux、Android、iOS 和一些游戏机。为什么使用 ScummVM有很多方法可以在现代硬件上玩老游戏，但它们往往比使用 ScummVM 更复杂。DOSBox 可以用来玩 DOS 游戏，但它需要调整设置，使其以正确的速度进行游戏。Windows 游戏可以用 WINE 来玩，但这需要游戏及其安装程序都与 WINE 兼容。即使游戏可以在 WINE 下运行，一些游戏仍然不能在现代硬件上很好地运行，因为硬件的速度太快了。这方面的一个例子是《 国王密使 6 King's Quest VI 》中的一个谜题，它涉及将点燃的鞭炮带到某个地方。在现代硬件上，鞭炮爆炸的速度太快了，这使得在角色不死很多次的情况下不可能到达正确的位置。ScummVM 消除了其他玩复古冒险游戏的方法中存在的许多问题。如果是 ScummVM 支持的游戏，那么它的配置和玩都很简单。在大多数情况下，将游戏文件从原始游戏光盘复制到一个目录，并在 ScummVM 中添加该目录，就可以玩该游戏了。对于多张光盘上的游戏，可能需要重命名一些文件以避免文件名冲突。需要哪些数据文件的说明以及任何重命名的说明都记录在 每个支持的游戏 的 ScummVM 维基页面上。ScummVM 的一个奇妙之处在于，每一个新版本都会增加对更多游戏的支持。ScummVM 2.2.0 增加了对十几种互动小说解释器的支持，这意味着 ScummVM 现在可以玩数百种基于文本的冒险游戏。ScummVM 的开发分支应该很快就会变成 2.3.0 版本，它整合了 ResidualVM 对 3D 冒险游戏的支持，所以现在 ScummVM 可以用来玩《 冥界狂想曲 Grim Fandango 》、《神秘岛 3：放逐者Myst III: Exile》和《 最长的旅程 The Longest Journey 》。其开发分支最近还增加了对使用 Adventure Game Studio 创建的游戏的支持，这为 ScummVM 增加了成百上千的游戏。如何安装 ScummVM如果你想从你的 Linux 发行版的仓库中安装 ScummVM，过程非常简单。你只需要运行一个命令。然而，你的发行版可能会提供一个旧版本的 ScummVM，它不像最新版本那样支持许多游戏，所以要记住这一点。在 Debian/Ubuntu 上安装 ScummVM：sudo apt install scummvm 在 Fedora 上安装 ScummVM：sudo dnf install scummvm 使用 Flatpak 或 Snap 安装 ScummVMScummVM 也可以以 Flatpak 和 Snap 的形式提供。如果你使用这些方式之一，你可以使用以下命令来安装相关的版本，它应该总是 ScummVM 的最新版本。flatpak install flathub org.scummvm.ScummVM 或snap install scummvm 编译 ScummVM 的开发分支如果你想尝试 ScummVM 尚未稳定的开发分支中的最新和主要的功能，你可以通过编译 ScummVM 的源代码来实现。请注意，开发分支是不断变化的，所以事情可能不总是正确的。如果你仍有兴趣尝试开发分支，请按照下面的说明进行。首先，你需要为你的发行版准备必要的开发工具和库，这些工具和库在 ScummVM 维基上的 编译 ScummVM/GCC 页面列出。一旦你安装了先决条件，运行以下命令：git clone <https://github.com/scummvm/scummvm.git> cd scummvm ./configure make sudo make install 向 ScummVM 添加游戏将游戏添加到 ScummVM 是你在游戏前需要做的最后一件事。如果你的收藏集中没有任何支持的冒险游戏，你可以从 ScummVM 游戏 页面下载 11 个精彩的游戏。你还可以从 GOG.com 购买许多 ScummVM 支持的游戏。如果你从 GOG.com 购买了游戏，并需要从 GOG 下载中提取游戏文件，你可以使用 innoextract 工具。大多数游戏需要放在自己的目录中（唯一的例外是由单个数据文件组成的游戏），所以最好先创建一个目录来存储你的 ScummVM 游戏。你可以使用命令行或图形化文件管理器来完成这个工作。在哪里存储游戏并不重要（除了 ScummVM Flatpak，它是一个沙盒，要求游戏存储在 ~/Documents 目录中）。创建这个目录后，将每个游戏的数据文件放在各自的子目录中。一旦文件被复制到你想要的地方，运行 ScummVM，并通过点击“Add Game…”将游戏添加到收藏集中，在打开的文件选择器对话框中选择适当的目录，并点击“Choose”。如果 ScummVM 正确检测到游戏，它将打开其设置选项。如果你想的话，你可以从各个标签中选择高级配置选项（也可以在以后通过使用“Edit Game…”按钮进行更改），或者你可以直接点击“OK”，以默认选项添加游戏。如果没有检测到游戏，请查看 ScummVM 维基上的 支持的游戏 页面，以了解特定游戏的数据文件可能需要的特殊说明的细节。现在唯一要做的就是在 ScummVM 的游戏列表中选择游戏，点击“Start”，享受重温旧爱或首次体验经典冒险游戏的乐趣。via: https://opensource.com/article/21/4/scummvm-retro-gaming作者：Joshua Allen Holm 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
Hedy 是一种专门为教人编程而设计的新型编程语言。学习编程既要学习编程逻辑，又要学习特定编程语言的语法。我在大学上第一堂编程课的时候，教的语言是 C++。第一个代码例子是基本的 “Hello World” 程序，就像下面的例子。#include <iostream> int main() { std::cout << "Hello World!"; return 0; } 老师直到几节课后才会解释大部分的代码。我们的期望是，我们只需输入代码，并最终了解为什么需要这些东西以及它们如何工作。C++（以及其他类似的语言）的复杂语法是为什么 Python 经常被建议作为一种更容易的编程教学语言。下面是 Python 中的同一个例子：print("Hello World!") 虽然 Python 中的 “Hello World” 基础例子要简单得多，但它仍然有复杂而精确的语法规则。print 函数需要在字符串周围加括号和引号。这对于没有编程经验的人来说，还是会感到困惑。Python 比 C++ 少了 “我以后再解释” 的语法问题，但还是有一些。Hedy 是一种专门为编码教学而设计的新语言，它通过在语言中将复杂性分成多个关卡来解决语法复杂性的问题。Hedy 没有马上提供语言的全部功能，而是采取循序渐进的方式，随着学生在 Hedy 的学习的通关，慢慢变得更加复杂。随着关卡的进展，该语言获得了新的功能，最终变得更像 Python。目前有七个关卡，但更多的关卡正在计划中。在第 1 关，Hedy 程序除了打印（print）一条语句（不需要引号或括号），提出（ask）一个问题，并回传（echo）一个答案外，不能做任何事情。第 1 关没有变量，没有循环，结构极精简。回传的工作原理几乎和变量一样，但只针对用户的最后一个输入。这可以让学生对基本概念感到舒适，而不必一下子学习所有的东西。这是一个第 1 关的 Hedy “Hello World” 程序：print Hello World 第 2 关引入了变量，但由于 print 函数没有使用引号，可能会出现一些有趣的结果。如果用来存储一个人的名字的变量是 name，那么就不可能打印输出 Your name is [name]，因为 name 的第一次使用（本意是字符串）和第二次使用（是变量）都被解释为变量。如果将 name 设置为（is） John Doe，那么 print Your name is name. 的输出就会是 Your John Doe is John Doe。虽然这听起来很奇怪，但这是一个引入变量概念的好方法，这恰好是第 3 关中增加的一个功能。第 3 关要求在字符串周围加引号，这使得变量的功能就像在 Python 中一样。现在可以输出与变量相结合的字符串，做出复杂的语句，而不用担心变量名和字符串中的单词之间的冲突。这个级别取消了 “回传”（echo）函数，这看起来确实是一个可能会让一些学习者感到沮丧的东西。他们应该使用变量，这是更好的代码，但如果一个 ask/echo 代码块变成无效语法，可能会让人感到困惑。第 4 关增加了基本的 if/else 功能。学生可以从简单的问/答代码转向复杂的交互。例如，一个问“你最喜欢的颜色是什么？”的提示可以根据用户输入的内容接受不同的回复。如果他们输入绿色，回答可以是“绿色！这也是我最喜欢的颜色。”如果他们输入其他的东西，回复可以是不同的。if/else 块是一个基本的编程概念，Hedy 引入了这个概念，而不必担心复杂的语法或过于精确的格式。第 5 关有一个 repeat 函数，在现有的功能上增加了一个基本的循环。这个循环只能多次重复同一个命令，所以它没有 Python 中的循环那么强大，但它让学生习惯了重复命令的一般概念。这是多介绍了一个编程概念，而不会用无谓的复杂来拖累。学生们可以先掌握概念的基础知识，然后再继续学习同一事物的更强大、更复杂的版本。在第 6 关，Hedy 现在可以进行基本的数学计算。加法、减法、乘法和除法都支持，但更高级的数学功能不支持。不能使用指数、模数或其他任何 Python 和其他语言能处理的东西。目前，Hedy 还没有更高关卡的产品增加更复杂的数学功能。第 7 关引入了 Python 风格的缩进，这意味着 repeat 可以处理多行代码。学生在这之前都是逐行处理代码，但现在他们可以处理代码块。这个 Hedy 关卡与非教学型编程语言能做的事情相比还是有很大的差距，但它可以教会学生很多东西。开始学习 Hedy 最简单的方法是访问 Hedy 网站上的 课程，目前有荷兰语、英语、法语、德语、葡萄牙语和西班牙语。这样一来，任何有网页浏览器的人都可以进入学习过程。也可以从 GitHub 下载 Hedy，并从命令行运行解释器，或者运行 Hedy 网站的本地副本及其交互式课程。基于网页的版本更容易使用，但网页版本和命令行版本都支持运行针对不同复杂程度的 Hedy 程序。Hedy 永远不会与 Python、C++ 或其他语言竞争，成为现实世界项目编码的首选语言，但它是编码教学的绝佳方式。作为学习过程的一部分，学生编写的程序是真实的，甚至可能是复杂的。Hedy 可以促进学生的学习和创造力，而不会让学生在学习过程中过早地被过多的信息所迷惑。就像数学课一样，在进入微积分之前很久要从学习计数、相加等开始（这个过程需要数年时间），编程也不必一开始就对编程语言的语法问题“我稍后再解释”、精确地遵循这些语法问题，才能产生哪怕是最基本的语言程序。via: https://opensource.com/article/21/4/hedy-teach-code作者：Joshua Allen Holm 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
你对 Git 了解得越多，使用 Git 就会越容易。一起来回顾下年度最佳 Git 文章。Git 是开源开发者工具箱中最基本的工具。这个强大的版本控制系统有很多复杂的功能。使用 Git 不需要了解它所有的功能，但是对 Git 了解得越多，使用 Git 就会越容易。下面每篇文章都提供了一些奇技淫巧来提升和增强你的 Git 技能。怎么解决 git 合并时的冲突Brian Breniser 的这篇教程从 git merge 的定义以及解释什么是冲突开始。然后他详细解释了在合并时如果有冲突如何解决冲突。Breniser 还提了一些能学习更多关于解决冲突和其他 Git 功能的建议。4 个不可或缺的 Git 脚本Vince Power 分享了他最重要的 Git 脚本。这些脚本可以从 Git Extras 包中获得，该包提供了 60 多个 Git 增强脚本。Power 最爱的脚本有：在无需打开文本编辑器的情况下编辑 .git-ignore 的 git-ignore ；用于提供 Git 仓库的摘要的 git-info；用来处理 GitLab 的合并请求（MR）和 GitHub 的拉取请求（PR）的 git-pr；把 Git 的提交（commit）、标签（tag）和推送（push）合为一体的 git-release。完美生活：git rebase -i在 Dave Neary 的这篇文章中可以学习使用 git rebase -i 来修改你的 Git 提交历史。Neary 从解释 Git 是如何把提交历史记录到仓库中的以及 git commit 和 git rebase 的区别。之后，他又解释了如何使用 git rebase -i 让 Git 仓库的提交历史变得简洁。这个命令能让你把“修复书写错误”的提交合进其它提交里，把几个相似的小提交合并成一个大的提交。Git Cola 让使用 Git 变得简单Seth Kenlon 演示了如何使用 Git Cola。Git 是个命令行工具，这对于有些人来说是有学习门槛的。Git Cola 提供了一个图形界面，因此不习惯用命令行的用户也可以使用 Git。在此文中，Kenlon 展示了如何安装 Git Cola，并使用 Git Cola 的图形用户界面完成了很多 Git 提交任务。6 个在团队中使用 Git 的最佳实践从设计上讲，Git 是个协同工具，但是关于如何协同的很多细节是由团队自行决定的。Ravi Chandran 提了一些建议，团队应该采用这些建议更高效地使用 Git。Chandran 在文中列出的 6 个最佳实践是：“使约定正式化”，“正确地合并修改”，“经常变基你的功能分支”，“在合并之前把压扁你的提交”，“使用标签”，“让软件的可执行程序打印标签”。改变我使用 Git 工作方式的七个技巧Rajeev Bera 分享了 7 个 Git 技巧，这些技巧能提升 Git 的用户体验。文章探讨了 Git 的自动更正、提交计数、仓库优化、备份未追踪的文件、了解 .git 目录、在另一个分支查看文件以及在 Git 下搜索。使用 tmux 和 Git 定制化我的 Linux 终端Moshe Zadka 展示了他是如何使用 tmux 和 Git定制化他的 Linux 终端的。Zadka 的文章是个人工作流的优秀探索。他使用 GNOME 终端，用 tmux 和一些能让他快速查看 Git 仓库状态的功能来增强终端。他只需要用一个字母就可以提交文件或把提交推送到远程仓库。使用 Lazygit 让复杂的 Git 任务简单化Jesse Duffield 解释了如何使用Lazygit，一个能让使用 Git 变得简单的终端界面。Lazygit 的开发者 Duffield 详细阐述了如何使用这个界面来暂存文件、以交互方式变基、进行筛选、搜索提交以及创建一个 PR。使用子模块和子树来管理 Git 项目子模块和子树是两种在 Git 仓库中引入嵌套的子项目的方式。在使用子模块和子树来管理 Git 项目中，Manaswini Das 解释了两个选项的工作原理和区别。不喜欢 diff？那么试试 MeldBen Nuttall 展示了如何使用 Meld 代替 diff来进行对比和合并修改。Meld 是图形化的 diff，输出更容易理解。Nuttall 演示了使用 diff 和 Meld 进行对比的区别。他还解释了 Meld 是如何识别 Git 项目的，这意味着在 Git 中一个文件被提交之后，可以用 Meld 来搜索修改。你想学习关于 Git 的什么内容？请在评论去分享你的想法。via: https://opensource.com/article/20/12/git作者：Joshua Allen Holm 选题：lujun9972 译者：lxbwolf 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
FuryBSD 的实时桌面环境能让你在实际使用之前先尝试。FreeBSD 是一个很棒的操作系统，但是从设计上讲，它并没有自带桌面环境。如果不从 FreeBSD 的 ports 和软件包集安装其他软件，那么 FreeBSD 仅能体验命令行。下面的截图显示了在安装过程中选择了每个“可选系统组件”后，登录 FreeBSD 12.1 的样子。FreeBSD 可以用各种桌面环境中的任何一种来变成桌面操作系统，但是这需要时间、精力和遵循大量书面说明。使用使用 desktop-installer 包（为用户提供基于文本的菜单并帮助自动执行大部分过程）仍然非常耗时。这两种方法的最大问题是，用户可能在花了很多时间进行设置之后，可能会发现他们的硬件系统与 FreeBSD 不完全兼容。FuryBSD 通过提供实时桌面镜像来解决此问题，用户可以在安装之前对其进行评估。目前，FuryBSD 提供 Xfce 镜像和 KDE 镜像。每个镜像都提供了一个已预安装桌面环境的 FreeBSD。如果用户试用该镜像并发现其硬件工作正常，那么他们可以安装 FuryBSD，并拥有一个由 FreeBSD 驱动的即用桌面操作系统。在本文中，我会使用 Xfce 镜像，但 KDE 镜像的工作原理完全一样。对于安装过 Linux 发行版、BSD 或任何其他类 Unix 的开源操作系统的人，FuryBSD 的上手过程应该很熟悉。从 FuryBSD 网站下载 ISO，将它复制到闪存盘，然后从闪存盘启动计算机。如果从闪存盘引导失败，请确保“安全引导”已禁用。从闪存盘启动后，桌面环境将自动加载。除了“家”、“文件系统”和“回收站”图标外，实时桌面还有用于配置 Xorg 的工具、入门指南、FuryBSD 安装程序和系统信息程序的图标。除了这些额外功能以及一些自定义的 Xfce 设置和壁纸外，桌面环境除了基本的 Xfce 应用和 Firefox 之外并没有其他功能。此时仅加载基本的图形驱动，但足以检查 FuryBSD 是否支持系统的有线和无线网络接口。如果网络接口没有一个能自动工作，那么 Getting Started.txt 文件包含有关尝试配置网络接口和其他配置任务的说明。如果至少有一个网络接口有效，那么可以使用 Configure Xorg 应用安装 Intel、NVidia 或 VirtualBox 图形驱动。它将下载并安装驱动，并且需要重新启动 Xorg。如果系统未自动重新登录到实时镜像用户，那么密码为 furybsd（你可以使用它来登录）。配置后，图形驱动将转移到已安装的系统中。如果一切都可以在实时环境中正常运行，那么 FuryBSD 安装程序可以将 FuryBSD 配置并安装到计算机上。该安装程序在终端中运行，但提供与大多数其他 BSD 和 Linux 安装程序相同的选项。系统将要求用户设置系统的主机名、配置 ZFS 存储、设置 root 密码，添加至少一个非 root 用户以及配置时间和日期。完成后，系统可以引导到预装有 Xfce （或 KDE）的 FreeBSD 中。FuryBSD 完成了所有困难的工作，甚至还花了很多精力使桌面看起来更漂亮。如上所述，桌面环境没有大量预装软件，因此几乎肯定要安装额外的软件包。最快的方法是在终端中使用 pkg 命令。该命令的行为很像 dnf 和 apt，因此使用过其中之一的来自 Linux 发行版的用户在查找和安装软件包时应该感到很熟悉。FreeBSD 的软件包集合非常多，因此大多数知名的开源软件包都可用。如果用户在没有太多 FreeBSD 经验的情况下尝试 FuryBSD，应查阅 FreeBSD 手册，以了解有关如何以 FreeBSD 的方式操作。有任何 Linux 发行版或其他 BSD 使用经验的用户应该能弄清很多事情，但是手册可以帮助你弄清一些差异。进一步了解 FreeBSD 的一个很好的资源是 Michael W. Lucas 的 《Absolute FreeBSD，第三版》。via: https://opensource.com/article/20/5/furybsd-linux作者：Joshua Allen Holm 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
年末总结一下 Git 的最佳表现。以下是告诉你可以在新的一年中以新奇的方式使用 Git 的十篇文章。2019 年过去了，是时候回顾一下我们（opensource.com）今年发表的有关 Git 的前 10 篇文章了。这些文章包括从用例和教程到一些非常有趣的（甚至有些非常规的）使用 Git 的方法。所有这些文章都可以帮助你提高 Git 技能，但是，如果你确实需要 Git 入门介绍，请务必查看我们的《Git 入门：术语入门》文章，并下载我们的 Git 备忘单。Molly de Blanc 写的《GNOME 项目如何使用 Git》考察了 GNOME 项目采用的自托管 GitLab 实例的做法，该实例作为 GNOME 项目集中保存对 GNOME 做出的贡献的位置。De Blanc 从事于非编码职位，因此她的文章还探讨了切换到 GitLab 如何使主要角色不是编写代码的贡献者受益。Ahmad Awais 写的《Emoji-Log：编写 Git 提交信息的新方法》解释了如何使用 Emoji-Log（一种直白的、开源的 Git 提交日志标准）来编写更好、更用户友好的 Git 提交消息。本文概述了 Emoji-Log 背后的理论以及可添加到 .bashrc、.zshrc 或 .gitconfig 中的配置示例，以便你快速开始使用 Emoji-Log。在《用 Git 管理你的每日行程》中，Seth Kenlon 解释了如何使用 Git 来管理日历。通过结合 Org 模式、Git 和其他一些工具，Kenlon 描述了如何创建可在设备之间同步的基于 Git 的日历工作流。《用 Git 作为聊天应用的后端》，Seth Kenlon 探索了另一种使用 Git 的非常规方式。在本文中，他探讨了 GIC，这是一个用 Node.js 编写的聊天客户端，其中 Git 用作后端数据库。GIC 是一个概念验证模型，不是供产品环境使用的东西，但是它提供了一个有趣的示例，说明了使用 Git 的真正独特方法。Alan Formy-Duval 的《Git 学习实用练习》是一份他为提高 Git 技能而努力的编年史。他分享了自己的经验，以使其他人受益于他所学，而 Git 新手将从这篇对 Git 核心功能的出色概述中受益匪浅。《用 Git 帮助写作者更好地完成工作》的作者 Seth Kenlon 着眼于写作者如何从基于 Git 的工作流中受益。本文介绍了如何使用 Git 和 Atom 利用 Markdown 进行书写。通过遵循本文中的示例，写作者可以轻松地将复杂的版本控制系统添加到其编写工作流中。Sachin Patil 在《如何使用 Magit 管理 Git 项目》中，解释了如何使用 Emacs 的 Magit 扩展来管理 Git 存储库。本文提供了有关如何在 Emacs 中执行一系列关键 Git 任务的清晰示例。这些示例带有说明各种任务的屏幕截图。《把“点文件”放到版本控制中》的作者 Matthew Broberg 演示了如何使用 Git 存储放在主目录中的点文件。将你的点文件存储在 Git 存储库中，可以更轻松地在计算机之间共享系统配置，并且，如果你愿意的话，也可以与其他人共享配置。这篇文章也有不要共享哪些文件的警告，因为共享错误的点文件会将其暴露给其他人。Austin Dewey 的《4 种用于 Git 加密的机密管理工具》在本文中比较了 Git-crypt、BlackBox、SOPS 和 Transcrypt，研究了在 Git 中存储机密的工具。本文涵盖四个主要领域：支持的加密类型、每个项目的目标、项目的工作流和差异以及其他功能。Seth Kenlon 的《使用 Git 管理 Git 服务器》解释了如何使用 Gitolite 管理 Git 服务器。Gitolite 是使用 Git 来管理 Git 服务器的“管理杂项的后端应用程序”。本文演示了如何安装、配置和使用 Gitolite，并提供了清晰的示例详细说明了该过程的每个步骤。via: https://opensource.com/article/19/12/git-resources作者：Joshua Allen Holm 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出