分类 技术 下的文章

一些很酷的功能将在 Xubuntu 23.04 “Lunar Lobster” 版本中出现。

Xubuntu 23.04,基于即将发布的 Ubuntu 23.04 “Lunar Lobster”,将于 2023 年 4 月 20 日到达。这个最新版本建立在 Linux 内核 6.2 上,带来了最新的硬件、CPU、GPU 和文件系统支持。

从改进的小程序到更强大的 Thunar 文件管理器,Xubuntu 23.04 提供了大量的改进和错误修复,通过所有 Linux 桌面的 “OG” —— Xfce 4.18,提供了更精炼的用户体验。

Xubuntu 23.04 桌面

如果你正在使用之前的 Xubuntu 22.10,那么你可能会注意到桌面环境的明显变化。Xubuntu 22.10 以开发版 Xfce 4.17 为特色,并带有来自 Xfce 4.18 少量功能。

考虑到这一点,让我们来看看 Xubuntu 23.04 “Lunar Lobster” 的最佳新功能。

Xubuntu 23.04 的最佳新功能

Xfce 4.18 更新

这个版本中的一个重要变化是对 Xfce 桌面环境的更新。Xubuntu 23.04 基于 2022 年 12 月发布的 最新的 Xfce 4.18。Xfce 4.18 是该桌面环境的一个重要里程碑,提供了对 GTK4 的更新、对 Wayland 的初始支持以及对核心原生应用的改造,更新量很大。

顶部主面板已经更新了新的设置和调整,而整体外观仍与早期版本相同。一些默认的面板小程序在这个版本中也被改变了,而桌面图标、右键上下文菜单和项目保持不变。

Xfce 4.18 中的面板偏好

面板首选项得到了增强,有两个新的选项。首先,面板的长度现在是以像素为单位,而不是百分比。其次,增加了一个新的选项,“保持面板在窗口上方”,允许用户将窗口对话放到面板后面。在早期版本中,应用程序窗口只能达到面板边缘。

在 Xfce 4.18 中对时钟小程序的设置进行了大修。用户终于可以改变 Xfce 时钟小程序的字体风格,并且有四个时钟布局选项:只显示日期,只显示时间,日期和时间,以及时间和日期。

Thunar 文件管理器的更新

由于在 Google Summer of Code 2022 期间所做的工作,用户现在可以在 Thunar 的嵌入式侧边栏中看到图片预览,或者在独立模式下出现在右侧的新面板中,这可以通过偏好设置进行更改。

Thunar 的设置也得到了加强,增加了一个新的标签用于定制键盘快捷键。用户现在可以直接指定新的组合键,并从这个标签中改变现有的组合键。

一个新的搜索图标已经取代了工具栏中的重载按钮,当点击它时,它会在地址栏中调出搜索,用用户的搜索关键词进行递归搜索。重载按钮已被移至 “ 查看 View ” 菜单。另一个新项目,“ 最近 Recent ”,已被添加到左边的导航栏。同时,元数据被组织得更好了(从逗号分隔换成竖线分隔),一个新的上下文菜单项允许用户选择他们想要的选项。

Thunar 的主菜单也发生了重大变化。引入了一个新的 “ 书签 Bookmarks ” 菜单,允许用户将当前文件夹作为快捷方式添加到侧边栏中。“ 编辑 Edit ”菜单现在包括 “ 撤销 Undo ” 和 “ 重做 Redo ” 选项,而 “ 前往 Go ” 菜单则有 “最近”和 “ 按文件搜索 Search for the file ”选项。

Thunar 带有分割视图和图像预览

Thunar 还首次通过 “ 视图 View ” 菜单项增加了分割视图,使用户能够在视图面板中拖放项目。另外,为了组织你的文件夹以加快工作流程,Thunar 还为你的文件夹及其名称引入了背景颜色。

带有文件夹高亮选项的 Thunar

除了 Xfce 4.18 的功能外,Xubuntu 23.04 还为窗口管理器和桌面的提供了更多的错误修复和性能改进。这些改进是在底层进行的;用户可以期待一个更精巧的 Xfce 桌面体验。

虽然 Xfce 桌面核心和本地应用程序的 Wayland 迁移工作已经开始,但它仍然远远没有准备好。因此,这个 Xubuntu 23.04 可能是未来 Wayland 工作的基础,希望可以出现在下一个 Xubuntu LTS 之前。虽然,考虑到 Xfce 团队的规模和其他方面,这不太有信心。

最小化 ISO

正如我之前所报道的,Xubuntu 23.04 也引入了一个最小化的 ISO 镜像,其中只有基本的 Xfce 桌面组件,没有任何额外的预装软件。你可以试试这个最小化的 ISO,为你的工作流程建立你自己的桌面设置。

最小化的 ISO 大小目前为 1.9GB,团队正在努力在未来的版本中进一步减少它。

你可以在 这篇文章中 阅读更多关于 Xubuntu 最小化 ISO 的信息。

Xubuntu 最小化和标准安装比较

Flathub 和 Snap

几周前,Canonical 宣布已决定从所有 Ubuntu 官方风味版中默认删除 Flatpak 支持。因此,在 Xubuntu 23.04 中,你将不会默认安装 Flatpak。

Ubuntu 自己的 Snap 将默认安装所有相关组件,以运行几个 Snap 应用程序,如 Firefox。

但是,在 Xubuntu 中设置 Flatpak 和 Flathub 非常容易,只需要两个命令

其他变化和总结

在核心方面,Xubuntu 23.04 基于 Linux 内核 6.2 主线版本,它带来了对领先制造商的最新 CPU/GPU 产品的支持。此外,这个内核版本还引入了内存优化、安全修复和许多附件支持。

应用程序栈和 GNOME 组件的更新如下:

  • Firefox 111.0(Snap)
  • Thunderbird 102.9
  • Thunar 4.18.4
  • Parole media player 4.18
  • LibreOffice 7.5
  • GNOME Software 44.0
  • Catfish file search 4.16.4
  • Transmission 3.0

GNOME 软件应用 44 在 Xubuntu 23.04 中

在核心部分,Python 3.11 现在可以在 Xubuntu 23.04 中开箱即用。你不需要再单独 安装 Python 3.11 了。值得一提的是,Python 3.12版本将在今年发布,目前正在进行多个 RC 测试。下面是这个版本中核心模块的总结:

  • Python 3.11
  • GCC 13
  • GlibC 2.37
  • Ruby 3.1
  • golang 1.2
  • LLVM 16

下载

你可以从下面的链接中下载 Xubuntu 23.04(测试版)。请记住,它仍然在进行测试。所以,请谨慎使用它。

下载 Xubuntu 23.04 - Beta

如果你想要 Xubuntu 23.04 的最小化 ISO,你可以从下面的链接获得该文件。了解更多关于 Xubuntu-mini

下载 Xubuntu 23.04 (mini-ISO) - Beta

总结

总之,Xubuntu 23.04 是一个重要的版本,具有 Xfce 4.18 桌面环境的若干改进和功能。由于专注于提高用户体验,Xubuntu 用户可以享受到最新的 Linux 内核、改进后的 Thunar 文件管理器以及其他一些调整和变化。

这将是 Xubuntu 对每个人来说最好的版本之一。

专题图片来源:xfce-look


via: https://www.debugpoint.com/xubuntu-23-04/

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

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

这种有趣的开源语言是学习编码真正的完美选择。

在这篇文章中,我将介绍一个最好的编码语言,学习如何制作任何东西!它叫做 Emojicode,是由 Theo Belaire 在 2014 年创建的,它是一种开源的编程语言,使用 emoji 字符来表示其语法。当用 Emojicode 开发时,表情符被用来创建变量、函数和控制结构。因为它是一种静态类型的语言,变量类型必须在使用前声明,但它也支持类和继承等面向对象的概念。这种语言可以在每个操作系统上运行,它是一种超级有趣的编码方式,特别是当你是一个非英语母语的人时。这很有帮助,因为象形表示可以把我们大家聚集在一起,让我们以类似数学的方式说同样的语言。

先决条件

在本教程中,我使用的是基于 Debian 的操作系统。我的工具可能与你的操作系统的要求不同。以下是我所使用的工具:

  • Geany,一个 Linux 下的开源 IDE。
  • IBus,它允许你挑选表情符并把它们放在你的编辑器中。我使用的界面被称为 emoji picker
  • 基于 Debian 的 Linux。
  • 一个 C++ 编译器。我使用的是 g++ 编译器。
  • Emojicode

我使用的是 Linux 操作系统,但你可以 阅读文档 了解在其他操作系统上使用它时可能需要采取的任何特殊步骤。

在 Linux 上安装 Emojicode

有几种方法可以在你的电脑上安装 Emojicode,但它们有一个很酷的 神奇的安装页面,可以告诉你具体该怎么做。下面是我的做法:

$ wget https://github.com/emojicode/emojicode/releases/download/v1.0-beta.2/Emojicode-1.0-beta.2-Linux-x86_64.tar.gz -O emojicode.tar.gz \
    && tar -xzf emojicode.tar.gz && rm emojicode.tar.gz \
    && cd Emojicode-1.0-beta.2-Linux-x86_64 && ./install.sh \
    && cd .. && rm -r Emojicode-1.0-beta.2-Linux-x86_64

Emojicode 的安装过程提供了有用的反馈。

The emojicode installation procedure provides useful feedback along the way.

现在,你已经安装好了,是时候开始编写代码了!

它是怎么运作的?

首先,所有 Emojicode 文件的扩展名都以文件名 .? 结尾,但因为你不能在一般的文件名中这样做,所以它被翻译成 filename.emojic。这里是最重要的语法元素:

  • ? 放在一行的开头,表示要执行哪些代码块
  • ? 开始一个代码块
  • ? 来结束一个代码块
  • 想打印什么吗?就用 ? ? <string> ? ❗

还有很多其他的,所以这里有一些实际的例子。

打印一首俳句

首先,试着打印一首漂亮的俳句来玩玩吧! 在这个例子中,我将添加一行注释。看看你是否能识别它。

??
? This is a single line comment for fun
? ?Emojicode is great,? ❗
? ?Fun and expressive code,? ❗
? ?no sadness, just joy.? ❗
?

现在我们需要保存我们的代码,并通过我们的编译器运行它,使之成为一个漂亮的可执行文件:

$ emojicodec haiku.emojic 
$ ls
haiku  haiku.emojic  haiku.o

正如你所看到的,代码已经被编译并生成了两个文件,其中一个是可执行的。运行 haiku 文件:

$ ./haiku 
Emojicode is great,
Fun and expressive code,
no sadness, just joy.

数学和变量操作

接下来,你要同时做几件事:一点点数学和变量的改变。首先,将一个变量赋值为 0:

0 ➡️ ??x

你刚刚使用蜡笔(?)表情符、新建(?)表情符和变量名称创建了一个新变量,同时还将该变量赋值为 0。

接下来,用磁铁(?)表情符打印一行包括该变量的内容:

? ?The value is ?x? ? ❗

接下来,使用加号()和箭头(⬅️)表情符改变变量:

x ⬅️➕ 1

然后打印另一行的值。如此这般,然后打印出最终的数值。如下:

? ?

?Updating a variable using math 
0 ➡️ ??x
? ?The value is ?x? ? ❗

x ⬅️➕ 1
? ?The value is ?x? ? ❗

x ⬅️➕ 15
? ?The value is ?x? ? ❗

x ⬅️➖ 9
? ?The value is ?x? ? ❗

x ⬅️➗ 2
? ?The final value is ?x? ? ❗
?

接下来,用 emojicodec 编译代码,然后用你的可执行代码来看看结果:

$ emojicodec math.emojic 
$ ./math 
The value is 0 
The value is 1 
The value is 16 
The value is 7 
The final value is 3

如你所见,作为变量打印出来的所有内容都已使用新数学进行了更新。你可以用许多数学表情符来进一步操作。下面是一些更多的运算符:

? is your modulo
◀ Less than
▶ Greater than
◀? less than or equal to
▶? greater than or equal to

Emojicode 的怪癖

当我在文档中来回查看时,我发现了一些有趣的怪癖。其中之一是,当从用户那里抓取输入时,由于一些已知的编译器问题,耳朵的肤色很重要。

获取用户输入的动作是这样的:

??▶️??❗️

获取和分配用户输入的操作是这样的:

??▶️??❗️ ➡️ inputText

我试图让它工作,我的编译器出现了一些问题,我发现了这个问题。你也可能会在这里和那里遇到一些小问题。如果你遇到了,请创建一个 议题,这样它就有可能被修复。

没有技巧,只有很棒的代码

虽然我可以介绍更多内容,但我可以向你保证,这段令人惊叹的代码背后的文档非常丰富。尽管我写这篇文章只是为了赶上愚人节的乐趣,但我不得不承认这是有史以来最好的语言之一,因为它教会了你很多非常真实的编程概念。我恳切地建议把它作为一种有趣的方式来教你的一些朋友、孩子,或者是对编码感兴趣的同学。希望你度过了一个充满乐趣的愚人节!


via: https://opensource.com/article/23/4/emojicode

作者:Jessica Cherry 选题:lkxed 译者:geekpi 校对:wxy

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

在发表这篇文章之前,我解释了如何为一个单用户系统 在 NixOS 中安装和删除软件包

但是,如果你正在供多个用户使用,有一个很好的方法来分别满足每个用户的需求。

在本指南中,我将指导你如何在 NixOS 上设置一个 主目录管理器 Home Manager ,以及如何使用它来安装软件包。

如果你是新读者,本系列中讨论的一些资源包括:

在 NixOS 上设置主目录管理器

在本指南中,我将指导你通过 2 种方式来设置主目录管理器:

  • 独立的主目录管理器(使用单独的配置文件)
  • 作为一个 NixOS 模块(在 configuration.nix 文件中使用它)

那么,让我们从独立方式开始。

独立安装的主目录管理器

如果你使用的是 NixOS 的稳定频道,你可以使用以下命令来配置主目录管理器:

nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

在编写本指南时,稳定版是 22.11

如果你在一个不稳定的频道上,请使用以下命令:

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

无论你使用稳定版还是不稳定版,下面的步骤都是一样的。

一旦完成,更新频道:

nix-channel --update

最后,使用下面的命令来安装主目录管理器:

nix-shell '<home-manager>' -A install

?️ 在安装时,可能会出现以下错误:

安装主目录管理器时出现构建错误

重新启动你的系统并再次使用安装命令,它将开始安装。

一旦完成,它将显示独立安装的主目录管理器的位置:

主目录管理器在NixOS中的位置

将主目录管理器安装为 NixOS 模块

⚠️ 如果你选择将主目录管理器作为 NixOS 模块使用,你将需要 sudo 权限。

如果你在一个稳定的频道上(在写本文的时候,是 22.11),你可以使用下面的命令来添加主目录管理器的稳定频道:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

如果你使用的是不稳定通道或主通道,则使用以下命令:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

一旦你使用上面的任何一条命令完成了添加频道的工作,就用下面的方法更新频道:

sudo nix-channel --update

接下来,用以下方法打开 configuration.nix 文件:

sudo nano /etc/nixos/configuration.nix

并在 imports [] 中添加以下一行:

<home-manager/nixos>

将主目录管理器安装为 NixOS 模块

现在,跳到该行的末尾,在 } 前添加以下内容:

home-manager.users.{username} = { pkgs, ... }: {
  home.packages = [ ] ;
  };

NixOS 配置文件中的主目录管理器模块的格式

上面这一行是为了方便安装和删除软件包而添加的,我接下来会告诉你。

现在,保存修改并退出 Nano 文本编辑器。

接下来,重建配置,并做一个切换:

sudo nixos-rebuild switch

但如果你使用的是稳定版,并使用上述命令,就会出现以下错误:

?️ 错误: 选项 home-manager.users.user.home.stateVersion 被使用但没有定义:

错误: 选项  已被使用但未被定义。

要解决这个问题,你必须在你的主目录管理器块中添加 home.stateVersion

在写这篇文章时,我正在运行 22.11,所以整个主目录管理器块看起来像这样:

home-manager.users.{username} = { pkgs, ... }: {
  home.stateVersion = "22.11";  
  home.packages = [ ] ;
  };

如何解决  选项被使用但没有定义。

保存修改,按 Ctrl+O,按回车键和 Ctrl+X 退出 Nano 文本编辑器。

现在,试着重建配置并再次进行切换,应该可以解决问题。

如何在 NixOS 上使用主目录管理器安装软件包

现在你已经安装了主目录管理器,如何用它来安装软件包:

使用独立安装的主目录管理器

首先,用下面的方法打开配置文件:

nano /home/$USER/.config/nixpkgs/home.nix

跳到行末,在 } 前添加以下代码块:

home.packages = [];

现在,你所要做的就是在这两个大括号之间写上软件包的名称。

例如,如果我想安装 htop,我将得输入以下内容:

home.packages = [pkgs.htop];

是的,你通常要在软件包的名称后面加上 pkgs.

但是,如果你想在每次安装新包时不使用 pkgs.,可以改变代码块的语法,如图所示:

home.packages = with pkgs; [];

而现在,你不再需要在每次安装时使用 pkgs.

home.packages = with pkgs; [htop];

例如,在这里,我想安装 htopfirefoxlibreoffice,所以我的 home 块会看起来像这样:

在 NixOS 上使用主目录管理器安装多个软件包

一旦你完成了添加你喜欢的软件包,保存配置文件并使用以下命令来安装软件包:

home-manager switch

使用 NixOS 模块方式

首先,用以下命令打开 configuration.nix 文件:

sudo nano /etc/nixos/configuration.nix

在配置部分,我已经添加了主目录管理器块,所以剩下的就是在 home.packages = [ ]; 里面添加软件包的名称,格式如图所示:

home.packages = [ pkgs.package_name ] ;
?我已经在上节提到软件包名称前你可以使用 pkgs.

例如,如果我想 安装 htop、Firefox 和 LibreOffice,那么我将添加:

pkgs.htop pkgs.firefox pkgs.libreoffice

然后我的主目录管理器块会看起来像这样:

作为 NixOS 模块在主目录管理器中安装多个软件包

现在,保存修改并退出文本编辑器。

接下来,重建配置并使用以下命令进行切换:

sudo nixos-rebuild switch

这是这样!软件包将很快被安装。

这就结束了

我认为你应该选择独立安装,因为你不需要使用超级用户的权限。另外,如果你运行一个有多个用户的系统,为不同的用户拥有不同的配置文件是相当方便的。

因此,除非你想用一个文件来实现各种目的,否则我认为没有其他理由使用模块选项。

就这样,我结束了 NixOS 的初学者系列。我希望它能给你一个足够好的平台来熟悉这个独特的 Linux 发行版。

? 你喜欢 NixOS 系列文章吗?对于 NixOS 的初学者,我们还有什么要介绍的吗?请提供你的宝贵意见。


via: https://itsfoss.com/home-manager-nixos/

作者:Sagar Sharma 选题:lkxed 译者:wxy 校对:wxy

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

让我们给你总结一下即将发布的 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中国 荣誉推出

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中国 荣誉推出