分类 技术 下的文章

KDE 开发人员启用了有名的 Backports PPA,以便你在 Kubuntu 21.10 中安装/升级到 KDE Plasma 5.24。 以下是方法。

KDE Plasma 5.24 最近的 发布 带来了令人兴奋的变化。在这个新版本中,你会得到一个全新的概览页面,它很像 GNOME 的概览。此外,还有崭新的默认 Breeze 主题、性能提升、通知外观的调整等。在我们的 官方综述页面 可以阅读更多关于这些功能的信息。

如果你很匆忙,没有时间阅读文章,这里有一组简短的命令,可以做到这些。?

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update
sudo apt full-upgrade

如果你运行 Kubuntu 21.10 Impish Indri,你不会马上得到这个更新。因为 Kubuntu 21.10 Impish Indri 目前采用 KDE Plasma 5.22.5 作为稳定版本。尽管 Kubuntu 21.10 计划在 2022 年 7 月结束生命,但你仍然可以通过 Backports PPA 安装 KDE Plasma 5.24。

然而,请注意,你将在 2022 年 4 月的 Kubuntu 22.04 LTS 中得到 KDE Plasma 5.24,这要比 Kubuntu 21.10 的寿命结束早得多。

如何在 Kubuntu 21.10 中安装 KDE Plasma 5.24

下面是你如何将 Kubuntu 21.10 中现有的 KDE Plasma 更新到最新版本。

如何在 Kubuntu 21.10 中安装 KDE Plasma 5.24

如果你习惯使用“ 发现 Discover ” 感到满意,请添加 Backports PPA ppa:kubuntu-ppa/backports 作为软件源并点击更新。一旦检索到更新的软件包信息,就可以安装。

我建议使用以下终端方法,以获得更快和无错误的安装。

打开 Konsole,运行以下命令来添加 backports PPA。如果你喜欢,你可以验证你运行的 Plasma 是什么版本。

sudo add-apt-repository ppa:kubuntu-ppa/backports

Add the PPA

现在,刷新软件包列表并验证最新的 5.24 软件包是否可供升级。

Check the latest KDE Plasma 5.24 packages before upgrading

现在运行最后的命令来启动升级。

sudo apt full-upgrade

上面的命令会下载大约 270MB 以上的软件包。升级过程大约需要 10 分钟。命令完成后,重启你的系统。

而你应该通过 Kubuntu 21.10 Impish Indri 获得了全新的 KDE Plasma 5.24。

KDE Plasma 5.24 in Kubuntu 21.10

如何在 Ubuntu 21.10 中与 GNOME 一起安装 KDE Plasma 5.24

如果你正在运行带有默认 GNOME 的 Ubuntu 21.10 Impish Indri,你也可以体验全新的 KDE Plasma 桌面,只需对上述命令稍作修改即可。

打开一个终端,依次运行下面的命令。

sudo add-apt-repository ppa:kubuntu-ppa/backpots
sudo apt update
sudo apt install kubuntu-desktop

上述命令完成后,重启系统。在登录页面上,选择 KDE Plasma 作为桌面环境。然后你就可以开始了。

这将与 GNOME 桌面一起安装 KDE Plasma 5.24。

我可以在 Ubuntu 20.04 LTS 中安装 KDE Plasma 5.24 吗?

Ubuntu 20.04 LTS 版有早期的 KDE Plasma 5.18、KDE Framework 5.68、KDE Applications 19.12.3。所以,在它的整个生命周期中,它不会收到最新的 KDE 更新。所以,从技术上讲,你可以添加上述 PPA 并安装 KDE Plasma 5.24。但我不建议这样做,因为不兼容的软件包框架可能会导致系统不稳定。

所以,建议你使用 Kubuntu 21.10 和上述的 Backports PPA 或者使用 KDE Neon 来体验最新的 Plasma 桌面。

如何卸载

在任何时候,如果你想回到 KDE Plasma 桌面的原始版本,那么你可以安装 ppa-purge 并删除 PPA,接着刷新软件包。

打开一个终端,依次执行以下命令。

sudo apt install ppa-purge
sudo ppa-purge ppa:kubuntu-ppa/backports
sudo apt update

当命令完成,重启你的系统。

结束语

我希望这个快速指南能让你从不同的使用情况下全面升级到 KDE Plasma 5.24。希望你能在没有任何错误的情况下完成升级。

请在下面的评论栏里告诉我进展如何。


via: https://www.debugpoint.com/2022/02/kde-plasma-5-24-kubuntu-21-10/

作者:Arindam 选题:lujun9972 译者:geekpi 校对:wxy

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

无论你是一个网络工程师还是一个好奇的爱好者,当你在市场上购买网络设备时,都你应该看看开源的 Turris Omnia 路由器。

在 21 世纪初,我对 OpenWrt 很着迷,只想在自己的路由器上运行它。不幸的是,我没有一个能够运行自定义固件的路由器,所以我花了很多周末去旧货地摊,希望能偶然发现一个 “Slug”(黑客们对 NSLU2 路由器的俚语),但这是徒劳的。最近,我买到了 Turris Omnia,除了有一个更酷的名字外,它是一个来自捷克的路由器,使用建立在 OpenWrt 之上的开源固件。它拥有你对运行开源硬件所期望的一切,而且还有很多东西,包括可安装的软件包,因此你可以准确地添加你的家庭或企业网络最需要的东西,而忽略你不会使用的部分。如果你认为路由器是简单的设备,没有定制的余地,甚至除了 DNS 和 DHCP 之外没有其他用途,那么你需要看看 Turris Omnia。它将改变你对路由器是什么的看法,路由器能为你的网络做什么,甚至是你与整个网络的互动方式。

 title=

开始使用 Turris Omnia

尽管 Turris Omnia 的功能很强大,但它给人的感觉却很熟悉。开始使用的步骤与任何其他路由器基本相同:

  1. 打开电源
  2. 加入它提供的网络
  3. 在网络浏览器中进入 192.168.1.1 进行配置

如果你过去买过路由器,你以前会执行过这些相同的步骤。如果你不熟悉这个过程,要知道它并不比任何其他路由器复杂,而且里面有足够的文档。

 title=

简单和高级配置

在初始设置之后,当你进入 Turris Omnia 路由器时,你可以选择简单配置环境或高级配置。你必须从简单配置开始。在 密码 Password 面板中,你可以为高级界面设置一个密码,这也可以让你对路由器进行 SSH 访问。

简单界面让你配置如何连接到广域网(WAN),并为你的局域网(LAN)设置参数。它还允许你设置一个个人 WiFi 接入点、一个访客网络,以及安装插件并与之互动。

它所声称的高级界面叫做 LuCI。它是为熟悉网络拓扑和设计的网络工程师设计的,它基本上是一个键值对的集合,你可以通过一个简单的网络界面进行编辑。如果你喜欢直接编辑数值,你可以用 SSH 进入路由器。

$ ssh [email protected]
[email protected]'s password:

BusyBox v1.28.4 () built-in shell (ash)

      ______                _         ____  _____
     /_  __/_  ____________(_)____   / __ \/ ___/
      / / / / / / ___/ ___/ / ___/  / / / /\__
     / / / /_/ / /  / /  / (__  )  / /_/ /___/ /
    /_/  \__,_/_/  /_/  /_/____/   \____//____/  
                                             
 -----------------------------------------------------
 TurrisOS 4.0.1, Turris Omnia
 -----------------------------------------------------
root@turris:~#

插件

除了界面的灵活性之外,Turris Omnia 还有一个包管理器。你可以安装插件,包括网络附加存储(NAS)配置、Nextcloud 服务器、SSH 蜜罐、速度测试、OpenVPN、打印服务器、Tor 节点、运行容器的 LXC 等等。

 title=

只需点击几下,你就可以安装自己的 Nextcloud 服务器,这样你就可以运行自己的云服务或 OpenVPN,这样你就可以在离家时安全地访问你的网络。

开源路由器

这个路由器最好的部分是它是开源的,并且通过开源提供支持。你可以从他们的 gitlab.nic.cz 下载 Turris 操作系统和许多相关的开源工具。你也不必满足于设备上的固件。有了 2GB 的内存和 miniPCIe 插槽,你可以在上面运行 Debian。甚至前面板上的 LED 灯也是可编程的。这是一个黑客的路由器,无论你是一个网络工程师还是一个好奇的业余爱好者,当你在市场上购买网络设备时,你都应该看一看它。

你可以从 turris.com 网站上获得 Turris Omnia 和其他几个型号的路由器,然后加入 forum.turris.cz 的社区。他们是一群友好的爱好者,热衷于分享知识、技巧和很酷的黑客技术,以促进你对开源路由器的使用。


via: https://opensource.com/article/22/1/turris-omnia-open-source-router

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

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

控制你的提示符,让你需要的所有信息触手可及。

 title=

没有什么比我忘记在我的 Git 仓库中 git add 文件更让我恼火的了。我在本地测试,提交,然后推送,却发现在持续集成阶段失败了。更糟糕的是,我在 main 分支而不是特性分支上,并不小心推送到它。最好的情况是,因为分支保护而失败,我需要做一些操作才能把改动推送到一个分支。更糟糕的是,我没有正确配置分支保护,不小心直接推送到了 main 分支。

如果这些信息能在提示中直接获得,那不是很好吗?

在提示符中甚至还有更多有用的信息。虽然 Python 虚拟环境的名称在提示符中,但虚拟环境的 Python 版本却不在提示符中。

可以仔细地将 PS1 环境变量配置为所有相关的信息。这可能会变得很长,很烦人,而且调试起来并不简单。

这就是 Starship 被设计来解决的问题。

安装 Starship

Starship 的初始设置只需要两个步骤:安装并配置你的 shell。安装可以很简单:

$ curl -fsSL https://starship.rs/install.sh

阅读安装脚本,确保你理解它的作用,然后让它可执行并运行它:

$ chmod +x install.sh
$ ./install.sh

还有其他的安装方法,在其网站上有介绍。你可以在构建镜像的步骤中设置虚拟机或容器。

配置 Starship

下一步是配置你的 shell 来使用它。要一次性尝试,假设 shell 是 bashzsh,请运行以下命令:

$ eval "$(starship init $(basename $SHELL))"

你的提示符立即改变:

localhost in myproject on  master
>

如果你喜欢你所看到的,把 eval "$(starship init $(basename $SHELL))" 添加到你的 shell 的 rc 文件中,使其永久化。

自定义 Starship

默认安装假定你可以安装“电脑迷字体”,例如 Fantasque Sans Mono。 特别是,你需要一种带有来自 Unicode 的“私有实现”部分的字形的字体。

这在控制终端时非常有效,但有时,终端的配置并不容易。例如,当使用一些浏览器内的 shell 抽象时,配置浏览器的字体可能是不太容易的。

该码位的最大用户是 Git 集成,它使用一个特殊的自定义符号来表示“分支”。禁用它可以通过使用文件 ~/.config/starship.toml 来配置 starship.rs

禁用分支符号是通过配置 git_branch 部分的 format 变量完成的:

[git_branch]
format = "on [$branch]($style) "

starship.rs 的一个好处是,改变配置会立即生效。保存文件,按下回车,看看字体是否符合预期。

还可以配置提示符中不同部分的颜色。例如,如果 Python 部分的亮黄色在白色背景上有点难看,你可以配置为蓝色:

[python]
style = "blue bold"

许多语言都有配置支持,包括 Go、.NET 和 JavaScript。还支持显示命令的持续时间(只针对耗时超过阈值的命令)等。

控制提示符

控制你的提示符,让你需要的所有信息触手可及。安装 Starship,让它为你工作,并享受吧!


via: https://opensource.com/article/22/2/customize-prompt-starship

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

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

如果你是容器的新手,不要被那些术语所吓倒。这些关键原则将帮助你把应用迁移到云中。

 title=

一般来说,人们想使用你的应用程序这是一件好事。然而,当应用程序在服务器上运行时,应用程序受欢迎是有代价的。随着用户对资源需求的增加,在某些时候,你可能会发现你需要扩展你的应用程序。一种选择是在这种情况下增加更多的服务器,建立一个像 Nginx 这样的 负载平衡器,以满足需求。但是,这种方法的成本可能很昂贵,因为当需求低的时候,在没有流量的服务器上运行你的应用程序的实例并不会节省资源。容器的优点是它是非持久的,在有需求时启动新实例,而随着需求的减少逐渐消失。如果这听起来像是你需要的功能,那么现在可能是将你的应用程序迁移到容器的时候了。

将应用程序迁移到容器中,很快就会变得迷失方向。虽然容器内的环境可能感觉很熟悉,但许多容器镜像是最小化的,而且它们被设计为无状态的。不过在某种程度上,这也是容器的优势之一。就像 Python 虚拟环境一样,它是一块白板,可以让你构建(或重建)你的应用程序,而没有许多其他环境所提供的无形的默认值。

每一次向云服务的迁移都是独一无二的,但在将你的应用程序移植到容器之前,你应该注意以下几个重要原则。

1、理解你的依赖关系

将你的应用程序移植到容器中是一个很好的机会,可以了解你的应用程序实际依赖的东西。由于除了最基本的系统组件外,很少有默认安装的组件,你的应用程序一开始不太可能在容器中运行。

在重构之前,确定你的依赖关系。首先,在你的源代码中用 grep 查找 includeimportrequireuse 或你选择的语言中用来声明依赖关系的任何关键词。

$ find ~/Code/myproject -type f \
    -iname ".java" \
    -exec grep import {} \;

不过,仅仅识别你使用的特定语言的库可能是不够的。审计依赖关系,这样你就能知道是否有语言本身运行所需的低级库,或者特定的模块以预期的功能运行。

2、评估你的数据存储

容器是无状态的,当一个容器崩溃或停止运行时,该容器的实例就永远消失了。如果你要在该容器中保存数据,这些数据也会消失。如果你的应用程序存储用户数据,所有的存储必须发生在容器之外,在你的应用程序的实例可以访问的某个位置。

你可以使用映射到容器内某个位置的本地存储来存储简单的应用程序配置文件。这是一种常见的技术,适用于需要管理员提供简单配置值的 Web 应用程序,如管理员的电子邮件地址、网站标题等。比如说:

$ podman run \
    --volume /local/data:/storage:Z \
    mycontainer

然而,你可以配置一个数据库,如 MariaDB 或 PostgreSQL,将大量数据在几个容器中的共享存储。对于私人信息,如密码,你可以配置一个机密存储

对于你需要如何重构你的代码,相应地调整存储位置,这可能意味着改变路径到新的容器存储映射,移植到不同的数据库,甚至是纳入容器特定的模块。

3、准备好你的 Git 仓库

容器在构建时通常会从 Git 仓库中拉取源代码。一旦你的 Git 仓库成为你的应用程序的生产就绪代码的标准来源,你必须有一个管理 Git 仓库的计划。要有一个发布分支或生产分支,并考虑使用 Git 钩子 来拒绝意外的未经批准的提交。

4、了解你的构建系统

容器化应用程序可能没有传统的发布周期。当容器被构建时,它们会被从 Git 中拉取出来。你可以启动任何数量的构建系统作为容器构建的一部分,但这可能意味着调整你的构建系统,使其比过去更加自动化。你应该重构你的构建过程,使你完全有信心它能在无人值守的情况下工作。

5、构建镜像

构建镜像不一定是复杂的任务。你可以使用 现有的容器镜像 作为基础,用一个简单的 Docker 文件对其进行调整。另外,你也可以使用 Buildah 从头开始构建你自己的镜像。

在某种程度上,构建容器的过程与实际重构代码一样,都是开发的一部分。容器的构建是为了获取、组装和执行你的应用程序,所以这个过程必须是自动化的、健壮的。建立一个好的镜像,你就为你的应用程序建立了一个坚实可靠的基础。

容器化

如果你是容器的新手,不要被术语所吓倒。容器只是另一种环境。容器化开发的感知约束实际上可以帮助你专注于你的应用程序,并更好地了解它是如何运行的、它需要什么才能可靠地运行,以及当出错时有哪些潜在的风险。相反,这导致系统管理员在安装和运行你的应用程序时受到的限制要少得多,因为从本质上讲,容器是一个受控的环境。仔细审查你的代码,了解你的应用程序需要什么,并相应地重构它。


via: https://opensource.com/article/22/2/migrate-application-containers

作者:Alan Smithee 选题:lujun9972 译者:wxy 校对:wxy

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

在 Linux 命令行上使用元字符是提高生产力的一个好方法。

 title=

在我的 Linux 之旅的早期,我学会了如何使用命令行。这就是 Linux 的与众不同之处。我可以失去图形用户界面(GUI),但没有必要完全重建机器。许多 Linux 电脑是 无头 headless 运行的,你可以在命令行上完成所有的管理任务。它使用许多所有人都熟悉的基本命令,如 lsls-lls-lcdpwdtop 等等。

Linux 上的 Shell 元字符

你可以通过使用元字符来扩展这些命令。我不知道你怎么称呼它们,但这些元字符使我的生活变得更轻松。

管道符 |

假设我想知道我的系统上运行的 Firefox 的所有实例。我可以使用带有 -ef 参数的 ps 命令来列出我系统上运行的所有程序实例。现在我想只看那些涉及 Firefox 的实例。我使用了我最喜欢的元字符之一,管道符 |,将其结果送到 grep,用它来搜索模式:

$ ps -ef | grep firefox

输出重定向 >

另一个我最喜欢的元字符是输出重定向 >。我用它来打印 dmesg 命令结果中所有 AMD 相关的结果。你可能会发现这在硬件故障排除中很有帮助:

$ dmesg | grep amd > amd.txt
$ cat amd.txt
[ 0.897] amd_uncore: 4 amd_df counters detected
[ 0.897] amd_uncore: 6 amd_l3 counters detected
[ 0.898] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).

星号 *

星号 *(通配符)是寻找具有相同扩展名的文件时我的最爱,如 .jpg.png。我首先进入我的系统中的 Picture 目录,并使用类似以下的命令:

$ ls *.png
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png

波浪号 ~

波浪号 ~ 是在 Linux 系统上通过输入以下命令快速返回你的家目录的一种方法:

$ cd ~
$ pwd
/home/don

美元符号 $

$ 符号作为一个元字符有不同的含义。当用于匹配模式时,它意味着任何以给定字符串结尾的字符串。例如,当同时使用元字符 |$ 时:

$ ls | grep png$
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png

上尖号 ^

符号 ^ 将结果限制在以给定字符串开始的项目上。例如,当同时使用元字符 |^ 时:

$ ls | grep ^Screen
Screenshot from 01-24 19-35-05.png

这些元字符中有许多是通往 正则表达式 的大门,所以还有很多东西可以探索。你最喜欢的 Linux 元字符是什么,它们是如何节省你的工作的?


via: https://opensource.com/article/22/2/metacharacters-linux

作者:Don Watkins 选题:lujun9972 译者:wxy 校对:wxy

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

分享你的 Wordle 结果是有趣的。尝试这些开源技巧让它们可以无障碍分享。

 title=

Wordle 似乎在社交媒体上到处出现。Wordle 是一个快速的文字游戏,你可以每天玩一次,你可以很容易地通过社交媒体与朋友分享结果。

Wordle 的目的是猜测一个秘密单词。要进行猜测,需要输入一个单词,然后 Wordle 在一个由彩色编码的表情符号组成的网格中显示你的猜测结果。绿色表示一个字母在正确的位置。黄色表示密语中包含该字母,但它在错误的位置。灰色表示该字母根本就不在这个词中。

Sample of wordle results displaying colors for letter position

人们通过将产生的字母网格粘贴到社交媒体上来分享他们在游戏中的进展,这很容易做到,因为这个网格只是 一组表情符号。然而,表情图标和表情符存在无障碍问题。虽然它们很容易复制和粘贴,但对于生活在低视力或色盲的人来说,共享的结果可能很难看清。灰色、黄色、绿色的颜色对一些人来说可能很难区分。

Wordle results statistics

受到与 Mike Lim 谈话的启发,我在互联网上做了一些探究,发现了一些提示,包括一个帮助改善共享游戏结果的无障碍性的开源项目。

使用一个开源的无障碍应用

wa11y 应用 的使用很简单。你可以在 这里 找到 wa11y GitHub 项目。复制你的 Wordle 结果并将其粘贴到应用中,它就会将你的结果转换为文字。

Emoji converted to words

你可以简单地勾选复选框来包含表情符号,以表示成功猜测,但该项目维护者不建议这样做。辅助技术非常喜欢表情符号,以至于它会读取每一个表情符号。内联地、全部读取。尽管技术圈喜欢阅读它们,但使用辅助技术的人可能会发现它很麻烦,并经常放弃有几个以上的表情符号的信息。

Words and emoji included in the output

Emojis are beautiful, but can be frustrating for folks who use screen readers and other accessibility tools. Please consider your audience on social media.

提供无障碍图片

也许你不能使用 wa11y 应用,但仍然想确保你的结果是无障碍访问的。你可以进行截图,上传图片,并添加替代文本。你有几种方法可以做到这一点:

  • 附上图片,并在信息栏中写上替代文本。
  • 附上图片并深入到你的特定社交媒体应用的无障碍选项中,启用替代文本并从那里添加。开源社交网络 Mastodon 默认启用实际的替代文本。
  • @AltTxtReminder 是一个你可以关注的账户,当你忘记时,它会提醒你为图片添加替代文本。

如果你分享了默认结果,你总是可以选择在表情符号之前添加替代文本。这样,你的受众就可以获得文字信息,但在重复的表情符号变得繁琐之前,可以中止信息的其余部分。

Twitter wordle results without text

Twitter results with descriptive explanation of results

总结

Wordle 是最近互联网上的一个热门游戏,所以在分享你的结果时,一定要记住无障碍分享。有一些使用开源技术的简单方法可以使你的结果更容易与大家分享。


via: https://opensource.com/article/22/1/open-source-accessibility-wordle

作者:AmyJune Hineline 选题:lujun9972 译者:geekpi 校对:wxy

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