我有一台运行Ubuntu和retropie(emulationstation)的计算机,我可以创建.sh文件来运行基于Linux的Steam游戏,因为它们可以直接安装到计算机上。我已经安装了葡萄酒以便玩基于Windows的游戏,而我可以通过进入Windows Steam并点击播放来运行文件,我正在寻找一种方法来创建一个.sh文件,这将允许我通过retropie播放它们。我可以发布一些我试过的东西我只是在努力格式化。 如果我需要发布任何其他内容或修复某些内容,请告诉我们! 编辑:继承人的一些代码我试过,第一个我认为应该通过葡萄酒运行可执行程序,但我不能得到任何输出,第二个是我在网上发现的一些代码,看着游戏关闭,所以它可以退出清洁
#!/bin/bash
wine ~/PlayOnLinux\'s\ virtual\ drives/Steam/drive_c/Program\
Files/Steam/steamapps/common/MortalKombat_KompleteEdition/DiscContentPC/MKKE.exe
#! /bin/bash
appid=$1
procname=$2
PREFIX=/home/rig-cade/PlayOnLinux\'s\ virtual\ drives
STEAM="/home/rig-cade/.wine-steam/drive_c/Program Files/Steam/Steam.exe"
export WINEDEBUG=-all
export WINEPREFIX=$PREFIX
if [[ ((`pgrep -f steam.exe -c` == 0)) && ((`pgrep -f Steam.exe -c` == 0)) ]]; then
optirun wine "$STEAM" -silent &
sleep 20
fi
echo "Running game"
wine "$STEAM" steam://rungameid/$appid &
sleep 15
echo "Starting checks"
status=`pgrep -f $procname -c`
if (( "$status" > 1 )); then
while (( "$status" > 1 )); do
sleep 5
status=`pgrep -f $procname -c`
done
wine "$STEAM" -shutdown &
fi
echo "Exiting"
答案 0 :(得分:0)
我不是百分百肯定,我会在几小时内完成工作后进行测试,但AFAIK Steam URL协议不能与命令行一起使用,因此当您尝试此操作时,Steam可能会抛出一个解析错误。如果您在-console
之后添加-silent
,则应启用“控制台”标签,并允许您在打开客户端时看到错误消息。
而是尝试其中一个
仅使用没有“$ STEAM”部分的浏览器协议,因此不会尝试将其作为参数传递给客户端。
使用Steam Command-line parameter -applaunch {appid}
,
其中{appid}被替换为您正在尝试的游戏的appid。