You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Steam Deck更新后Java无法被识别,重装JRE失败求助(Linux新手)

Steam Deck更新后Java无法被识别,重装JRE失败求助(Linux新手)

兄弟,我太懂你作为Linux新手遇到这种问题的崩溃感了——Steam Deck一更新,Prism Minecraft启动器就找不到Java了,输java --version提示找不到命令,重装还碰上个只读文件系统的报错,确实头大!先给你拆解下核心问题和解决步骤:

核心原因:Steam Deck的系统分区默认是只读的

Valve为了保证系统稳定性,把SteamOS的/usr分区默认设置成了只读挂载状态,这就是你重装JRE时反复看到error: cannot remove file '/usr/': Read-only file system的根本原因,直接往/usr里装东西肯定失败。

一步步解决问题:

  • 第一步:临时解锁系统分区为可读写
    在终端执行这条命令,解锁只读限制:

    sudo steamos-readonly disable
    

    输入你的Steam Deck密码后回车就行,之后/usr分区就可以正常写入了。

  • 第二步:修复并重装Java相关包
    之前的重装失败可能留下了损坏的文件或缺失的依赖,执行这条命令强制覆盖修复:

    sudo pacman -Syu --overwrite '*' jre17-openjdk jre8-openjdk archlinux-java-run
    

    这里加--overwrite '*'是为了强制覆盖所有可能损坏的文件,同时装上archlinux-java-run——之前报错找不到/usr/bin/archlinux-java,这个包就是提供这个工具的。

  • 第三步:设置默认Java版本
    先查看已安装的Java版本:

    sudo archlinux-java status
    

    然后根据你的需求设置默认版本,比如要设Java17为默认:

    sudo archlinux-java set java-17-openjdk
    

    要设Java8的话就改成java-8-openjdk

  • 第四步:验证Java是否正常工作
    终端执行:

    java --version
    

    如果能正常输出Java版本信息,说明安装成功了。

  • 第五步:给Prism Launcher指定Java路径
    打开Prism Launcher,进入「设置」→「Java」→「安装路径」,手动选择Java的可执行文件:

    • Java17的路径一般是:/usr/lib/jvm/java-17-openjdk/bin/java
    • Java8的路径一般是:/usr/lib/jvm/java-8-openjdk/jre/bin/java

额外注意:

解决完问题后,如果想恢复系统分区的只读状态(避免后续系统更新出问题),可以执行:

sudo steamos-readonly enable

备注:内容来源于stack exchange,提问作者TheUnderJack

火山引擎 最新活动