统一 Linux GUI 框架主题和外观

在 Linux 下,GUI 外观配置一直是一个复杂的话题。本文试图梳理 Qt 和 GTK 两种 GUI 框架的相关概念,并给出不同情况下的配置方案,实现外观的统一。 本文讨论的 Qt 包括 Qt 5 和 Qt 6,GTK 包括 GTK 2、GTK 3、GTK 4,并且将以 Qt 6 和 GTK 4 为重点。测试的 DE 和 WM 包括 GNOME 4.46、KDE Plamsa 6.1、Hyprland 0.41。 配置组成 基本概念 外观配置一般包括以下几个方面: 主题/Theme:这是一个比较广泛的概念,一般包括了样式、图标和鼠标指针等各配置项在内。 样式/Style:一般指程序窗口、面板、组件的外观。 图标/Icon 指针/Cursor 字体/Font 配色方案/Color Scheme:较细粒度的配置项,诸如主要颜色、强调颜色的配置都属于配置方案。 声音/Sound …… 这是一个比较广泛的定义,具体到各框架,又会产生一定的变化。 GTK GTK 中可直接配置的部分相对较少,主要是: 主题/Theme:主要与一般定义中的样式/Style 对应。 图标/Icon Theme:与一般定义中的图标/Icon 相同。 指针/Cursor Theme:与一般定义中的指针/Cursor 相同。 字体/Font:与一般定义中的字体/Font 相同。 包括 GNOME 在内的基于 GTK 开发的 DE 基本上直接使用上述概念,利用这些 DE 的工具配置外观,基本上就是对 GTK 的配置直接修改。...

July 31, 2024 · 3 min · oosquare

用 NixOS 部署 Minecraft 服务器

紧张的考试周过后,终于有时间和朋友玩 Minecraft 了。为了方便进行多人游戏,我和 @whitepaperdog 决定购买一台云主机作为服务器。鉴于 NixOS 强大的 reproducibility 以及我这半年使用 NixOS 的优秀体验,我决定将服务器的系统更换为 NixOS,并在其之上部署 Minecraft 服务。 准备工作 NixOS 安装 这台服务器并不是用我的账号买的,所以我没有办法直接在控制台上传 NixOS 的镜像进行安装。等我拿到 root 密码后,系统就已经是 Ubuntu 了。在此情况下,我选择了使用 NixOS-infect。NixOS-infect 是一个 shell 脚本,其在服务器上安装 Nix,再用 Nix 构建出 NixOS,最后修改 bootloader 配置,添加 NixOS 的启动项并删除其他东西。 使用 NixOS-infect 前需要配置好访问 root 的 SSH 公钥,这是因为 NixOS-infect 并没有提供设置 root 密码的步骤,并且 NixOS 默认情况下将禁用 SSH 通过密码登录 root。NixOS-infect 脚本会将原有的 root 的公钥重新导入到新的 NixOS 里。 由于服务器在国内,所以访问 nixpkgs 的 cache 将会非常慢,在安装 NixOS 之前需要配置好 cache 镜像。编辑脚本,在完成 Nix 的安装后,配置镜像源: infect() { # ....

July 5, 2024 · 9 min · oosquare