如何在Unity上构建linux中的默认命令行参数

时间:2018-03-14 08:51:47

标签: linux unity3d command-line build local

我在Linux上遇到本地问题。

使用“LANG = C”问题修复程序运行构建时出现问题修复。

如何在Linux build中将此参数设置为默认参数?

1 个答案:

答案 0 :(得分:0)

我可以想到两种方法来解决这个问题。

批量启动

第一个方法是简单地创建一个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可能有某种方式将其设置为默认值,但是我还没有找到它的引用,而且我知道过去已经使用这种确切的方法发布了游戏。