Я пытаюсь запустить 32-разрядный двоичный файл reclient_linux_32 который поставляется с игрой Linux Red Eclipse. Я успешно собрал из исходного кода, а также есть другая версия исполняемого файла. Если я открою окно и вручную нажму на любой исполняемый файл, то игра запустится без проблем. Если я открою терминал, перейду к папке, в которой находится какой-либо двоичный файл, и выполню его из командной строки, затем оба запустятся без проблем.

Но если я создаю панель запуска приложений или даже просто открываю терминал и выполняю команду для запуска бинарного файла из какого-то другого каталога, я получаю сообщение об ошибке, в котором говорится, что игра не может загружать текстуры. Я предполагаю, что эти файлы текстуры расположены локально рядом с бинарными файлами. Но, тем не менее, для многих исполняемых файлов требуются близлежащие файлы, и все же их можно запустить из любого места. Почему это проблема?

Обратите внимание: оба исполняемых файла имеют правильные разрешения.

2 ответа2

1

"Игра", вероятно, имеет жестко заданные пути к каталогам относительно рабочего каталога. то есть "../textures/blah" вместо "/usr/local/game/textures/blah" ... без src ... не может начать тестирование.

1

Причиной может быть то, что программа ищет файлы текстур только в текущем каталоге (в сообщении говорится так). Чтобы приблизиться к причине, вы можете запустить программу с помощью strace -v /path/to/program , она должна показать вам, какие файлы она хочет открыть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .