主页

系列文章

最新文章

解决 git am 合并冲突

阅读时长:4 分钟

太长不想看? git am 遇到合并冲突时,不会像 git pull、git merge、以及 git rebase 那样在文件中留下冲突标记,git status 也不会提供任何关于冲突的具体信息,导致用户搞不清楚情况。使用 git am --reject,即可让解决 git am 冲突的用户体验与其它 Git 命令相似。 问题 使用 git am 应用补丁时,如果产生了合并冲突,就会出现以下信息: 应用:hello, world and foobar 错误:打补丁失败:hello.txt:1 错误:hello.txt:补丁未应用 打补丁失败于 0001 hello, world and foobar 提示: 用 'git am --show-current-patch=diff' 命令查看失败的补丁 提示: 当您解决这一问题之后,执行 "git am --continue"。 提示: 如果您想要跳过这一补丁,则执行 "git am --skip"。 提示: 若要复原至原始分支并停止补丁操作,执行 "git am --abort"。 提示: Disable this message with "git config set advice.mergeConflict false" 绝大多数 Git 用户应该都经历过运行 git pull、git merge、以及 git rebase 等命令期间出现的合并冲突。这些 Git 命令遇到冲突时,用户可以运行 git status 查看是哪些文件导致的冲突。 ……

在 OpenWrt 上默认启用 Wi-Fi

阅读时长:6 分钟

OpenWrt 在配备有线网口的路由器上默认是禁用 Wi-Fi 的;官方文档对此的解释是“出于安全原因”1。要启用 Wi-Fi 的话,用户就需要暂时先使用有线网连接路由器,从而能够进入路由器后台调整 Wi-Fi 设置。 这样必然是没有大多数路由器的原厂固件方便。大部分路由器的机身上都会有个贴纸,上面写有唯一属于该路由器的出厂默认 Wi-Fi 名称及密码;用户在首次设置路由器时,就可以使用贴纸上的信息,以无线的方式连接路由器,不必使用有线网。不过,OpenWrt 确实难以为用户配置与提供默认的 Wi-Fi 网络参数。使用固定的、在所有 OpenWrt 设备上都相同的初始 Wi-Fi 密码的话,确实会带来安全风险;随机密码安全性更高,但与路由器厂商能在路由器机身贴纸不同,OpenWrt 没有能在用户连接到路由器前告知用户随机密码的方式。因此,默认禁用 Wi-Fi 确实是适合 OpenWrt 的提高安全性的手段。 ……

在 OpenWrt 上创建暴露于公网的 IPv6 子网

阅读时长:15 分钟

有些家庭宽带用户有将他们家庭网络中的部分设备开放给公网访问、并同时阻止公网访问其它设备需求。例如,家里的服务器可以允许公网访问,但手机、工作站之类的设备则应隔离于公网。实现这种需求的一种方法就是为开放给公网访问的设备专门建立一个子网,将该子网暴露在公网之下,而其它不希望公网访问的设备则继续连接默认的局域网子网,受防火墙保护,屏蔽公网访问。这种暴露于公网的子网,英文叫 demilitarized zone (DMZ),字面意思是“非军事区”,而在计算机网络的语境中也被称为“对外网络”。 ……

用 MultiOS-USB 制作多引导可启动 U 盘

阅读时长:7 分钟

在为了安装操作系统而制作可启动 U 盘时,如果制作多引导 U 盘,就可以免除每次需要启动新 ISO 时都要擦除 U 盘上原有数据的烦恼。我在了解到多引导 U 盘的存在前,一直都是用传统的可启动 U 盘制作工具,比如 Rufus,而传统工具的缺点就是,如果想用 U 盘启动不同的 ISO,就需要重新运行工具,并覆写 U 盘上原有的数据。多引导 U 盘就解决了这一缺点。比如说,如果我只有一块 U 盘,已经在上面写入了 Windows 安装盘的 ISO,而我现在想启动某 GNU/Linux 发行版的 ISO,并且这块 U 盘支持多引导,那么我只需要把 GNU/Linux 发行版的 ISO 复制到 U 盘上即可;等我使用 U 盘引导时,我可以选择是启动 Windows 的 ISO 还是 GNU/Linux 发行版的。我仍然能保留并且启动原来的 Windows ISO,无需将其覆盖。除此以外,我只需要简单地使用文件管理器或者 cp 命令就可以将新 ISO 装载到 U 盘上,不需要重新运行任何特别的工具或是复杂的命令。 ……

精简 Linux 内核配置

阅读时长:11 分钟

大部分青睐于自己编译内核的 Linux 用户想必都不会拒绝缩短内核编译耗时且减少内核及模块占用的硬盘空间的机会。常见的做法是精简内核配置,即在编译内核时关闭用户不需要的配置选项:无论是用不到的软件功能,还是用户未拥有的硬件的驱动,都可以在内核配置中关闭。例如,用不到 WireGuard 的用户就可以关闭对应的选项;没有 AMD 独立显卡或者带集成显卡的 AMD CPU 的用户就可以关闭 amdgpu 驱动的选项。 自己编译内核的用户,想必绝大多数是 Gentoo 用户,毕竟 Gentoo 的一大特色是用户可以轻松地本机编译软件包。因此,Gentoo 用户经常提到的问题之一就是精简内核配置。本文的目的即是就此问题为此类用户提供教程。 ……

Ptyxis 终端模拟器体验

阅读时长:11 分钟

我使用 GNOME 已经有好几年了,这期间用的一直是 GNOME 终端(GNOME Terminal),我感觉很好用。虽然后面又出现了 GNOME 控制台(GNOME Console),有一些不错的新功能,但它却没有个别 GNOME 终端中存在、且我需要用到的功能,所以一直以来我仍然在坚守 GNOME 终端。而到了现在,随着 Ptyxis(英文发音 /ˈtɪksɪs/)的出现,为 GNOME 设计的终端模拟器程序已经多达三个。简单上手体验了 Ptyxis 后,我很快就对它爱不释手,而在花了几天折腾一番后,我成功让 Ptyxis 达到了可以取代 GNOME 终端的标准。 ……

配置自己的 Gentoo 二进制包服务器

更新时间: 阅读时长:22 分钟

在诸多 GNU/Linux 发行版中,Gentoo 的一大特色是用户可以相对容易地从源码编译整个系统所有的软件包。在之前很长一段时间当中,从源码编译软件包是 Gentoo 用户的唯一选择,因为和其它发行版为用户分发已编译好可以直接运行的二进制可执行文件不同,Gentoo 分发给用户的只是用来编译二进制文件的脚本(也就是 ebuild)。从源码编译整个系统要花费很长时间,这也是 Gentoo 用户以前必须要面对的问题。不过,在 2023 年年底,一切都变了:Gentoo 官方的二进制包服务器上线了。该二进制包服务器为许多 Gentoo 软件仓库中的软件包都提供了预编译的二进制包,允许用户直接下载安装、跳过本地编译流程,从而节省时间。 ……

通过命令行选项让同一 LaTeX 源文件产生不同输出

阅读时长:8 分钟

您可能有过创建同一份文档的不同版本的需求、或是想从同样的源文件生成多份不同但又彼此关联的文档的情况,例如: 文档的不同版本之间只有排版不同,而内容完全相同。例如: 您想生成一份标准版的文档,同时再生成一份大字号版,以便于视力不佳的人群阅读。 不同版本的文档以不同的顺序呈现内容,但除此之外,所有版本的内容都是一样的。例如: 您可能想准备多种版本的履历以申请不同类型的岗位,其中面向研究岗位的履历将出版物列在教学经历之前,而面向教学岗位的履历则是相反的顺序。 ……

Framework Laptop 13 AMD 锐龙 7 7840U 版本

阅读时长:18 分钟

Framework 笔记本虽然目前还未在中国大陆境内销售,但依然有不少人通过新闻或者视频了解过。提到 Framework,很多人的第一印象也许是“模块化”1,不过 Framework 自己标榜的产品设计理念主要是可维修、可客制化、以及可升级。一开始,Framework 笔记本用的全是英特尔酷睿处理器;在等待了两年后,Framework 终于推出了我心念已久的 AMD 锐龙版本,我遂购买了一台搭载锐龙 7 7840U 的 Framework Laptop 13,在 2023 年 11 月收到货后一直使用至今,直到现在终于有时间可以记录一下我的使用体验了。 ……

让 Steam 在启动游戏快捷方式时最小化到托盘(仅适用于 Windows)

阅读时长:4 分钟

最近 Steam 客户端的大更新在大改界面的同时,在用户体验方面却有所退步:如果在 Steam 客户端没有运行的时候,使用桌面或开始菜单的快捷方式启动 Steam 游戏,那么 Steam 会在启动游戏前弹出客户端窗口;而在大更新之前,用快捷方式启动游戏后,Steam 是会直接最小化到系统托盘的,压根不会显示客户端窗口。 新版客户端的这一特性,对于喜欢用快捷方式启动 Steam 游戏、并且不想让 Steam 开机自启的用户来说,无疑十分烦人。因为现在用快捷方式启动游戏后,必须手动关闭 Steam 自己弹出的客户端窗口,才能将 Steam 最小化到系统托盘,否则 Steam 的窗口就会一直待在前台。 ……