Я пытаюсь создать очень специализированную «рабочую среду» для некоторых младших членов семьи, использующих Armory 3D, использующую Haxe в качестве бэкэнда. Это в основном интерфейс с киосками поверх Linux, который позволяет пользователям запускать только определенные программы и игры. У меня есть событие кнопки, связанное с функцией, которая должна запускать системное приложение через bash. Проблема в том, что я не знаю, как вызывать bash (или любой другой вид скрипта / команды / программы) через Haxe.
Я пробовал искать в Интернете, например, код. Я видел, как люди используют -cmd <command>
и Sys.command('<command>')
, но я не уверен, как использовать эти команды или если для их запуска требуется определенная настройка.
Это будет работать на 64-битной Linux:
import Sys;
import iron.App;
import armory.system.Event;
import armory.trait.internal.CanvasScript;
...
// Notify on button click
Event.add("menu.Opera", runOpera);
});
}
function runOpera() {
Sys.command('bash opera');
// -cmd 'bash /usr/bin/opera';
}
}
Я хочу, чтобы он просто запустил браузер Opera, потому что моя «среда рабочего стола» будет использовать браузеры довольно часто. Он ничего не запускает независимо от метода, который я пытаюсь использовать для запуска приложений. Я получаю эту ошибку при использовании Sys.command('<command>');
:
27: characters 3-14 : Accessing this field requires a system platform (php,neko,cpp,etc.)
А при использовании -cmd '<command>';
получаю:
28: characters 4-7 : Missing ;
У меня такое чувство, что я что-то тут напутал, но у меня нет предварительных знаний о синтаксисе Haxe.
[редактировать]
Я хотел бы отметить, что я искал практически везде и не могу найти ничего надежного для запуска системных приложений из Haxe.