Создание файла .desktop для приложений Wine

Вопрос или проблема

Я пытаюсь создать файл .desktop для файла .exe, вот что у меня получилось:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=wine /opt/MyApp/MyApp.exe
Name=MyApp
Icon=/opt/MyApp/data/icons/MyApp.ico

Я вижу иконку в меню, но когда я ее запускаю, ничего не происходит.
Если я пытаюсь запустить команду из терминала, все работает отлично – но из меню не работает.

Вот пример из ExamView Pro. Kubuntu 18.04.4 и Wine 3.0.1

[Desktop Entry]
Name=ExamView Test Generator
Exec=env WINEPREFIX="/home/acer/.wine" wine-stable C:\\\\windows\\\\command\\\\start.exe /Unix /home/acer/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\\ Menu/Programs/ExamView\\ Pro\\ Test\\ Generator/ExamView\\ Test\\ Generator.lnk
Type=Application
StartupNotify=true
Icon=C274_evpro.0
StartupWMClass=evpro.exe

вставьте описание изображения сюда

Ответ или решение

Создание .desktop файла для приложений Wine — это важный шаг для обеспечения удобного запуска Windows-программ в среде Linux. Так как вы уже имеете часть кода, давайте модифицируем его, добавим необходимые параметры и разберём проблемы, с которыми вы столкнулись.

Основные элементы .desktop файла

  1. [Desktop Entry]: Это заголовок вашего файла, который указывает, что это запись рабочего стола.
  2. Encoding: Указывает кодировку, используемую в файле. Альтернативные значение можно опустить, так как современный стандарт предполагает UTF-8.
  3. Version: Указывает версию спецификации. Чаще всего используется 1.0.
  4. Type: Указывает тип записи. В данном случае, это Application.
  5. Terminal: Указывает, нужно ли запускать приложение в терминале (true/false).
  6. Exec: Это команда, которая будет выполняться при запуске приложения.
  7. Name: Название приложения, которое будет отображаться в меню.
  8. Icon: Путь к значку приложения.

Редактирование вашего файла

Ваш изначальный .desktop файл выглядит следующим образом:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=wine /opt/MyApp/MyApp.exe
Name=MyApp
Icon=/opt/MyApp/data/icons/MyApp.ico

Однако, его необходимо немного изменить для более корректной работы:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=env WINEPREFIX="/home/username/.wine" wine /opt/MyApp/MyApp.exe
Name=MyApp
Icon=/opt/MyApp/data/icons/MyApp.ico
StartupNotify=true

Ключевые изменения и их обоснование

  1. Добавление WINEPREFIX: Если у вас установлен специфический префикс Wine для этого приложения, стоит указать его в Exec. Это обеспечивает правильную настройку окружения Wine.

  2. Параметр StartupNotify: Добавление этого параметра позволяет системе отслеживать запуск приложения и может улучшить пользовательский опыт. Это также полезно при работе с графическим интерфейсом.

  3. Путь к файлам: Убедитесь, что все пути указаны правильно и соответствуют файловой системе вашего компьютера. Если ваш пользователь — acer, вам нужно заменить username на ваше имя пользователя.

Проверка и тестирование

После внесения изменений, сохраните файл с расширением .desktop в одном из следующих мест:

  • Личный каталог для приложений: ~/.local/share/applications/
  • Системный каталог для приложений: /usr/share/applications/

После этого убедитесь, что файл является исполняемым:

chmod +x ~/.local/share/applications/MyApp.desktop

Теперь, если вы перезагрузите графический интерфейс или перезапустите сеанс, ваше приложение должно появиться в меню и работать корректно.

Заключение

Создание .desktop файла для приложений, работающих через Wine, требует тщательного подхода к настройкам окружения и путям к файлам. С пониманием этих аспектов, вы сможете правильно интегрировать Windows-программы в вашу среду Linux. Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь делиться — решение, как вы понимаете, часто лежит в мелочах.

Оцените материал
Добавить комментарий

Капча загружается...