Как создать рабочий стол-лаунчер для приложения .exe, которое должно запускаться с помощью вина внутри его каталога?

У меня есть приложение для MS Windows, которому нужна новая версия Wine. Я установил его локально в домашнюю папку с помощью PlayOnLinux.

Я застрял с созданием простого сценария bash/dash/sh для запуска приложения .exe внутри его папки. Я попробовал стандартный pushd/popd, cd && exec, (cd && exec) , но это не помогло.

Что мне нужно:

  • Desktop-файл для запуска скрипта

  • Скрипт, который:

    1. меняет директорию на .exe директорию приложения
    2. выполняет wine .exe внутри приложения directory

В настоящее время меня устраивает следующий Python-код для скрипта-оболочки (для размещения в /usr/local/bin/wine32-wrapper):

#!/usr/bin/python3
import os
import sys
import subprocess

if len(sys.argv) >= 2:
    path = sys.argv[1]
    wd = os.path.dirname(path)
    exec_path = ["/home/{}/.PlayOnLinux/wine/linux-x86/6.15/bin/wine".format(os.getenv('USER'), path), "{}".format(path)]
    p = subprocess.run(exec_path, cwd=wd)
else:
    print("\nUsage {} with one argument - full file path.".format(sys.argv[0]));

и .desktop-file ( поместить в ~/.local/share/applications/wine32.desktop), для него:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=mate-panel-launcher
Exec=wine32-wrapper %f
Name=Local Wine32-6.15

затем я связываю свои exe-файлы с этим винным скриптом с помощью Caja.

Можно ли заменить приведенный выше скрипт Python скриптом bash/dash/sh с точно такой же функциональностью?

1
задан 9 September 2021 в 15:15

0 ответов

Другие вопросы по тегам:

Похожие вопросы: