我正在寻求帮助,试图通过 wines windows player 创建一个 .sh 文件到 运行 steam 游戏

I am looking for help trying to create a .sh file to run steam games through wines windows player

我有一台计算机 运行ning Ubuntu,带有 retropie(仿真站),我可以通过它为基于 运行 linux 的 Steam 游戏创建 .sh 文件直接安装到电脑上。我已经安装了 wine 以玩基于 windows 的游戏,虽然我可以通过进入 windows steam 并单击播放来 运行 文件,但我正在寻找一种方法来创建一个 . sh 文件,这将允许我通过 retropie 播放它们。我可以 post 我尝试过的一些东西,我只是在格式设置上苦苦挣扎。 如果我需要 post 任何其他事情或修复某些问题,请告诉我! 编辑:这是我试过的一些代码,第一个我认为应该 运行 通过 wine 的可执行文件,但我无法输出任何东西,第二个是我在网上找到的一些代码,它也可以监视游戏关闭,所以它可以干净地退出。

#!/bin/bash
wine ~/PlayOnLinux\'s\ virtual\ drives/Steam/drive_c/Program\ 
Files/Steam/steamapps/common/MortalKombat_KompleteEdition/DiscContentPC/MKKE.exe

#! /bin/bash
appid=
procname=
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"

我不是 100% 确定,我会在几个小时内完成工作后进行测试,但据我所知,Steam URL 协议不能与命令行一起使用,因此当您尝试时此 Steam 可能会抛出解析错误。如果在 -silent 之后添加 -console,它应该启用“控制台”选项卡,并允许您在打开客户端时看到错误消息。

改为尝试其中一种

  • 仅使用没有“$STEAM”部分的浏览器协议,因此不会尝试将其作为参数传递给客户端。

  • 使用 Steam Command-line parameter -applaunch {appid}, 其中 {appid} 被游戏的 appid 替换为 运行,就像您已经尝试做的那样。