【发布时间】:2018-08-22 17:13:08
【问题描述】:
我在 Linux 上遇到了一些本地问题。
使用“LANG=C”问题修复运行构建时的问题修复。
如何在 Linux 构建中将此参数设置为默认参数?
【问题讨论】:
标签: linux unity3d command-line build local
我在 Linux 上遇到了一些本地问题。
使用“LANG=C”问题修复运行构建时的问题修复。
如何在 Linux 构建中将此参数设置为默认参数?
【问题讨论】:
标签: linux unity3d command-line build local
我可以想到两种方法来做到这一点。
批量启动
第一种方法是简单地创建一个 shell 脚本(Windows 上的批处理文件或 Linux 上的 bash,或任何适用于您的目标平台的等效文件),它使用提供的参数启动默认程序;然后将启动器脚本视为默认程序,这样就不会让人感到困惑。
某些 DDS 服务(如 Steam)允许自定义启动参数,因此您可能希望在调用后附加 $@ 以将所有参数添加到末尾。
所以你的批处理启动器将只包含类似
LANG=C ./my_game_name.x86 $@
值得注意的是,我以前听说过这个问题,一般在非英语语言环境中,LC_ALL=C 也被认为很重要。不过,我无法说明原因。这会让它更像:
LC_ALL=C LANG=C ./my_game_name.x86 $@
自定义启动器
另一个选项大致相同,但通过一个可执行文件,可能是用 C# 编写的(因为您已经在使用 Unity),它使用默认选项运行程序。作为一个相当老派的 Linux 用户,我不喜欢它,但 https://loune.net/2017/06/running-shell-bash-commands-in-net-core/ 有一个不错的例子。您可能需要通过 Visual Studio 为 Linux 编译它。
对于更多与平台无关的语言(如 Python 或 Ruby)也是如此。我更喜欢批量启动,因为它切入正题。
只需确保您的启动器使用chmod u+x ./launcher_name 标记为可执行文件
Unity 可能有某种方式将其设置为默认值,但我还没有找到相关的参考资料,而且我知道过去曾使用这种确切的方法发布过游戏。
【讨论】: