Ubuntu下命令行构建Unity Server运行仍显示GUI该如何解决?
你在构建命令中添加的-batchmode、-nographics属于Unity编辑器的启动参数,仅对执行构建操作的编辑器进程生效,不会被内置到最终构建出的可执行文件中,因此运行产物时还是会默认启动图形窗口。
解决方案
- 运行时追加参数
直接在启动构建产物的命令后添加对应参数即可关闭GUI,示例命令如下:./你的可执行文件名 -batchmode -nographics - 构建时直接生成无头服务端版本
Unity 2019.4及以上版本支持专门的无头Linux服务端构建目标,构建出的产物本身剔除了所有图形相关模块,无需额外参数即可无GUI运行。你只需要修改原构建命令中的构建目标参数即可,将原命令的-buildLinux64Player替换为-buildLinuxHeadlessPlayer,修改后的构建命令参考:~/Unity/Hub/Editor/2019.4.30f1/Editor/Unity -batchmode -nographics -logfile stdout.log -projectPath /path/to/the/project -buildLinuxHeadlessPlayer /project/build/destination -quit
注意事项
使用无头模式构建前,需要确认你的服务端代码中没有调用图形渲染、用户输入类的Unity API,否则运行时会抛出异常,常规服务端逻辑都不会涉及这类API,无需额外调整。
内容的提问来源于stack exchange,提问作者brian enno
相关产品推荐
相关产品推荐

