<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>寒燈隨錄</title><description>二行書き一行消すや寒燈下</description><link>https://example.com/</link><item><title>记一次 icu 包依赖错误的解决</title><link>https://example.com/posts/icu-dependencies-failures/</link><guid isPermaLink="true">https://example.com/posts/icu-dependencies-failures/</guid><pubDate>Sun, 26 May 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;今天例行对双系统 Arch Linux 进行更新。执行 &lt;code&gt;pacman -Syu&lt;/code&gt; 命令后意外报错：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;error: failed to prepare transaction (could not satisfy dependencies)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;:: installing icu (75.1-1) breaks dependency &apos;libicui18n.so=74-64&apos; required by electron22&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;:: installing icu (75.1-1) breaks dependency &apos;libicuuc.so=74-64&apos; required by electron22&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;:: installing icu (75.1-1) breaks dependency &apos;libicui18n.so=74-64&apos; required by qt5-webengine&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;:: installing icu (75.1-1) breaks dependency &apos;libicuuc.so=74-64&apos; required by qt5-webengine&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;复制报错后在搜索引擎上搜寻，很快就找到了三天前发布在英文官方论坛上的&lt;a href=&quot;https://bbs.archlinux.org/viewtopic.php?pid=2173001&quot;&gt;帖子&lt;/a&gt;。看下来其实并不是什么大事，卸载掉就可以了。大概由于这两个包太旧了，而 &lt;code&gt;icu (75.1-1)&lt;/code&gt; 不再对这两个包提供兼容性支持，所以删掉是最简单的解决方法。我这里的情况，&lt;code&gt;qt5-webengine&lt;/code&gt; 是不被依赖的孤立包，而&lt;code&gt;electron22&lt;/code&gt; 被 &lt;code&gt;motrix&lt;/code&gt; 依赖。那就连带依赖删除 &lt;code&gt;qt5-webengine&lt;/code&gt; 和 &lt;code&gt;motrix&lt;/code&gt; ，再更新系统，更新后再装回来&lt;span class=&quot;heimu&quot;&gt;如果装得回来&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;事实上更新系统后尝试通过 AUR 或 archlinuxcn 安装 &lt;code&gt;motrix&lt;/code&gt; 会报错。但我觉得 motrix 作为 aria2 的前端还算不错，就上官网下载了个 Appimage 版本的放在家目录下以备不时之需。可能以后会尝试直接使用 aria2 吧，这样还可以使用 systemd 的 unit 实现开机运行。&lt;/p&gt;</content:encoded></item><item><title>关于我使用Joplin记日记的那些事</title><link>https://example.com/posts/journaling-with-joplin/</link><guid isPermaLink="true">https://example.com/posts/journaling-with-joplin/</guid><pubDate>Sun, 19 May 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://joplinapp.org/&quot;&gt;Joplin&lt;/a&gt; 是一款优秀的开源自由笔记软件，在各种插件的支持下，它也可以用于记录、管理日记。&lt;/p&gt;
&lt;h2 id=&quot;使用-joplin-前我使用了哪些软件记日记&quot;&gt;使用 Joplin 前，我使用了哪些软件记日记？&lt;/h2&gt;
&lt;p&gt;我从去年年底开始写日记，来记录每天的所见所想。这几个月写下来，有2款开源的安卓应用是我使用了比较久的&lt;span class=&quot;heimu&quot;&gt;虽然最终还是放弃了&lt;/span&gt;。&lt;/p&gt;
&lt;h3 id=&quot;其他日记应用&quot;&gt;其他日记应用&lt;/h3&gt;
&lt;p&gt;为了获得更好的日记体验，我寻找了很多应用。最先纳入考量的是以 Obsidian 为首的各类笔记管理应用，Joplin 其实也在其中。但它们的安卓应用总有些不符合我需求的地方。先说安卓版 Joplin ，试用时它的预览版还没更新到3.0.1版本，像现在的 iOS 版本一样根本不支持插件，所以当时放弃了它。至于把 Obsidian 及其它基于文件系统的笔记管理软件 pass 了的原因，正是它们把每篇笔记以明文形式单独放在存储设备里进行管理的这一特性。毕竟日记属于比较隐私的数据，我不希望有容易的方法绕开日记软件进行访问。一些停止更新的应用也不考虑使用。&lt;/p&gt;
&lt;h3 id=&quot;easy-diary&quot;&gt;Easy Diary&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://f-droid.org/packages/me.blog.korn123.easydiary/&quot;&gt;Easy Diary&lt;/a&gt; 是我第一款使用时间比较长的日记应用。这款软件的优点是开箱即用，不需要额外的配置。缺点是太简洁，没有过多自定义的内容。正因如此，我在使用它时没有停止寻找更好的应用，直到找到了 jtx Board。&lt;/p&gt;
&lt;h3 id=&quot;jtx-board&quot;&gt;jtx Board&lt;/h3&gt;
&lt;p&gt;使用 &lt;a href=&quot;https://f-droid.org/zh_Hans/packages/at.techbee.jtx/&quot;&gt;jtx Board&lt;/a&gt; 记日记其实是比较顺手的，2月时我还帮忙修正了一些中文翻译。这个项目的特色是基于 &lt;code&gt;iCalendar&lt;/code&gt; 协议中的字段管理与同步日志、任务和笔记。它能够利用 &lt;code&gt;status&lt;/code&gt; 添加标签，支持关联、筛选笔记，以及锁定特定或全部的笔记等很多便利的功能，而且界面设计也很现代、美观。但其缺点有三：一，只能导出明文的 ics 文件；二，同步方式过于冷门；三，界面上的滑动、点击有些卡手。&lt;/p&gt;
&lt;h2 id=&quot;为什么还是使用了-joplin&quot;&gt;为什么还是使用了 Joplin？&lt;/h2&gt;
&lt;p&gt;上述两款软件存在一个相同的缺点：缺乏社区的支持。这也是大多数 F-Droid 应用的共性，每个项目只有几个甚至一个维护者，使用者也很少。这会导致项目更新频率不稳定，同时也可能存在安全隐患。我列了个表格来体现三款软件之间的部分差异：&lt;/p&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;＼&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;Easy Diary&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;jtx Board&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;Joplin&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;访问限制&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;PIN 码&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;生物识别&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;插件支持（PC）/生物识别（mobile）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;导出/备份&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;结构未知的压缩包&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;ics文件（图片附件使用base64编码）&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;以 Markdown 为基础的各类格式&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;远程同步&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;❌&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;DAVx&lt;sup&gt;5&lt;/sup&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;各类主流云盘及 WebDAV 协议&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;内容加密&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;❌&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;❌&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;插件支持对单个文件加密&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Markdown&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;❌&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;部分的&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;✔️&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;选择 Joplin 是因为看中了以下四点：&lt;/p&gt;
&lt;h3 id=&quot;丰富的插件支持&quot;&gt;丰富的插件支持&lt;/h3&gt;
&lt;p&gt;作为 Obsidian 的竞品，没有插件在扩展功能怎么行呢。不过为了能够方便地开发插件，导致了一个问题：这两款软件都依赖于 &lt;strong&gt;Electron&lt;/strong&gt;。&lt;/p&gt;
&lt;figure class=&quot;figure&quot;&gt;&lt;img alt=&quot;是时候祭出这张图了&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1200&quot; height=&quot;630&quot; src=&quot;/_astro/1648780188180.xjnGpqiE_Z2lxPI5.webp&quot; srcset=&quot;&quot;&gt;&lt;/figure&gt;
&lt;h3 id=&quot;使用数据库存储数据&quot;&gt;使用数据库存储数据&lt;/h3&gt;
&lt;p&gt;虽然算不上做了什么加密措施，但至少需要比较高的门槛来找到并打开数据库。&lt;/p&gt;
&lt;h3 id=&quot;同步过程中的端到端加密&quot;&gt;同步过程中的端到端加密&lt;/h3&gt;
&lt;p&gt;Joplin 虽然不会在本地加密，但支持将同步到远程网盘的数据加密。这样，就算他人获取我的网盘数据，也只能看到乱码。&lt;/p&gt;
&lt;h3 id=&quot;markdown语法的支持&quot;&gt;Markdown语法的支持&lt;/h3&gt;
&lt;p&gt;格式文本的功能可以不用，但不能没有，就算是日记，观感也很重要。「富文本」应该是各种格式的总称，而 Markdown 似乎受到程序员偏爱成为最流行的标记语言。&lt;/p&gt;
&lt;p&gt;一开始使用 Joplin 时其实是做好了主要在电脑上写日记的准备的。但这不意味着就不安装移动版应用，于是从 F-Droid 上下载到 3.0.1 版本的 Joplin 时，我通过检查 changelog 惊讶地发现这个版本开始加入了对插件的支持（虽然有限的插件能够正常使用是从 3.0.3 开始的）。虽然移动端仅能正常运行下列插件中的「Joplin Calendar」和「Kanban」，但也足够在手机上进行简单的编辑和浏览了。&lt;/p&gt;
&lt;h2 id=&quot;怎么使用-joplin-记日记&quot;&gt;怎么使用 Joplin 记日记？&lt;/h2&gt;
&lt;p&gt;Joplin 本质是一款笔记与代办事项的管理软件，想要开箱即用方便地记日记是不可能的。但像其他流行的笔记管理软件一样，Joplin 也支持使用各种社区开发的插件来扩展软件的功能。&lt;/p&gt;
&lt;h3 id=&quot;核心插件journal&quot;&gt;核心插件：Journal&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/leenzhu/joplin-plugin-journal&quot;&gt;Journal&lt;/a&gt; 插件是使用Joplin写日记的核心。它的功能与Obsidian的日记插件类似，用于创建标题为日期的笔记作为当天的日记。它有更丰富的定制选项，比如自定义标题模板和 &lt;code&gt;Month Name&lt;/code&gt; / &lt;code&gt;Weekday Name&lt;/code&gt; 。我是这么自定义的：&lt;/p&gt;
&lt;p&gt;Note Name Template:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Journal/{{year}}/{{monthName}}/{{year}}-{{month}}-{{day}}-{{weekdayName}}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Month Name:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;01-一月,02-二月,03-三月,04-四月,05-五月,06-六月,07-七月,08-八月,09-九月,10-十月,11-十一月,12-十二月&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Weekday Name：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;日,月,火,水,木,金,土&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以5月19日为例，日记的笔记本路径如下：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Journal/2024/05-五月/2024-05-19-日&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;能从标题得到时间信息，还能用文件夹按时间分类，还是很一目了然的。&lt;/p&gt;
&lt;h3 id=&quot;辅助插件一joplin-calendar&quot;&gt;辅助插件一：Joplin Calendar&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/rsandz/joplin-calendar&quot;&gt;Joplin Calendar&lt;/a&gt; 也能够对标Obsidian的日历插件，但功能不如后者，不能直接点击日期打开或创建对应的日记。在插件设置中取消勾选「Show Modified Notes in Note List」，并开启「Show Related Notes in Note List」，能提升一些观感。&lt;/p&gt;
&lt;h3 id=&quot;辅助插件二app-locker&quot;&gt;辅助插件二：App Locker&lt;/h3&gt;
&lt;p&gt;Joplin 的桌面版本原生不支持访问限制，但通过插件 &lt;a href=&quot;https://github.com/ladyrank/joplin-plugin-app-locker&quot;&gt;App Locker&lt;/a&gt; 能够提供简单的软件内锁屏功能（不过不能盖住四周，也不能通过调整高级设置中的 CSS 样式来调整）。这个插件只能提供一块不透明的布罢了，实际上我们依然可以操作任务栏，比如修改选项设置。&lt;/p&gt;
&lt;h3 id=&quot;辅助插件三note-encryption&quot;&gt;辅助插件三：Note encryption&lt;/h3&gt;
&lt;p&gt;既然 App Locker 不能真正保护日记的安全，那就让 &lt;a href=&quot;https://github.com/ZhangTe/joplin-plugin-encrypt-notes&quot;&gt;Note encryption&lt;/a&gt; 来弥补这个空缺。可以用它来对特定的日记进行加密，每个日记也可以设置不同的密码（如果记得住的话）。&lt;/p&gt;
&lt;h3 id=&quot;辅助插件四random-note-reloaded&quot;&gt;辅助插件四：Random Note Reloaded&lt;/h3&gt;
&lt;p&gt;在有了核心插件快速创建日记、各种辅助插件增强月度总览、日记安全之后，还缺少一个用于回顾历史日记的插件。市面上不少日记软件都会推送类似于「去年的今天」的日记，Joplin虽然没有这样专用的插件，但&lt;a href=&quot;https://github.com/marph91/joplin-random-note-reloaded&quot;&gt;随机笔记&lt;/a&gt;插件能够简单实现这个功能。想起来了就点一下按钮打开一篇过去的笔记，也算是回顾历史日记吧。&lt;/p&gt;
&lt;h3 id=&quot;其他辅助插件&quot;&gt;其他辅助插件&lt;/h3&gt;
&lt;p&gt;这一节将简要列出增强 Joplin 功能的通用插件。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/benji300/joplin-note-tabs&quot;&gt;Note Tabs&lt;/a&gt; 能够提供类似浏览器标签页的笔记显示体验。将它的布局调整到编辑器上方或下方会有更好的效果。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ylc395/joplin-plugin-note-link-system&quot;&gt;Note Link System&lt;/a&gt; 主要是提供反链功能，可以用来把两篇日记关联起来。&lt;/p&gt;
&lt;h3 id=&quot;外部编辑器&quot;&gt;外部编辑器&lt;/h3&gt;
&lt;p&gt;Joplin 有一个比较好的功能，就是允许我们用自己最喜欢的编辑器来写东西。虽然但是，我并没有找到符合我要求的编辑器……因为「Markdown 所见即所得」与「轻量小巧」是不可兼得的，同时时下流行的几款代码编辑器对 Markdown 语法的自动格式补全支持不够，我最终选择了「MarkText」这款基于 &lt;strong&gt;Electron&lt;/strong&gt; 的 Markdown 编辑器。&lt;span class=&quot;heimu&quot;&gt;真的不想再在电脑上装更多的 Electron 了啊啊啊啊啊啊 ╧═╧╰（`□′╰）&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;另一套方案plugin-bundle&quot;&gt;另一套方案：Plugin Bundle&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/SeptemberHX/joplin-plugin-bundle&quot;&gt;Plugin Bundle&lt;/a&gt; 是几个插件（&lt;a href=&quot;https://github.com/cqroot/joplin-outline&quot;&gt;Outline&lt;/a&gt; / &lt;a href=&quot;https://github.com/CalebJohn/joplin-inline-todo&quot;&gt;Inline Todo&lt;/a&gt; / &lt;a href=&quot;https://github.com/liamcain/obsidian-calendar-plugin&quot;&gt;Daily Note&lt;/a&gt; / &lt;a href=&quot;https://github.com/alondmnt/joplin-plugin-history-panel&quot;&gt;History Panel&lt;/a&gt;）的捆绑插件，但对于记日记而言，「Daily Note」才是核心插件，它的灵感来源于 &lt;a href=&quot;https://github.com/liamcain/obsidian-calendar-plugin&quot;&gt;Obsidian的日历插件&lt;/a&gt;。这个插件能够同时替代「Journal」和「Joplin Calendar」，尽管可定制性更低，也不支持暗色模式，但至少能像在 Obsidian 中一样写日记了。我没有采用这个方案&lt;span class=&quot;heimu&quot;&gt;，因为把已有的100多篇已经格式化了标题的笔记重命名一遍挺麻烦&lt;/span&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;先记录到这里，可能有遗漏的地方，等想起来或者回顾时候发现了再补上吧。&lt;/p&gt;</content:encoded></item><item><title>博客的重新活跃</title><link>https://example.com/posts/blog-restart/</link><guid isPermaLink="true">https://example.com/posts/blog-restart/</guid><pubDate>Sun, 03 Mar 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;记得上次更新博客，还是在上次（雾&lt;/p&gt;
&lt;p&gt;准确地说是 2021 年的夏天，那时高考刚刚结束，出于未来课程学习、有充足的时间研究之前只是偶尔学一点的技术的需求，我拥有了一台自己的电脑。我把预装的 Windows 格式化，装上了高二以来一直想用的 Arch Linux。我也顺手记录了我的安装流程作为我的博客第一篇文章。&lt;/p&gt;
&lt;p&gt;还记得高二那年，我终于在虚拟机上跟随 Arch Wiki 以及 B站上的好几个视频，成功安装了几次 Arch。暑假时，还拿家里 09 年的惠普迷你上网本（ Atom CPU ）安装了 Arch Linux x86。当时受到 &lt;a href=&quot;https://space.bilibili.com/13081489&quot;&gt;TheCW&lt;/a&gt; 的影响，我尝试了不使用流行的显示管理器和桌面环境，而使用 &lt;code&gt;startx&lt;/code&gt; 来启动 &lt;code&gt;dwm&lt;/code&gt; 。（根据他 23 年发布的&lt;a href=&quot;https://www.bilibili.com/video/BV1zc411T7j7/&quot;&gt;视频&lt;/a&gt; ，他的主力不再是 Arch Linux，而是 MacOS 了😂）&lt;/p&gt;
&lt;p&gt;这两年半来这台主力机环境的变化也很有意思。刚安装上的几个月，我用的就是 &lt;code&gt;dwm&lt;/code&gt;，但出于美观我安装了 KDE 的显示管理器，还对其和 &lt;code&gt;GRUB&lt;/code&gt; 的界面进行了美化。后来由于对 C 语言的不熟悉使得对 &lt;code&gt;dwm&lt;/code&gt; 的定制陷入瓶颈，就换上了更容易美化的 &lt;code&gt;i3-wm&lt;/code&gt; 。没用几个月，甚至第一学期还没过完，我就换成了 KDE Plasma，并且美化成了 MacOS 风格。&lt;/p&gt;
&lt;p&gt;22 年的寒假，为了能和几个高中同学一起联机玩游戏，我成为了原神玩家，并在大年初一和他们第一次联机。一开始是在 iPad 上游玩的，但常常能在网上看见有人说 PC 的画面更好，键鼠操作的体验也更棒，便萌生了在 Linux 环境上运行原神的想法。一开始的在 Windows 虚拟机中运行的幻想被米哈游检测虚拟环境的弹窗击碎，在网上找了一些方法，并排除了打补丁（怕封号）的方案后，将目光落在了 KVM 去虚拟化上，还找到了一篇相当翔实的 &lt;a href=&quot;https://lantian.pub/article/modify-computer/laptop-intel-nvidia-optimus-passthrough.lantian/&quot;&gt;教程&lt;/a&gt;。于是摩拳擦掌开始检查我的硬件是否支持，结果悲惨地发现由于 CPU 是 11 代，就不能支持这种去虚拟化的方案……遂决定安装双系统。没错，我换回 Windows 的契机之一就是游戏。还有一个契机是当时也产生了制作 MMD 的兴趣，而在 Wine 环境中 MMD 怎么也运行不起来。不仅如此，Linux 环境下的办公替代品也不是很好使，WPS 不想继续用了，Libre Office 又不太适合办公类的文档编辑，有一段时间都是在 Windows 里写作业和上交作业的。后来也证明确实要换回来，因为专业课程要用 SPSS，选了门比较雷的通识课要用 SolidWorks 机械设计，这些在 Linux 平台没有合适的替代。这个双系统方案一直用到了现在。&lt;/p&gt;
&lt;p&gt;虽然纯 Linux 环境的使用时间不满一年，但还是学到了很多稍偏底层的系统配置。 这期间我最大的收获就是对 &lt;code&gt;systemd&lt;/code&gt; 的了解，特别是使用 &lt;code&gt;systemd&lt;/code&gt;配置ACPI，这在最近调整家里长期运行的 Debian 服务器配置时帮了大忙。因为知道在桌面环境加载前系统的电源管理设置没有被覆盖，所以很快找到了解决笔记本合上盖子的状态下自动登录超时会进入睡眠的问题。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;回想博客停止活跃的两年半，我发现确实没有什么适合专门写文章的事情。我在技术方面的经历，基本上可以用上文的文字来概括。期间也进行了 &lt;code&gt;NixOS&lt;/code&gt; 的安装尝试，但由于它的逻辑与现有的大部分系统都不一样，而且它的文档与 Arch 相比属于小巫见大巫，不得已中途放弃。不过我还是保留了 Github 上的配置文件仓库，希望哪天能捡起来。&lt;/p&gt;
&lt;p&gt;那为什么又想写博文了呢？自然是想到能写的东西了。博客以长文记录作者的经历与感悟，作为一名业余的技术爱好者，只写技术相关的文字实在有些为难，所以我决定写一些其他的内容。长途旅行的游记是不错的话题，非系统的、配置起来也比较复杂的软件的使用经验也可以分享。而且，最近想到了几个尝试自己写代码的点子，有机会的话或许真的会试着去写，届时可以把心路历程记录下来。&lt;/p&gt;</content:encoded></item><item><title>用于日常使用的Arch Linux的安装</title><link>https://example.com/posts/arch-linux-installation-for-daily-use/</link><guid isPermaLink="true">https://example.com/posts/arch-linux-installation-for-daily-use/</guid><pubDate>Sun, 29 Aug 2021 00:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;前言&quot;&gt;前言&lt;/h2&gt;
&lt;p&gt;如标题所言，这篇文章主要介绍以Arch Wiki为基础的Arch Linux的安装与配置，以使之适合日常使用，又在一定程度上兼顾安全与操作效率。另一方面，我也希望通过创作这篇文章来作为自己未来可能的安装新系统的备忘录。（注：这篇文章不会详细介绍各安装细节，大量可以在&lt;a href=&quot;https://wiki.archlinux.org/title/Installation_guide&quot;&gt;ArchWiki&lt;/a&gt;上找到的基本步骤将被省略）&lt;/p&gt;
&lt;h2 id=&quot;基本系统的安装&quot;&gt;基本系统的安装&lt;/h2&gt;
&lt;h3 id=&quot;磁盘分区&quot;&gt;磁盘分区&lt;/h3&gt;
&lt;p&gt;为了能够最大化地利用磁盘容量，我决定使用LVM（Logical Volume Manager, 逻辑卷管理）来管理磁盘。LVM的具体使用方法，详见ArchWiki的&lt;a href=&quot;https://wiki.archlinux.org/title/LVM&quot;&gt;这篇文章&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;我利用&lt;code&gt;cfdisk&lt;/code&gt;将磁盘分出512MB大小的分区用于挂载&lt;code&gt;/boot&lt;/code&gt;分区。参考&lt;a href=&quot;https://wiki.archlinux.org/title/Install_Arch_Linux_on_LVM&quot;&gt;这篇文章&lt;/a&gt;可以将整个系统全部安装在LV上，并从LV正常启动。如果直接将&lt;code&gt;/boot&lt;/code&gt;目录放在LV上，就会出现GRUB安装不成功的情况。&lt;/p&gt;
&lt;h4 id=&quot;创建pv&quot;&gt;创建PV&lt;/h4&gt;
&lt;p&gt;在刚才分区之后未利用的磁盘分区上创建PV。例如：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;pvcreate&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /dev/nvme0n1p2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;创建vg&quot;&gt;创建VG&lt;/h4&gt;
&lt;p&gt;我使用”arch”这个名字来命名将要创建的VG。一般情况下，只需创建一个VG即可。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;vgcreate&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; arch&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /dev/nvme0n1p2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可使用&lt;code&gt;vgs&lt;/code&gt;命令查看系统所有的VG名称。&lt;/p&gt;
&lt;p&gt;如果有更多的磁盘，可以在它们上创建PV然后添加到VG中。例如：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;pvcreate&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /dev/sdb1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;vgextend&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; arch&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /dev/sdb1&lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;		# 添加新的PV到已存在的VG中&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;创建lv&quot;&gt;创建LV&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;方法一&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;lvcreate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -L&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; 100G&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -n&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; lv_home&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; arch&lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;	# &quot;-n&quot;后为任意LV名(name)；&quot;-L&quot;后为大小(large)，其中&quot;L&quot;和&quot;G&quot;需大写&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;方法二&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;lvcreate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --extents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; 100%FREE&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; arch&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -n&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; lv_home&lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;		# &quot;100%FREE&quot;会用尽VG的剩余空间&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可使用&lt;code&gt;lvs&lt;/code&gt;命令查看LV及每个LV所属的VG。&lt;/p&gt;
&lt;h4 id=&quot;lv扩容&quot;&gt;LV扩容&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;方法一&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;lvresize&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -L&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; +50G&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; arch/lv_home&lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;	# [没有]&quot;/dev&quot;；在原来的基础上增加了50G&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;方法二&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;lvresize&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -L&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; 150G&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; arch/lv_home&lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;	# 增加到150G&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果是格式化后的LV扩容，需要使用以下命令使文件系统扩容（EXT家族）：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;resize2fs&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /dev/arch/lv_home&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;LV的路径似乎可以用另一种方式表示：&lt;code&gt;/dev/mapper/&apos;VG&apos;-&apos;LG&apos;&lt;/code&gt;。感兴趣的同学可以使用虚拟机尝试。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;格式化&quot;&gt;格式化&lt;/h4&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;mkfs.ext4&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /dev/arch/lv_home&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;swap分区使用&lt;code&gt;mkswap&lt;/code&gt;命令。&lt;/p&gt;
&lt;h3 id=&quot;安装与配置&quot;&gt;安装与配置&lt;/h3&gt;
&lt;p&gt;完成了分区与格式化，并且将不同磁盘分区挂载到相应的挂载点上，就要修改&lt;code&gt;/etc/pacman.conf&lt;/code&gt;，将&lt;code&gt;#Color&lt;/code&gt;的注释去掉，再修改镜像源文件。&lt;/p&gt;
&lt;h4 id=&quot;下载与安装&quot;&gt;下载与安装&lt;/h4&gt;
&lt;p&gt;接着，安装系统和必要组件：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;pacstrap&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /mnt&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; base&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; linux-lts&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; linux-firmware&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; base-devel&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; lvm2&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; dhcp&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; iwtcl&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; git&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vim&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; man&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; zsh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;对于与ArchWiki的不同的解释：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;linux-lts&lt;/code&gt;: 长期稳定版本，与&lt;code&gt;linux&lt;/code&gt;相比bug更少。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;base-devel&lt;/code&gt;: 包含了基本工具的软件包。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lvm2&lt;/code&gt;: LVM配置工具。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dhcp iwctl&lt;/code&gt;: 网络。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git vim man zsh&lt;/code&gt;: 略。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;配置&quot;&gt;配置&lt;/h4&gt;
&lt;p&gt;若按照ArchWiki的步骤，到达&lt;a href=&quot;https://wiki.archlinux.org/title/Installation_guide#Initramfs&quot;&gt;Initramfs&lt;/a&gt;步骤时，就要稍微注意一下。这个系统主要安装在LVM上，因此要参照&lt;a href=&quot;https://wiki.archlinux.org/title/Install_Arch_Linux_on_LVM#Adding_mkinitcpio_hooks&quot;&gt;Adding mkinitcpio hooks&lt;/a&gt;小节修改&lt;code&gt;/etc/mkinitcpio.conf&lt;/code&gt;并运行&lt;code&gt;mkinitcpio -P&lt;/code&gt;。
（注：若&lt;code&gt;/usr&lt;/code&gt;在一个单独的分区，请注意被修改的&lt;code&gt;HOOKS&lt;/code&gt;行上方的”NOTE”。）&lt;/p&gt;
&lt;p&gt;若将ArchWiki上的被本文忽略的步骤也都做完并成功的话，重启即可进入简陋的tty界面。至此，基本安装已全部完成。登录后参阅&lt;a href=&quot;https://wiki.archlinux.org/title/General_recommendations&quot;&gt;General recommendations&lt;/a&gt;来进行进一步的配置。&lt;/p&gt;
&lt;h2 id=&quot;图形环境&quot;&gt;图形环境&lt;/h2&gt;
&lt;h3 id=&quot;安装&quot;&gt;安装&lt;/h3&gt;
&lt;p&gt;如果不太确定要安装的具体组件，可以直接安装整个包组：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; pacman&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -S&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; xorg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接下来要安装显示管理器（&lt;code&gt;GDM&lt;/code&gt;, &lt;code&gt;lightDM&lt;/code&gt;等）或&lt;code&gt;xinit&lt;/code&gt;以及桌面环境（DE）或窗口管理器（WM）。&lt;/p&gt;
&lt;h2 id=&quot;结语&quot;&gt;结语&lt;/h2&gt;
&lt;p&gt;至此，一个非常基本的Arch Linux就安装完成了。&lt;/p&gt;</content:encoded></item></channel></rss>