起点:gamescope 怎么用?
无意间知道了 Gamescope——Valve 为 Steam Deck 做的 Wayland 微合成器。装好了,怎么用?
答案不复杂:
1 | gamescope -W 1920 -H 1080 -r 60 -f -- %command% |
Steam 游戏属性 → 启动选项,把上面这行粘进去,60 帧全屏跑。想降分辨率提性能就加 -w 1600 -h 900 -F fsr,开 FSR 超分。游戏里 Super+F 切全屏,Super+U 切 FSR 开关。
不复杂。但接下来发生了更有意思的事。
第一问:配置文件在哪里?
如果我想看 gamescope 的配置文件呢?pacman 装的程序,配置放哪了?
两条规则:
/etc/— 系统级默认配置,pacman 装的,所有用户共享~/.config/— 用户自己改的配置,程序第一次运行时自动生成,pacman 不碰
查一个包放了什么配置:pacman -Ql <包名> | grep /etc/。
第二问:为什么这样设计?
因为 Linux 从一开始就是多用户系统。哪怕现在 PC 就你一个人,系统里还跑着 root、nobody、http 等几十个虚拟用户。
如果配置只有一个地方放:装个 vim,服务器上 50 个用户都得等管理员改全局配置才能换主题——疯了。反过来,一个人改了全局 vimrc,其余 49 个人的编辑器突然变了——更疯了。
解决方案:分层覆盖。
| 层级 | 谁设 | 优先级 |
|---|---|---|
| 程序默认值 | 开发者 | 最低 |
/etc/ 全局 |
root | 中 |
~/.config/ 个人 |
你自己 | 最高 |
你的个人配置盖过全局,全局盖过默认。每个人只管自己一块,root 管底线。
不是注册表,是纯文本
Windows 用了注册表,一个大二进制数据库。Linux 选了纯文本文件。故意的:
- 任何编辑器都能改,不需要 regedit
git diff看改了哪,cp就是备份- 换机器复制
~/.config/就恢复 - 脚本能直接读写配置
代价是每个程序可能用不同格式(INI/YAML/JSON/TOML)。换来的是透明和可控。
/etc/、/usr/、/var/、~/.local/share/ 分离也是同样的逻辑——可执行文件、静态数据、运行时日志、用户数据各自归位,备份的时候你只要管 /etc/ 和 ~/。
不是 Linux 选了「难用」,而是选了「每个人只管自己一亩三分地」。你是多用户系统里的一个用户,root 不是你,系统服务的虚拟用户也不是你。分层就是为了让这个边界清晰。
第三问:加密是干什么的?
聊到 GPG(打错成 gbg),接着是文件加密。
说实话,我过去多少年也从没手动加解密过文件。最多压缩包设个密码。但仔细一想,我其实一直在用加密,只是它藏在底层:
- 打开
https://网站 → TLS - 连 WiFi → WPA2/WPA3
- SSH 连服务器 → 加密通道
- Steam 输密码 → 加密传输
软件替你做了。手动加密只在数据要离开你可控边界时才有意义——发给别人、上传云盘、U 盘带走。
然后查了一下自己的硬盘——lsblk 没看到 crypt 层,/etc/crypttab 不存在,dm-crypt 模块没加载。裸奔。但因为我这台机器不带着到处跑、盘上也没什么见不得人的内容,不需要就是不需要。Linux 给你的是选择,不是强制。
顺藤摸瓜的学习
回头看这串问题的路径:
1 | gamescope 怎么用 |
这不是按教材目录学的。每一个问题都是上一个自然引出来的。从一条启动参数开始,摸到了 FHS 标准、多用户设计哲学、文本配置 vs 注册表、以及对自身系统的实际验证。
每个知识点都踩在上一步的实际操作上,不是背的,不会忘。
学习不是先有地图再走,是走到哪画到哪。今天画了一小段,但它连着真实的路。