BNU-FZH

fengzhenhua@outlook.com

今天使用Pacman升级系统后发现Gnome-Shell版本从46升级到了47, 每次这个大版本的升级都会导致大量的Gnome插件版本失效,这个问题之前我使用了锁定Gnome版本的方法,但是由于软件的相互依赖,好像这个并不是最佳方法。于是有了这篇文章,我们决定把ArchLinux整体回滚到某个正常使用日期前的最佳版本,锁定日期后系统相当于停止滚动,待时机成熟(相应的插件都处理可用或某一必备软件得到升级)可以再进行整体的升级。

Arch Linux Archive 简介

Arch Linux 存档库(Arch Linux Archive,简称 ala),以前称为 Arch Linux 回滚机(Arch Linux Rollback Machine,简称 ARM),保存了官方仓库快照、iso 镜像和引导程序包的历史版本。

用途

  • 将某个包降级到某个早期版本(最新版本不能用,我需要之前的版本)
  • 将所有包恢复到某个指定的历史时刻(所有包都不能用,我要恢复到两个月之前的状态)
  • 查找某个历史版本的 ISO 镜像

Arch Linux 存档库

前四个源是官方源及全球的存档镜像,它保存了每一天的镜像,而后面两个分别是清华大学和北京外国语大学的存档镜像,它们每周存档一次。如果您指定的日期在两个国内存档源中时则使用这两个,因为速度快。如果您的指定日期不在它们之中,则使用前四个源中的某一个都可以,2024年09月21日使用第一个官方存档库回滚系统到2024年09月18日, 这是我的电脑正常工作的最新日期,测试的速度比较快。

ArchLinux 所有软件包降级到特定日期

假设您的 Arch Linux 系统在两天前运行良好且稳定。您今天运行了系统更新,它破坏了系统。因此,您可以将所有软件包降级到之前的特定日期,例如2024 年 9 月 18 日

1. 备份/etc/pacman.d/mirrorlist

/etc/pacman.d/mirrorlist
1
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

2. 备份/etc/pacman.d/mirrorlist

/etc/pacman.d/mirrorlist
1
2
3
4
5
6
Server = http://archive.archlinux.org/repos/2024/09/18/$repo/os/$arch
Server = https://america.archive.pkgbuild.com/repos/2024/09/19/$repo/os/$arch
Server = https://asia.archive.pkgbuild.com/repos/2024/09/19/$repo/os/$arch
Server = https://europe.archive.pkgbuild.com/repos/2024/09/19/$repo/os/$arch
Server = https://arch-archive.tuna.tsinghua.edu.cn/2024/09-16/$repo/os/$arch
Server = https://mirrors.bfsu.edu.cn/archlinux-archive/2024/09-16/$repo/os/$arch

1. 备份配置文件

1
sudo cp /etc/pacman.conf /etc/pacman.conf.bak

2. 修改/etc/pacman.conf

/etc/pacman.conf
1
2
3
4
5
6
7
8
9
10
11
[core]
SigLevel = PackageRequired
Server=https://archive.archlinux.org/repos/2024/09/18/$repo/os/$arch

[extra]
SigLevel = PackageRequired
Server=https://archive.archlinux.org/repos/2024/09/18/$repo/os/$arch

[community]
SigLevel = PackageRequired
Server=https://archive.archlinux.org/repos/2024/09/18/$repo/os/$arch

强制更新系统

仔细检查恢复日期, 保存并关闭文件。最后,更新数据库并使用命令强制 Arch Linux 更新:

1
sudo pacman -Syyuu

更新完成后,重新启动系统, 您现在已将所有包恢复到之前的特定日期(在我们的示例中为 2024年 9 月 18 日)。但是请注意,我们不建议使用过时的软件包,待您需要Gnome插件或其他特定版本的软件及时跟进更新后请及时将系统升级到最新,若出现问题则再锁定到最新的稳定系统日期,等待下一次全部软件稳定后再次更新。如果操作后可以保证一直稳定使用ArchLinux.

Gnome插件适配查询

此次研究锁定系统滚动日期的主要原因是:2024年09月21日升级后由于Gnome大版本升级导致插件hide-top-bar失效,所以请及时关注失效插件是否适配了当前版本,网址为:https://extensions.gnome.org/ 几个常用插件:

手动解决Gnome插件适配

在2024年09月21日升级系统后采用的锁定ArchLinux到指定日期的稳键策略,而2024年09月27日放开了更新后发现只有插件Hide Top Bar仍然没有适配,于是在百度后发现可以追加版本后修复,因为Gnome 47更新并没有大量改变java script接口,所以这个方法是可行的。具体修改为

/usr/share/gnome-shell/extensions/hidetopbar@mathieu.bidon.ca/metadata.json
1
2
3
4
5
6
7
8
9
{
"shell-version": ["45", "46", "47" ],
"uuid": "hidetopbar@mathieu.bidon.ca",
"name": "Hide Top Bar",
"settings-schema": "org.gnome.shell.extensions.hidetopbar",
"description": "Hides the top bar, except in overview. However, there is an option to show the panel whenever the mouse pointer approaches the edge of the screen. And if \"intellihide\" is enabled, the panel only hides when a window takes the space.\n\n- Press backspace to remove keyboard shortcut.\n- Log off and on again when there is an error after upgrading.",
"url": "https://gitlab.gnome.org/tuxor1337/hidetopbar",
"gettext-domain": "hidetopbar@mathieu.bidon.ca"
}

RSS订阅简介

RSS(Really Simple Syndication)订阅是一种允许用户跟踪网站更新的技术,无需频繁访问这些网站来检查是否有新内容。RSS是一种XML格式的标准,它允许发布者将摘要、链接和其他元数据打包成“feed”,供订阅者使用RSS阅读器(也称为聚合器或RSS阅读器)来接收。

以下是RSS订阅的一些关键特点

  • 内容聚合:通过RSS订阅,用户可以从多个来源获取信息,而不必逐个访问每个网站。
  • 自动更新:一旦有新的内容发布,RSS阅读器会自动下载更新,这样用户就可以立即看到最新信息。
  • 个性化阅读体验:用户可以选择他们感兴趣的站点进行订阅,并根据自己的喜好调整阅读列表。
  • 无广告干扰:RSS通常只包含文章标题、摘要和链接,不会包含网页上的广告或其他干扰元素。
  • 跨平台支持:有许多不同类型的RSS阅读器,包括桌面应用程序、移动应用和基于网页的服务,这使得RSS订阅可以在多种设备上使用。

使用RSS订阅的基本步骤

  • 寻找RSS源:大多数网站都会提供一个RSS图标(通常是橙色的),点击该图标可以获得网站的RSS feed链接。
  • 添加到RSS阅读器:用户需要将找到的RSS feed链接添加到他们的RSS阅读器中。
  • 阅读更新:RSS阅读器会定期检查已订阅的feed,并显示最新的条目。

RSS订阅对于那些希望高效管理来自多个来源的信息流的人来说非常有用。虽然随着社交媒体和电子邮件简报的流行,RSS的使用有所下降,但它仍然是许多用户获取新闻和博客更新的有效工具。

订阅ArchLinux新闻

由于ArchLinux是滚动升级模式,为了在工作中稳定使用,在升级前看一下有什么重大更新再决定是否升级是必要的。但是每次都到官网https://archlinux.org/查看消息有所不便,因此我想起了RSS, 到官网发现订阅地址为:

订阅百度新闻

百度新闻也是支持订阅的,其聚合订阅地址为:

Thunderbird订阅方法

帐户设置帐户操作新建新闻组帐户→主页面右键博客和新闻收取点订阅...收取点网址添加完成.

"Vortex" 和 "Spiral" 是两个不同的概念,尽管它们在某些情况下可能看起来相似或相互关联。

  1. Vortex(涡流): 涡流通常指的是流体(如水或空气)或粒子围绕一个中心点旋转的现象。涡流可以存在于自然界中,例如龙卷风或水下沉船周围形成的漩涡,也可以是在工程应用中如飞机翼尖产生的涡旋。涡流的关键特征是围绕中心的旋转运动以及由此产生的向内的吸力或向外的推力。

  2. Spiral(螺旋): 螺旋则是一种几何形状或运动路径,它是由一条曲线构成的,这条曲线从一个点开始,并围绕这个点逐渐远离或接近。螺旋可以是开放式的,也可以是封闭式的。开放式的螺旋会不断向外扩展,而封闭式的螺旋则可能会回到起点附近。螺旋并不一定涉及到旋转流体或者粒子,它可以描述任何按照螺旋轨迹运动的事物,例如螺旋楼梯或者弹簧。

总结来说,vortex 是一种物理现象,涉及到流体或粒子围绕中心旋转,通常伴随着向心或离心的力量;而 spiral 则是一个几何概念,描述的是沿着螺旋形路径的运动或形状。两者之间的联系在于,当流体形成涡流时,其流动路径可能呈现出螺旋形。

摘要和引言的定义

  • 摘要:是一篇论文或报告的简短概括,通常包括研究的目的、方法、结果和结论等,具有独立性和代表性。
  • 引言:是一篇论文或报告的开头部分,介绍研究的背景、意义、目的和范围等,同时也是引导读者进入正文的桥梁。

摘要和引言的区别

1. 定位和功能不同

摘要和引言在整篇文章中的位置和作用不同。摘要位于正文之前,是文章的开头,在整篇文章中起到概括和提醒的作用,是读者获取文章信息的重要途径。引言则贴近正文,是文章的起点,在整篇文章中起到引入和铺垫的作用,是文章主体和结论的前奏。

2. 内容和方式不同

摘要和引言在内容和表达方式上也有所差别。摘要的内容是全文的提炼和概括,通常会包括研究的背景、目的、方法、结果和结论等,其表达方式一般为客观陈述、无主观色彩。引言虽然也要介绍文章的研究背景和目的等信息,但更强调个人思考和观点,往往包含作者的主观判断和看法。

3. 长度和字数不同

摘要和引言的长度和字数有一定区别。摘要以简洁为宜,一般不超过300字,甚至可以缩减到一两句话,目的是使读者能够快速地了解全文;而引言则可以更加详细,一般在1000字左右,或者根据论文篇幅的不同而不同。引言的目的不仅仅是引导读者进入正文,更要对整个研究做总体的概括和阐述。

如何正确写作摘要和引言

正确写作摘要和引言是学术写作中必要的技能之一,下面简单介绍一些写作方法和技巧。

1. 摘要的写作方法

  • 精简必要信息:在摘要中只提取最核心的研究内容,不必涉及太多细节。
  • 确保逻辑连贯:不要出现排比句和逗号长句,保持摘要逻辑清晰。
  • 突出方法和结果:摘要应该突出论文的研究方法和结果,读者可以通过摘要快速获得研究重点。

2. 引言的写作方法

  • 明确研究背景和问题:引言应该明确研究所面临的背景和问题,概述当前研究的现状和不足。
  • 突出创新性:引言应该突出本次研究的创新性和价值,在阅读引言后,读者能够明白本次研究的意义和重要性。
  • 确定研究目的和范围:引言应该清晰地说明研究的目的和范围,便于读者理解整个研究的脉络。

摘要和引言FAQs

1. 能否将摘要和引言放在一起?

在一些专业性较弱的文章和报告中,可以将摘要和引言放在一起,但是在学术论文和专业技术类文章中,摘要和引言应该严格分开,各自起到应有的作用和功能,以便更好地表现全文的质量和价值。

2. 引言应该写多长?

引言的长度没有严格的规定,一般根据文章的篇幅和复杂程度而不同。但是,引言不应该过于冗长,应该以简洁明了、内容充实为标准。

3. 摘要应该写在前面还是后面?

摘要应该写在正文之前,让读者在开始阅读前就能够获得全文的概括和核心信息。一些期刊和学术出版物中,还会在正文之前附上关键词,以便读者更好地了解全文主题和范围。

结论

摘要和引言是学术写作中非常重要的概念和组成部分,能够帮助文章更好地表达思想和观点,增强文章的逻辑性和可读性。正确地理解它们的区别和使用方法,是学术写作者不可或缺的写作技能。我们希望本文的解读,能够对广大读者和学者在写作过程中有所启示和帮助。

Dotfiles 是我们在使用软件的时候,软件为了存储我们个人偏好设置而建立的一个以 . 开头的文件。例如,vim 的配置文件就是 .vimrczsh 的配置文件就是 .zshrc。这些文件通常存储在用户的 home 目录中。但是,在不同的电脑上工作时,如果需要使用相同的配置,我们可以考虑使用版本控制工具来管理这些文件。或者在一台新电脑上想快速配置好环境,也可以使用版本控制工具来管理这些文件。Yadm 就可以帮助我们完成这些需求。

安装

安装 yadm 非常简单,只需在终端输入以下命令:

1
sudo pacman -S yadm

初始化 yadm 仓库

创建一个新的 yadm 仓库很容易,只需在 home 目录中运行以下命令:

1
yadm init

现在,yadm 已经创建了一个空白的 git 仓库。存储库位置/home/nic/.local/share/yadm/

添加 dotfile 文件

要将现有的 dotfile 添加到 yadm 仓库中,请使用以下命令:

1
yadm add ~/.zshrc

一旦您完成了对要添加的文件的更改并将它们添加到 yadm 仓库中,您需要提交它们。可以使用以下命令:

1
yadm commit -m "Add .zshrc file to yadm repository"

建立远程仓库

使用 yadm 还可以将 dotfile 文件同步到 GitLabGit 托管服务中。登录 GitLab,创建一个新的仓库。例如,您可以创建一个名为 dotfile 的仓库。现在,您需要将本地仓库与远程仓库连接起来。要将本地仓库连接到远程仓库,请使用以下命令:

1
yadm remote add origin git@gitlab.com:[用户名]/dotfile.git

现在 yadm 已经连接到您在 GitLab 上创建的仓库。要将本地代码上传到远程仓库,请使用以下命令:

1
yadm push -u orgin main

参考文章

LaTeX自带了可以为文字外围加圆圈的命令\textcircled{}, 但是其显示效果并不好,所以本文解决这一问题。

重定义\textcircled

借用tikz宏包重新定义一下这个命令:

重定义\textcircled
1
2
3
\usepackage{tikz}
\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
circle (.5em) node {\makebox[1em][c]{\small #1}};}}

调用pifont宏包

带圈的序号从110依次为

1
\ding{172}\ding{173}\ding{174}\ding{175}\ding{176}\ding{177}\ding{178}\ding{179}\ding{180}\ding{181}

参考文章

今天升级了Pacman后发现Paru不能正常运行了,报错

1
libalpm.so.14 cannot be found with pacman in [testing]

此问题已经在paruIssue中,即#1239. 采用Issuekug3lblitz的方案解决问题,即

1
sudo ln -s /usr/lib/libalpm.so.15.0.0 /usr/lib/libalpm.so.14

在编写LaTeX文件时,有时在章节中会使用一些特殊符号,比如: \(\mu\) 等。但是由于超链接宏包hyperref建立超链接的时候会导致错误。其警告信息为:

1
Package hyperref warning: Token not allowed in a PDF string (Unicode):(hyperref) removing 'math shift' on input line 2

解决方法:使用命令\texorpdfstring{#1}{#2}

参数#1为正文标题栏中显示信息,为\(\mu\), 参数#2为目录页中显示的信息,由hyperref引用,所以需要使用非特殊符号替换。例如:\texorpdfstring{\mu}{mu}

Rhythmbox 是Linux下的一款优秀的音乐播放器,经过对比我选择了它。但是在使用过程中发现,由于编码的问题,导入音乐后一些mp3的艺人名称乱码,解决方法为:

  • 安装工具python-mutagen

    1
    sudo pacman -S python-mutagen

  • 切换到您的音乐文件夹下,执行转换代码

    1
    mid3iconv -e GBK *.mp3

  • 重启Rhythmbox, 所有mp3显示正常。

mid3iconv命令主要是将原来mp3音乐文件的ID3信息转换成Unicode并用ID3v2的格式存回文件中。

近几天zotero正式升级为7.0版,而翻译插件zotero-pdf-translate是一个必不可少的强大工具,对于那些纯英文的文献它可以正常翻译。而由于小牛翻译的快速和较大的免费额度,所以将翻译设置成了小牛翻译,但是由于要备考六级英语考试,在翻译六级真题题,它却无法正常翻译。切换到Deepl翻译后却可以准确的翻译,仔细分析得到问题所在。小牛无法自动检测原语言,而Deepl可以自动检测原语言,于是点击右上角展开/折叠内容窗格后发现,小牛翻译是从中文到中文的翻译,原因我想应该是文件名中存在中文,于是它自动检测为原始文字为中文了,将其改为英文到中文后,翻译插件zotero-pdf-translate正常工作。