2023年4月

让我们给你总结一下即将发布的 Debian 12 “Bookworm” 的新功能和改进。

Debian 12 已经开发了几个月了,并且正在慢慢走向最终的发布版本。截止发稿时, 它当前正处于冻结状态下。这意味着预计不会有重大的软件包更改或改进。

这个发布版本带来一些新功能和改进,使其成为 Debian 爱好者期待的一个版本。在这篇文章中,我们将讨论 Debian 12 “Bookworm” 的最好的新功能,以及它们如何使用户受益。

让我们来看看。

Debian 12 Bookworm GNOME Desktop

Debian 12 “Bookworm” 的新功能和改进

Linux 内核

这个发布版本采用了发布于 2022 年 12 月的 Linux 主线内核 6.1。从时间线上看,到目前为止,Debian 12 的内核版本号只比最新内核落后一个版本。因此,你将通过使用稳定的 Linux 内核 6.1 来获得最新的和最好的硬件支持。

这个内核的亮点功能包括:初步支持 Rust 框架、更新支持英特尔和 AMD 即将推出的 CPU/GPU 系列硬件、改善 Btrfs 和其它文件系统系统的性能等等。

如果你想要了解更多的话,我们已经有一篇关于 内核 6.1 特性 的专题文章。

在安装程序中的非自由软件包

在 Debian 12 中出现了一个与 Debian 的 ISO 文件有关的重大更改。最初,Debian 就分别针对 “自由” 和 “非自由” 软件包提供了不同的 ISO 文件。专有的 “非自由” 软件包是单独的 ISO 文件的一部分。因此,如果你需要针对你的特殊硬件的驱动支持,那么你可以针对你的笔记本/台式机/服务器下载不同的 ISO 文件。

然而,这种体验使终端用户在选择恰当的 Debian 的 ISO 时感到迷惑。为此,Debian 团队去年发起一次社区投票,以选出如何处理 “非自由” 的最好的选项。

根据 选出的结果 , 现在,基本的 ISO 文件现在包含 “自由” 和 “非自由” 的软件包。

那么,发生了什么变化?

在我们尝试现在官方的 Debian 的 ISO 文件时,你只需要选择一个包含所有东西的 ISO 文件 (DVD 大小的体积)。此外,也提供小型的网络安装的 ISO 文件,包含 “非自由” 固件。

你可以查看关于 Debian 的 ISO 文件的 这篇指南

GNOME 在默认情况下使用 Pipewire

如果你在 Debian Linux 中使用 GNOME 桌面环境,那么,给你带来一个好消息。

Debian 12 和 GNOME 桌面环境 在默认情况下,使用 Pipewire 和 Wireplumber 管理器 作为声音服务器,取代了 Pulseaudio 。现代化的 Pipewire 早就已经引入 Ubuntu 、Fedora 、Pop!\_OS 等其它领先的发行版。

Pipewire in Debian 12

新版本的 Apt 软件包管理器(2.6)

Debian 12 引入 Apt 软件包管理器的最新的版本。Apt 2.6 版本专门处理了这个版本中引入的非自由 ISO 镜像支持。这些更改包含:默认启用非自由固件,Apt 将显示非自由软件包的更新。

桌面环境

在 Debian 12 中,除 GNOME 桌面环境外,所有的主流桌面环境都是最新的。这是因为 GNOME 44 才刚刚发布,由于工作日程计划不一样,因此它没有进入 “Bookworm” 。Debian 12 已经处于硬冻结状态。

因此,在 Debian 12 中,你将得到 GNOME 43 版本,与最新的发布版本相比,它也没有落后多少。此外,如果你从 Debian 11 转换而来,那么,这将是一次重大的 GNOME 升级。

幸运的是,KDE Plasma 5.27 现在可以在这个发布版本中使用了。KDE Plasma 是 Plasma 5 的最终版本,并且在 Plasma 6 版本准备好之前,它可能会成为 LTS 。因此,它是一次重要的升级。KDE Plasma 维护人员成功地实现了这一目标。

另外,在 Debian 12 中的 Xfce 4.18 通过令人惊艳的 Thunar 的特色功能带来了更好的桌面体验。此外,在 Debian 12 中,LXQt 1.2 、MATE 1.26 和 LXDE 11 都是最新的版本。

这里有一份摘要:

  • GNOME 43
  • KDE Plasma 5.27
  • LXDE 11
  • LXQt 1.2
  • MATE 1.26
  • Xfce 4.18

核心模块和应用程序

大多数主要的应用程序都已经刷新版本。尤其是,Python 3.11 已经包含在 Debian 12 中,这将有助于帮助开发者和很多使用情况。此外,LibreOffice 7.4 和 Firefox 102.9 ESR 也是两个重要的更新。这里有一份关于主要应用程序和软件包升级的小列表:

  • LibreOffice 7.4.4
  • Firefox 102.9 ESR
  • GIMP 2.10.32
  • OpenJDK 11.6
  • PHP 8.2
  • Python 3.11+
  • Samba 4.17

杂项更新

  • Debian 12 现在在双启动设置时可以检测到 Windows 11
  • 在 Debian 和 Cinnamon 桌面环境中,默认启用支持屏幕阅读器
  • 在 30 秒超时后,自动启动语音合成
  • 更容易地检测多路径设备
  • 支持多个 initrd 路径
  • 支持新的 ARM 和 RISC-V 设备
  • 放弃实验性的 DMRAID 支持

你可以 在这里 了解更多的变化。

默认的主题和墙纸

在每一次发布版本中,Debian 都会从引入一些来自社区的令人惊叹的艺术作品。Debian 12 以 “ 绿宝石 Emerald ” 作为默认的艺术作品主题。

经过抛光和凿刻,或在它们原始和纯天然的状态下,宝石可以有无限的形状。”

通过 Emerald 主题,创建者希望将光线与矿物质以一种简洁至近乎空灵的设计结合在一起。

默认主题和横幅可以在安装程序、动画 Plymouth 、壁纸等所有的位置都可以看到。

这里是一些选自 官方画廊 的图片。

Default wallpaper

Debian 12 Plymouth

如何下载 Debian 12

注意: Debian 12 尚未发布稳定版本。因此,不要在正式工作中使用它,也不要从 Bullseye 升级到 “Bookworm” 。

如果你正在运行 Debian 11 “Bullseye” ,你可以通过任意的文本编辑器来打开 /etc/apt/sources.list ,并添加下面的命令行。务必验证镜像 URL ,并更改下面的命令行。

deb http://http.us.debian.org/debian bookworm main non-free contrib
deb http://security.debian.org/ bookworm/updates main contrib non-free
deb http://http.us.debian.org/debian sid main non-free contrib

在添加这些命令行后,刷新 apt 缓存:

sudo apt update

接下来,运行下面的命令行来获取更新:

sudo apt dist-upgrade

下载全新的 ISO 文件,访问任意一个下面的链接。

下载 Debian 12 (DVD) ISO – Alpha2

总结

总而言之,Debian 12 “Bookworm” 是一个令人印象深刻的版本,带来了一些新的特色功能和改善。从最新的桌面环境到新内核和更新的软件包,这个发布版本为新用户和有经验的 Debian 用户都提供了很多东西。

因为它专注于稳定性、安全性和开源原则,所以,对于那些寻求替换 Ubuntu 和通用操作系统的人来说,Debian 12 “Bookworm” 可能是最好的选择。

这个版本的最终版本预期在 2023 年第二季度发布。

Debian 12 更改日志(有点过时了)

via: https://www.debugpoint.com/debian-12-features/

作者:Arindam 选题:lkxed 译者:robsean 校对:wxy

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

用一个简单的开源机器人在你的组织中实施 ChatOps。

ChatOps 是一种协作模型,它将人员、流程、工具和自动化连接到一个透明的工作流中。Mattermost 是一个开源、自托管的消息平台,使组织能够安全、有效和高效地进行通信。它是 Slack、Discord 和其他专有消息平台的绝佳 开源替代品。本文概述了在 Mattermost 上创建 ChatOps 机器人的步骤,包括必要的代码示例和解释。

先决条件

在开始之前,请确保你可以访问 Mattermost 服务器,安装 Python,并 使用 pip 安装 Mattermost Python 驱动。

在 Mattermost 上创建一个机器人帐户

要创建机器人帐户,请访问 Mattermost 系统控制台,并添加具有适当访问权限的机器人帐户。获取机器人的用户名和密码以在 Python 脚本中使用。

设置 Mattermost Python 驱动

使用 pip 安装 Mattermost Python 驱动,并将其导入 Python 脚本。创建一个新的驱动实例并登录到 Mattermost 服务器。

在 Python 中创建 ChatOps 机器人

创建一个新的 Python 脚本,定义要导入的必要库,并使用 Mattermost 驱动的 API 实现机器人的功能。编写代码来处理消息、命令和其他事件,并使用 Mattermost 驱动的 API 方法向通道和用户发送消息和通知。最后,调试和测试 ChatOps 机器人。

ChatOps 机器人代码示例

以下是响应用户消息的简单 ChatOps 机器人的示例 Python 代码:

from mattermostdriver import Driver

bot_username = 'bot_username'
bot_password = 'bot_password'
server_url = 'https://your.mattermost.server.url'

def main():
    driver = Driver({'url': server_url, 'login_id': bot_username, 'password': bot_password, 'scheme': 'https'})
    driver.login()
    team = driver.teams.get_team_by_name('team_name')
    channel = driver.channels.get_channel_by_name(team['id'], 'channel_name')

    @driver.on('message')
    def handle_message(post, **kwargs):
        if post['message'] == 'hello':
            driver.posts.create_post({
                'channel_id': post['channel_id'],
                'message': 'Hi there!'
            })

    driver.init_websocket()

if __name__ == '__main__':
    main()

添加功能

在 Mattermost 上创建基本的 ChatOps 机器人后,你可以添加更多功能来扩展其功能。以下是步骤:

  • 确定要添加的功能:在编写代码之前,你必须确定要添加到 ChatOps 机器人的功能。可以是从发送通知到与第三方工具集成的任何事情。
  • 编写代码:确定要添加的功能后,就可以开始编写代码了。代码将取决于添加的功能,但你可以使用 Mattermost Python 驱动与 Mattermost API 交互并实现该功能。
  • 测试代码:编写代码后,重要的是对其进行测试以确保其按预期工作。在将其部署到生产服务器之前,你可以在开发服务器或测试通道中测试代码。
  • 部署代码:当你对其进行了测试并且它按预期工作,你就可以将其部署到你的生产服务器。遵循你组织的部署流程并确保新代码不会破坏任何现有功能。
  • 记录新功能:记录你添加到 ChatOps 机器人的新功能非常重要。这将使其他团队成员更容易使用该机器人并了解其功能。

一个 ChatOps Bot 功能示例是与第三方工具集成并提供某些任务的状态更新。

from mattermostdriver import Driver
import requests

bot_username = 'bot_username'
bot_password = 'bot_password'
server_url = 'https://your.mattermost.server.url'

def main():
    driver = Driver({'url': server_url, 'login_id': bot_username, 'password': bot_password, 'scheme': 'https'})
    driver.login()
    team = driver.teams.get_team_by_name('team_name')
    channel = driver.channels.get_channel_by_name(team['id'], 'channel_name')

    @driver.on('message')
    def handle_message(post, **kwargs):
        if post['message'] == 'status':
            # Make a request to the third-party tool API to get the status
            response = requests.get('https://api.thirdpartytool.com/status')
            if response.status_code == 200:
                status = response.json()['status']
                driver.posts.create_post({
                    'channel_id': post['channel_id'],
                    'message': f'The status is {status}'
                })
            else:
                driver.posts.create_post({
                    'channel_id': post['channel_id'],
                    'message': 'Failed to get status'
                })

    driver.init_websocket()

if __name__ == '__main__':
    main()

在此示例中,ChatOps 机器人监听命令 status 并向第三方工具 API 发出请求以获取当前状态。然后它会在发出命令的 Mattermost 频道中发布状态更新。这使团队成员无需离开聊天平台即可快速获取任务状态的更新。

开源 ChatOps

总之,在 Mattermost 上创建 ChatOps 机器人是一个简单的过程,可以为你组织的沟通和工作流程带来许多好处。本文提供了分步分解和代码示例,可帮助你开始创建你的机器人,甚至可以通过添加新功能对其进行自定义。现在你了解了基础知识,你可以进一步探索 ChatOps 和 Mattermost 以优化团队的协作和生产力。


via: https://opensource.com/article/23/3/chatbot-mattermost-python

作者:Dr. Michael J. Garbade 选题:lkxed 译者:geekpi 校对:wxy

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

ACM 批评最新的 C 语言标准草案 C23

将于今年发布的 C23 标准带来了一系列新的特性和改变,“使编写安全、正确和可靠的代码变得更容易”。ACM 杂志最近撰文称,新标准的非特性、错误特性和缺陷都足够多和严重,程序员在没有仔细权衡风险和收益的情况下不应该 “升级” —— C23 “把几十年来完全合法的程序变成了燃烧弹”,如 C23 现在宣布 realloc(ptr,0) 为未定义行为。它还批评了 C23 的新的不可达注解,以及它在指针方面缺乏改进。

消息来源:ACM
老王点评:看来这次的 C23 未必能给 C 语言带来更好的发展,而另外一边,Rust 虎视眈眈。

VoIP 公司 3CX 最初以为供应链攻击是误报

VoiP 软件提供商 3CX 遭遇了一次供应链攻击,该公司称收到警告之后在 VirusTotal 上测试了其桌面应用,没发现问题,认为是一次误报。几天后又检查了一下,结果相同。但直到网络安全公司提供了完整细节之后 3CX 才认识到漏洞的情况。3CX 的日活用户高达 1200 万,包括诸多知名公司客户。该事件是自 2020 年 SolarWinds 被攻击和 2021 年 Kaseya 被攻击以来最突出的供应链攻击。

消息来源:The Register
老王点评:即便是这样大的公司,也可能面对供应链攻击会措手不及。

谷歌云端硬盘撤销 500 万文件数量限制

此前,有用户报告,谷歌云端硬盘服务对能储存的文件数量设定了 500 万的数量上限,超过这个限额之后就必须删除旧文件,否则将无法使用。它的最高容量为 30 TB,因此达到 500 万文件数量也是有可能的。这个上限只适用于你在云端硬盘中创建的文件数量,而不是分享到云端硬盘的文件总数。谷歌最初称这一做法是为了“保持强大的性能和可靠性”,有助于防止“滥用”。在听到用户反对之后,谷歌承认这一限制影响到了少部分用户,取消 500 万文件数量限制。

消息来源:The Verge
老王点评:这件事里面最糟糕的是,谷歌在没有征询用户意见和给出更弹性的解决方案时,就实施了限制。

这是非常重要的、上古的计算机上运行的,古老软件的新版本。

LM-3 项目宣布了 MIT CADR Lisp 机器 Lisp Machine 系统软件的第 100 版,这是它的最后一个版本。它既是一个新的版本,也是一个非常 古老的版本。

前两天,IBM 的 Eric Moore 在 LinkedIn 上发布了关于这个版本的 消息,他帮助了这项恢复工作。该项目的一个更详细的 帖子 描述了这个软件是什么,以及它是从哪里恢复的。

为什么这很重要?好吧,这款软件和它所运行的机器,是一场 “重要战斗” 的标志和纪念物。那场战斗是一场战争的一个阶段:一场以 “针锋相对的方式” 制造计算机的战争。“历史是由胜利者书写的”,温斯顿·丘吉尔 不是 第一个这样说的人。

这场战争和大多数战争一样,是两个 “对手阵营” 之间的战争。一方认为,制造计算机的正确方法是用最好的语言编写最好的软件,如果有必要的话,还要设计精工巧做的计算机来运行这些软件。另一方认为制造计算机的正确方法是制造小而快、容易而简单的软件和硬件,完成大多数人当时需要的工作。

同样,像大多数战争一样,这场战争是漫长而险恶的,双方都有一些肮脏的内斗。最终,有一方取得了决定性的胜利,但已经花了太长的时间,胜利者大多是开始战斗的那些人的后代和亲属。如今,他们甚至根本不记得有这么一场战争,而胜利的一方最终吸收了很多失败一方的想法和技术。最终的结果是,软件并不小而快,也不容易而简单。胜利的一方忘记了他们在战斗,也忘记了与之战斗的对手。

当胜利者忘记他们已经胜利了,也忘记了他们在战斗,这意味着失败者可以写一些最好的战争总结。一篇著名的报道是写自 1991 年的文章,名为《Lisp:好消息,坏消息,如何大获全胜》,其中说:

这两种哲学被称为 “ 做正确的事 The Right Thing ” 和 “ 差点则更好 Worse is Better ”。

“做正确的事” 是麻省理工学院/斯坦福的设计风格。另一边呢?

早期的 Unix 和 C 就是使用这种设计流派的例子,我将把这种设计策略的使用称为“新泽西方式”。

这篇文章只有短短几页,但如果你现在没有时间,用一句话可以概况,即 “差点则更好”。

换句话说,一方从麻省理工学院和斯坦福大学开始,他们最终设计了一种叫做 Lisp 机器 Lisp Machine 的计算机。另一方建立了 Unix 和后来专用的工作站,以快速运行 Unix,这需要可以快速运行编译的 C 代码的特殊处理器,它被称为 RISC 芯片。英特尔和 AMD 将 RISC 的一些技术和方法改编为 486 和奔腾芯片,AMD 则改编为皓龙和 x86-64,结果是 x86 电脑最终将 RISC 工作站赶出了市场。不过,今天,由于高端的 苹果芯片 Mac 和低端的 RISC-V,RISC 正在复兴当中。

但是,x86、RISC 和 CISC,以及 基于 Algol 的整个语言家族,包括从 BASIC 到 C++、到 Pascal、到 Go,基本上都是胜利一方的派别。而另一方现在几乎都被遗忘了,但有两个大的例子。一个是已故伟大的 约翰·麦卡锡 John McCarthy 创造的 Lisp,以及 整个基于 Lisp 的操作系统 所运行的 Lisp 机器。另一个是 Smalltalk 和施乐公司的 Alto

Symbolics 3620 (left) and LMI Lambda Lisp machines

麻省理工学院第一次尝试建造运行 Lisp 的计算机是一台 1974 年的原型机,名为 CONS,它以 Lisp 的一个关键词命名。1979 年,它更成功的后代被称为 CADR。CADR 计算机后来成为两家商业 Lisp 机器公司 LMI 和 Symbolics 的首批产品的基础,后者拥有互联网上的第一个 .com 域名。这些公司的成立,以及它们的软件的分拆,开始了 一个叫 理查德·斯托曼 Richard Stallman 的年轻黑客的职业生涯。

这条蓝色的导火索启动了 Emacs、GNU 项目,以及 自由软件运动 Free Software movement 。该项目建立了 GCC 等工具,这些工具被用来创建 Linux,而 Linux 本身也启动了 开源运动 Open Source movement

这次恢复的软件是麻省理工学院 CADR Lisp 机器的系统软件的最终版本。该软件是从麻省理工学院 技术广场磁带 Tapes of Tech Square (ToTS)收藏中的备份磁带上提取的,但它花了十年的时间来提取数据,对其进行清理,并使其在 35 年后首次运行。这是一个庞大的 工程

是的,如今可以运行这个软件,至少在软件模拟器上可以运行,比如最初由 Brad Parker 开发的 usim。它的源代码和一些历史都在 GitHub 上。


via: https://www.theregister.com/2023/03/31/mit_cadr_software_recovered/

作者:Liam Proven 译者:wxy 校对:wxy

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

某个在应用中利用零日漏洞的团队已被解散

之前我们报道过,某个主流电商应用利用零日漏洞达成不可卸载、窃取用户信息等恶意功能,后被谷歌 下架。此事也被其它安全团队独立 验证。据外媒报道,该公司有上百人负责挖掘安卓漏洞,并利用这些漏洞。最初带有恶意功能的版本只针对农村和小城镇的用户,以避免被发现。通过收集用户活动的大量数据,它得以提供更具有个性化的推送通知和广告,吸引用户打开应用并下单。此事曝光发酵后,该团队被解散,大部分人员被分流。并释出了新的版本移除了漏洞利用代码,但底层代码仍保留在其中。安全专家表示,他们从未看到过一个主流应用会那样做。

消息来源:CNN
老王点评:我的理解是,这就是“知行合一”。

上古的 LISP 机系统软件 v100 恢复成功

这是 MIT CADR Lisp 机的系统软件的最后一个版本。因此,这既是一个新的版本,也是一个非常古老的版本。这款软件和它所运行的机器是一场“重要战斗”的标志和纪念物,那场战斗是一场以敌对方式制造计算机的战争。战斗的双方,MIT/斯坦福一方认为,制造计算机的正确方法是用最好的语言编写最好的软件,如果有必要的话,还要设计特殊的花哨的计算机来运行这些软件;新泽西一方认为制造计算机的正确方法是制造小而快、容易和简单的软件和硬件,做大多数人在当时需要的事情。结果我们都知道了,MIT Lisp 机已经湮没在历史中;而胜利方开发出了 Unix 和 C,建立了 RISC、CISC、X86 指令架构,和基于 Algol 的整个语言家族,包括从 BASIC 到 C++ 到 Pascal 到 Go。被恢复的是 MIT CADR Lisp 机的系统软件的最终版本,从备份磁带上花费了十年的时间提取和清理,并使其在 35 年后首次运行。

消息来源:The Register
老王点评:真是尘封的历史文物。

Tor 合作推出的新浏览器不使用洋葱网络

Tor 项目正在推出一个注重隐私的浏览器 Mullvad 浏览器,它并不是连接到去中心化的洋葱网络。该浏览器的主要目标是使广告商和其他公司更难在互联网上追踪你。默认情况下,该浏览器通过屏蔽元数据,使网站更难对你进行 “指纹” 识别。此外,它还阻止了第三方 Cookie 和跟踪器,并预装了一些插件来进一步减少你的指纹。

消息来源:The Verge
老王点评:虽然装插件也可以实现,但是开箱即用还是会方便。只是这种浏览器有时候并不太方便。

Gedit 是一个好的文本编辑器。用这些技巧、窍门和调整把它变成一个好的代码编辑器。

GNOME 可能已经抛弃了 Gedit 作为默认的文本编辑器,但它仍然是 Linux 老用户的最爱。

它主要是一个文本编辑器,但通过一些调整,它可以作为一个轻量级的代码编辑器使用。

是啊!为什么要用 VS Code 或其他专门的代码编辑器来编写 Bash 脚本或其他语言的简单程序?用 Gedit 也可以过一天。

我将在本文中分享一些我最喜欢的 Gedit 技巧和窍门。虽然大多数的调整对写代码是有益的,但有些对一般的文本写作也是有帮助的。

1、安装插件

可能个别人甚至不知道 Gedit 有强大的插件功能。你可以安装插件来获得额外的功能。

有两种类型的插件:

  • 可以从编辑器菜单中访问的官方 Gedit 插件
  • 第三方插件,可以从项目网站上下载,并放入插件目录中(下面讨论)。

Gedit 插件可以放在 /usr/share/gedit/plugins~/.local/share/gedit/plugins 目录下。

你可以通过点击 “汉堡包” 菜单,然后打开 “ 首选项 Preferences ” 窗口来访问可用和已安装的插件。

首选项窗口有 “ 插件 Plugins ” 标签,你可以看到所有可用的插件。你可以使用复选框来启用和禁用这些插件。

2、在侧边栏中显示文件浏览器

如果你正在处理一个有多个文件和文件夹的项目,在侧边栏中用文件浏览器看到所有可用的文件是相当有用的。

进入 “首选项” -> “插件”,启用 “ 文件浏览器面板 File Browser Panel ”。

之后,点击右上角的汉堡包菜单,从菜单 “ 查看 View ” -> “ 侧面板 Side Panel ” 启用侧面板视图。

现在把侧面板视图改为文件浏览器,如果还没有的话。

3、嵌入一个终端

是的!你可以在 Gedit 文本编辑器中直接嵌入一个终端。

这有什么意义呢?嗯,如果你正在写程序或脚本,嵌入终端可以帮助你运行脚本,并在编辑器中检查代码的变化。

要得到这个,首先要安装这个插件(针对 Ubuntu):

sudo apt install gedit-plugin-terminal

一旦插件安装完毕,从 “首选项” -> “插件” 中启用它。

嗯,从汉堡包菜单-> “查看”-> “ 底部面板 Bottom Panel ” 中启用底部面板。

4、Markdown 预览

喜欢 Markdown 吗?我也是!

有几个适用于 Linux 的 Markdown 编辑器,但你不必为了使用 Markdown 而去安装另一个应用程序。

在一个名为 “Gedit Markdown Preview” 的插件的帮助下,Gedit 完全有能力呈现 Markdown 代码。

Arch 用户可以在 AUR 中找到它,软件包为 gedit-plugin-markdown_preview

其他 Linux 用户可以找到 项目网页上的安装说明

一旦安装,在插件中启用它。你必须从汉堡包菜单 -> “查看”-> “侧面板” 中启用侧面板视图。

有了这个,它就开始在侧面板或底部窗格中显示 Markdown 文本的渲染文本。

5、创建代码片段

好的码农编码,优秀码农复用。

如果你发现自己重复使用同一段代码或文本,你可以将其保存为片段,并在需要时插入。这将为你节省一些时间(和挫折)。

先启用片段插件:

现在你可以从汉堡包菜单-> “ 管理片段 Manage Snippets ” 来访问片段。

你会发现它已经有几个为各种编程语言添加的片段。

你也可以通过点击左下角的 “+” 号将你的片段添加到所需的文件夹中。你也可以为片段指定一个快捷键,以便更快速地插入它们。

例如,我为 添加一个 Markdown 表格 添加了一个新的片段,并为其分配了一个键盘快捷键和 TAB 触发器(如上图所示)。现在,如果我在 Markdown 文档中按 CTRL + Alt + S,就会添加一个表格。或者,输入 table 并按下 TAB 键也会添加 Markdown 表格。

? 通常,片段被保存在 /usr/share/gedit/plugins/snippet 文件夹中作为 XML 文档,但我找不到新添加的片段被保存在哪里。

6、修复深色模式的问题

编码员喜欢深色模式。Gedit 遵守系统主题,如果你在操作系统层面切换到深色模式,它也会切换到深色模式。

一个主要的问题是,你无法阅读当前选定行的任何内容,因为文本和行的高亮部分都是白色的。

这个问题没有解决办法。然而,一个变通的办法是,要么禁用当前行的高亮显示,要么使用不同的颜色方案。

进入 “首选项” -> “ 字体和颜色 Font & Colors ”,然后选择像 Oblivion 这样的深色方案。这将稍微改变颜色方案,但至少你能看到高亮行的文字。

7、快速高亮选中的文本

双击一个词,Gedit 就会高亮显示整个文档中出现的所有相同的词。

虽然有一个官方插件,但这个功能默认是不启用的。

进入 “首选项” -> “插件”,启用 “ 快速高亮 Quick Highlight ” 选项。

8、显示行号

许多代码编辑器默认都会显示行号。当你看到 “第 X 行的语法错误 ” 时,它可以帮助你快速找到该行。

你可以通过进入 “首选项” -> “查看” -> “ 显示行号来启用行号 Display Line Numbers ”:

你也可以从底部启用或停用它。

9、保存一个版本

如果你正在修改一个文件,也许建立一个备份副本会更好?Gedit 可以自动做到这一点。

在 “首选项” -> “ 编辑器 Editor ” -> “ 创建一个备份副本 Create a Backup copy ” 中启用这个功能。

一个在原文件名称后面加上 ~ 符号的文件将作为备份文件出现。

10、自动保存文件

既然我们在谈论版本和备份,那么 在 Gedit 中启用自动保存 怎么样?这样,如果你在处理一个文件时,忘记用 Ctrl+S 手动保存,修改的内容会自动保存。

? 这个功能对一个从未在磁盘上保存过的全新文档不起作用。

从 “偏好” -> “编辑器”,你可以启用 “ 自动保存 Autosave ” 功能。默认情况下,它每 10 分钟自动保存一次,但你可以根据自己的喜好改变时间。

还有一个第三方的 smart-auto-save 扩展,可以在你停止输入时自动保存文档。

知道更多的 Gedit 技巧吗?

使用任何软件的乐趣之一是发现它不那么明显的功能。

在这里,你最喜欢哪个 Gedit 的调整?你知道一个没有多少人知道的 Gedit 的秘籍吗?在评论中与我们分享吧?


via: https://itsfoss.com/gedit-tweaks/

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

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