У меня есть приложение MS Windows, которому нужна новая версия Wine. Я установил его локально в домашнюю папку с помощью PlayOnLinux.
Я застрял в создании простого сценария bash/dash/sh для запуска приложения .exe внутри своей папки. я пробовал стандартный pushd/popd
, cd && exec
, (компакт-диск && исполняемый файл)
подход, но это не удалось.
Что мне нужно:
В настоящее время я доволен следующим Python-кодом для скрипта-оболочки (для размещения в /usr/local/bin/wine32-обертка):
#!/usr/bin/python3
импорт ОС
импорт системы
подпроцесс импорта
если len(sys.argv) >= 2:
путь = sys.argv[1]
wd = os.path.dirname(путь)
exec_path = ["/home/{}/.PlayOnLinux/wine/linux-x86/6.15/bin/wine".format(os.getenv('USER'), путь), "{}".format(путь)]
p = subprocess.run(exec_path, cwd=wd)
еще:
print("\nИспользование {} с одним аргументом - полный путь к файлу.".format(sys.argv[0]));
и .desktop-файл (для размещения в ~/.local/доля/приложения/wine32.desktop), для этого:
#!/usr/bin/env xdg-open
[Вход на рабочий стол]
Версия=1.0
Тип = Приложение
Терминал=ложь
Icon=mate-panel-launcher
Exec=wine32-обертка %f
Имя=Местное вино32-6.15
затем я связываю свои exe-файлы с этим винным скриптом, используя Caja.
Можно ли заменить вышеприведенный скрипт python скриптом bash/dash/sh с точно такой же функциональностью?