问题现象

Fedora 系统中已经安装了 Steam,菜单里也能看到 Steam 图标,但是点击后前端没有任何窗口出现,像是程序完全没有启动。

终端确认 Steam 确实已安装:

1
2
$ which steam
/usr/bin/steam

系统包版本如下:

1
2
$ rpm -q steam
steam-1.0.0.87-1.fc44.x86_64

桌面环境是 KDE Wayland,但后面的排查证明,这次问题并不是 Wayland、显卡驱动或窗口系统导致的。

先看 Steam 自己的日志

Steam 的用户日志位于:

1
~/.local/share/Steam/logs/

主要查看这几个文件:

1
2
3
~/.local/share/Steam/logs/bootstrap_log.txt
~/.local/share/Steam/logs/console-linux.txt
~/.local/share/Steam/logs/updateui_child.txt

当时 bootstrap_log.txt 里的关键错误是:

1
2
3
4
5
[2026-08-12 16:02:50] Downloading manifest: https://client-update.steamstatic.com/steam_client_ubuntu12
[2026-08-12 16:02:51] Download failed: http error 0 (client-update.steamstatic.com/steam_client_ubuntu12)
[2026-08-12 16:02:51] Failed to load manifest
[2026-08-12 16:02:51] Error: Download failed: http error 0
[2026-08-12 16:02:51] Error: Steam needs to be online to update. Please confirm your network connection and try again.

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
2
3
HTTP/1.1 200 OK
Server: nginx
Content-Length: 9866

这说明系统网络本身可以访问 Steam 更新服务器。也就是说,如果 Steam 仍然失败,就要重点看 Steam 自己的运行时、证书路径和启动器兼容性。

另外,Steam 客户端里的下载地区设置主要影响游戏下载 CDN。Linux 客户端首次启动时的 bootstrap 自更新使用的是启动器内置更新地址,日志里也能看到:

1
2
Using the following download hosts for Public, Realm steamglobal
1. https://client-update.steamstatic.com, /, Realm 'steamglobal', weight was 1, source = 'baked in'

此时客户端还没正常启动,自然也无法通过图形设置切换下载地区。

真正原因:Fedora 的 CA Bundle 路径和 Steam 预期不一致

系统里的 CA 包是正常安装的:

1
2
3
4
$ rpm -q ca-certificates openssl-libs
ca-certificates-2025.2.80_v9.0.304-6.fc44.noarch
openssl-libs-3.5.7-2.fc44.x86_64
openssl-libs-3.5.7-2.fc44.i686

真实存在的 Fedora CA bundle 路径是:

1
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

但是一些常见兼容路径当时不存在:

1
2
3
4
/etc/pki/tls/cert.pem
/etc/pki/tls/certs/ca-bundle.crt
/etc/ssl/certs/ca-certificates.crt
/etc/ssl/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
2
3
4
sudo ln -sfn /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/tls/cert.pem
sudo ln -sfn /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/tls/certs/ca-bundle.crt
sudo ln -sfn /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/ssl/certs/ca-certificates.crt
sudo ln -sfn /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/ssl/cert.pem

如果之前 Steam 启动失败留下了残留状态,可以顺手清理:

1
rm -f ~/.steam/steam.pid ~/.steam/starting

然后重新启动:

1
steam

修复后的状态

修复后确认软链接:

1
2
3
4
$ ls -l /etc/pki/tls/cert.pem \
/etc/pki/tls/certs/ca-bundle.crt \
/etc/ssl/certs/ca-certificates.crt \
/etc/ssl/cert.pem

输出类似:

1
2
3
4
/etc/pki/tls/cert.pem -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
/etc/pki/tls/certs/ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
/etc/ssl/cert.pem -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
/etc/ssl/certs/ca-certificates.crt -> /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
2
3
[2026-08-13 01:21:19] Downloading update (16 of 502,420 KB)...
[2026-08-13 01:21:30] Downloading update (886 of 502,420 KB)...
[2026-08-13 01:21:31] Downloading update (902 of 502,420 KB)...

这说明 Steam 已经越过了之前的 HTTPS/证书问题,开始正常更新。

排查命令汇总

查看 Steam 安装位置:

1
2
3
which steam
file /usr/bin/steam
rpm -q steam

查看 Steam 用户日志:

1
2
3
ls -la ~/.local/share/Steam/logs
tail -n 120 ~/.local/share/Steam/logs/bootstrap_log.txt
tail -n 120 ~/.local/share/Steam/logs/console-linux.txt

筛选关键错误:

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
2
3
ls -l /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
ls -l /etc/pki/tls/cert.pem /etc/pki/tls/certs/ca-bundle.crt
ls -l /etc/ssl/cert.pem /etc/ssl/certs/ca-certificates.crt