You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04运行X3 Terran War Pack的start.sh提示找不到X3TC_config

运行GOG版《X3 Terran War Pack》提示./X3TC_config: No such file or directory

系统环境

  • Ubuntu 22.04(已更新升级)
  • bash版本:5.1.16

错误现象

在游戏目录执行启动脚本时出现报错:

dah@jellyfish:~/GOG Games/X3 Terran War Pack$ bash start.sh
Running X3: Terran War Pack
start.sh: line 20: ./X3TC_config: No such file or directory

文件位置与权限确认

X3TC_config实际路径为/home/dah/GOG Games/X3 Terran War Pack/game/X3TC_config,权限已设置为可执行:

dah@jellyfish:~/GOG Games/X3 Terran War Pack$ ls -afl game | grep X3TC_config
-rwxrwxr-x  1 dah dah       5592 Mar  2 10:08 test_X3TC_config
-rwxrwxr-x  1 dah dah     502384 Mar  2 10:06 X3TC_config

启动脚本start.sh内容

#!/bin/bash 
# GOG.com (www.gog.com)
# Game

# Initialization 
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 
cd "${CURRENT_DIR}" 
source support/gog_com.shlib 

# Game info 
GAME_NAME="$(get_gameinfo 1)" 
VERSION="$(get_gameinfo 2)" 
VERSION_DEV="$(get_gameinfo 3)" 

# Actions
run_game() { 
echo "Running ${GAME_NAME}" 
cd "${CURRENT_DIR}/game" 
chmod +x * 
 ./X3TC_config 

}
default() { 
run_game
} 

# Options
define_option "-s" "--start" "start ${GAME_NAME}" "run_game" "$@" 

# Defaults
standard_options "$@" 

调试过程

  1. 修改脚本添加当前目录输出,确认路径指向正确:
    修改后的run_game函数:

    run_game() { 
    echo "Running ${GAME_NAME}" 
    echo "${CURRENT_DIR}"  # echo current dir
    cd "${CURRENT_DIR}/game" 
    chmod +x * 
    ./X3TC_config 
    
    }
    

    执行结果显示路径正确,但报错依旧:

    dah@jellyfish:~/GOG Games/X3 Terran War Pack$ bash start2.sh
    Running X3: Terran War Pack
    /home/dah/GOG Games/X3 Terran War Pack
    start2.sh: line 21: ./X3TC_config: No such file or directory
    
  2. 添加set -x调试,确认已进入game目录且文件被识别:

    + run_game
    + echo 'Running X3: Terran War Pack'
    Running X3: Terran War Pack
    + cd game
    + chmod +x 01.cat 01.dat ... X3TC_config ...
    + ./X3TC_config
    start.sh: line 20: ./X3TC_config: No such file or directory
    
  3. 对比同平台可正常运行的GOG游戏脚本,逻辑一致但此游戏报错。


解决方案

这种“文件存在但提示不存在”的问题,在64位Linux系统上几乎都是缺少32位运行库导致的——X3这类老游戏多为32位程序,而Ubuntu 22.04默认只安装64位库。

步骤1:安装基础32位依赖

执行以下命令启用32位架构并安装核心库:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 libsdl2-2.0-0:i386

步骤2:排查缺失的具体库

如果安装基础库后仍报错,可直接运行测试程序查看详细缺失信息:

cd ~/GOG Games/X3 Terran War Pack/game
./test_X3TC_config

根据输出的缺失库名称,用apt install安装对应i386版本的库即可(例如缺失libopenal1则执行sudo apt install libopenal1:i386)。

备选方案:使用完整路径执行

若目录切换存在未知问题,可修改脚本中执行命令为完整路径,避免切换目录的影响:
将run_game函数中的./X3TC_config替换为:

"${CURRENT_DIR}/game/X3TC_config"

内容的提问来源于stack exchange,提问作者abdullah-van-damme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 14:15:30