Fedora 上 Steam 点击无窗口修复
问题现象
Fedora 系统中已经安装了 Steam,菜单里也能看到 Steam 图标,但是点击后前端没有任何窗口出现,像是程序完全没有启动。
终端确认 Steam 确实已安装:
1 | $ which steam |
系统包版本如下:
1 | $ rpm -q steam |
桌面环境是 KDE Wayland,但后面的排查证明,这次问题并不是 Wayland、显卡驱动或窗口系统导致的。
先看 Steam 自己的日志
Steam 的用户日志位于:
1 | ~/.local/share/Steam/logs/ |
主要查看这几个文件:
1 | ~/.local/share/Steam/logs/bootstrap_log.txt |
当时 bootstrap_log.txt 里的关键错误是:
1 | [2026-08-12 16:02:50] Downloading manifest: https://client-update.steamstatic.com/steam_client_ubuntu12 |
console-linux.txt 里还有更关键的一句:
1 | src/common/opensslconnection.cpp (1668) : unable to load trusted SSL root certificates |
这条日志很重要,说明 Steam 不是单纯连接不到服务器,而是在 HTTPS 连接阶段无法加载受信任的根证书。
容易误判成 GFW 或网络问题
Steam 报的是:
1 | Steam needs to be online to update. |
再加上 Linux 版第一次启动要访问:
1 | https://client-update.steamstatic.com/steam_client_ubuntu12 |
所以很容易第一反应是:
- GFW 拦了?
- DNS 污染?
- Linux 版 Steam 没有中国更新源?
- 为什么 Windows 上第一次启动没问题?
这几个怀疑都合理,但这次并不是主要原因。
用系统自带的 curl 直接测试同一个地址:
1 | curl -I --max-time 15 https://client-update.steamstatic.com/steam_client_ubuntu12 |
结果能正常返回:
1 | HTTP/1.1 200 OK |
这说明系统网络本身可以访问 Steam 更新服务器。也就是说,如果 Steam 仍然失败,就要重点看 Steam 自己的运行时、证书路径和启动器兼容性。
另外,Steam 客户端里的下载地区设置主要影响游戏下载 CDN。Linux 客户端首次启动时的 bootstrap 自更新使用的是启动器内置更新地址,日志里也能看到:
1 | Using the following download hosts for Public, Realm steamglobal |
此时客户端还没正常启动,自然也无法通过图形设置切换下载地区。
真正原因:Fedora 的 CA Bundle 路径和 Steam 预期不一致
系统里的 CA 包是正常安装的:
1 | $ rpm -q ca-certificates openssl-libs |
真实存在的 Fedora CA bundle 路径是:
1 | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
但是一些常见兼容路径当时不存在:
1 | /etc/pki/tls/cert.pem |
Steam Linux bootstrapper 看起来会尝试从某些传统路径加载根证书。路径不存在时,它就会报:
1 | unable to load trusted SSL root certificates |
之后下载 manifest 失败:
1 | Download failed: http error 0 |
最终表现成:
1 | Steam needs to be online to update. |
表面像网络不通,实际是 Steam 自己无法加载 CA 根证书。
修复方法
创建几个兼容软链接,让 Steam 可以从它期望的路径读到 Fedora 的真实 CA bundle:
1 | sudo ln -sfn /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/tls/cert.pem |
如果之前 Steam 启动失败留下了残留状态,可以顺手清理:
1 | rm -f ~/.steam/steam.pid ~/.steam/starting |
然后重新启动:
1 | steam |
修复后的状态
修复后确认软链接:
1 | $ ls -l /etc/pki/tls/cert.pem \ |
输出类似:
1 | /etc/pki/tls/cert.pem -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
再次启动 Steam 后,之前的证书错误消失了:
1 | src/common/opensslconnection.cpp (1668) : unable to load trusted SSL root certificates |
不再出现。
Steam 成功下载更新清单:
1 | [2026-08-13 01:21:19] Downloaded new manifest: /steam_client_ubuntu12 version 1785799196, installed version 0, existing pending version 0 |
并开始下载客户端更新:
1 | [2026-08-13 01:21:19] Downloading update (16 of 502,420 KB)... |
这说明 Steam 已经越过了之前的 HTTPS/证书问题,开始正常更新。
排查命令汇总
查看 Steam 安装位置:
1 | which steam |
查看 Steam 用户日志:
1 | ls -la ~/.local/share/Steam/logs |
筛选关键错误:
1 | rg -i 'steam needs|download failed|ssl|cert|manifest|fatal|error' ~/.local/share/Steam/logs |
测试系统网络是否能访问 Steam 更新地址:
1 | curl -I --max-time 15 https://client-update.steamstatic.com/steam_client_ubuntu12 |
查看 CA bundle 是否存在:
1 | ls -l /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
