Изменить значок приложения Wine в Unity Launcher

Я часто запускаю программу Windows с вином. Когда я открываю эту программу, она отображается в панели запуска Unity как вино, а не как фактически открытая программа.

Я сделал лаунчер на рабочем столе с нужной иконкой, но перетаскивая его на лаунчер Unity, вернул иконку обратно к иконке рюмки. При запуске приложения оно обозначается как Wine Windows Program Loader вместо его фактического имени.

Скриншот:

введите описание здесь

9 ответов

Обходной путь на Ubuntu 12.04 LTS и выше


Заметка

Этот обходной путь требует рабочего средства запуска для вашего приложения Wine. Вот учебник о том, как его создать. Обходной путь также применяется к приложениям, установленным со скриптами PlayOnLinux. Более свежие версии PlayOnLinux автоматически добавляют StartupWMClass линия к их пусковой установке.

инструкции

Открыть свой .desktop запустите в вашем любимом текстовом редакторе и добавьте эту строку в файл:

StartupWMClass=application.exe

где application.exe это базовое имя исполняемого файла, который вы хотите запустить в Wine.

Не используйте полный путь, только базовое имя. И убедитесь, что он не цитируется (общее правило, которому вы должны следовать с файлами рабочего стола).

Результат

Значки приложений и описания теперь должны отображаться нормально:

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


Источник: https://bugs.launchpad.net/unity-2d/+bug/702452

  1. Здесь вы найдете ваши иконки или разместите ваши собственные иконки здесь:

    $ cd ~/.local/share/icons/hicolor/256x256/apps/
    $ ls
    1DF1_PicasaPhotoViewer.0.png
    .
    .
    .
    29F5_WINWORD.0.png
    850A_EXCEL.0.png
    AA79_POWERPNT.0.png
    
  2. Перейдите в следующий каталог:

    $ cd ~/.local/share/applications/wine/Programs/Microsoft\ Office
    $ ls
    Microsoft Excel 2010.desktop\
    Microsoft Office 2010 Tools\
    Microsoft PowerPoint 2010.desktop\
    Microsoft Word 2010.desktop\
    
  3. Отредактируйте файлы.desktop:

    $ sudo nano Microsoft\ Word\ 2010.desktop
    [Desktop Entry]
    Name=Microsoft Word 2010
    .
    .
    .
    Icon=29F5_WINWORD.0.png (or name of icon as in above folder)
    
  4. Вы сделали!

Я не использую Unity, поэтому я действительно не знаю, сработает ли это.

Ваша проблема может быть из-за запуска программы. Я полагаю, ваш файл .desktop содержит Exec=wine '/home/user/.wine/dosdevices/c:/Program...' и так далее. Попробуйте создать двоичный файл bash, который содержит что-то вроде этого:

#!/bin/bash
cd '/home/aldomann/.wine/dosdevices/c:/Archivos de programa/Warcraft II BNE'
wine 'Warcraft II BNE.exe'

Назовите это например warcraft2 и переместить его в /usr/bin (или любую переменную PATH, которую вы можете узнать, набрав echo $PATH на терминале)

Тогда в вашем файле .desktop вместо Exec=wine '...' использование Exec=warcraft2, Я думаю, что Unity предположит, что это не винная программа, и будет использовать вашу иконку, но это только предположение.

Надеюсь, что это работает;)

По умолчанию ваши Wine приложения .desktops размещены на /home/user/.local/share/applications/wine

Вместо изменения существующего .desktop файл, который вы можете создать новый и поместить его на /home/user/.local/share/applications, Это должно быть что-то вроде этого:

[Desktop Entry]
Name=Application
Comment=Comment
Exec=app-binary
Icon=app-icon
Type=Application
Terminal=false
StartupNotify=true
Categories=GTK;Utility

Совет: если вы разместите свой значок на /home/user/.icons/ (т.е. app-icon.png) вам нужно только поставить Icon=app-icon,

Есть несколько зарегистрированных ошибок по этому вопросу.

В одной из ошибок (пост 3) кто-то сообщил о возможном обходном пути. Тем не менее, еще два поста ниже отмечают, что это не всегда работает.

Я написал скрипт, чтобы исправить эту и другие проблемы с MSO в Unity. https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ Это работает для меня, но любые предложения приветствуются. Если кто-то протестировал его и обнаружил какие-либо улучшения, поделитесь им со мной. Чтобы запустить скрипт, вы должны скопировать код в текстовый файл (например, с помощью gedit) и сохранить его. Затем вы должны запустить его, используя "sh". Например, если вы сохраните файл в своей домашней папке как "fixmso.sh", команда для запуска сценария будет выглядеть так: sh fixmso.sh

Вы можете сделать это действительно просто через графический интерфейс с помощью программы под названием alacratz. Вот довольно простая инструкция. Нижняя глава - это то, что вы ищете http://develop.alpdesigns.ch/pages/linux/add_exe_program_to_linux.html

Вы можете легко изменить любую установленную программу в вашем Ubuntu, используя "Главное меню" (имя пакета "alacarte"). Вы можете скачать его из Центра программного обеспечения, набрав "Главное меню", а затем:

введите описание здесь

  1. Запустите программу "Главное меню".
  2. На правой панели под названием "Меню" найдите вашу программу (в данном случае она находится в узле "Wine") и выберите ее на панели "Элементы".
  3. Нажмите на кнопку свойств.
  4. В появившемся диалоговом окне выберите значок кнопки, который находится вверху слева.
  5. Наконец, найдите местоположение вашего нового значка в вашей файловой системе.

После выполнения описанных выше шагов вы увидите свой новый значок в панели запуска Unity и на панели.

Приятно провести время

У меня была та же проблема, и я узнал, что это потому, что я поместил файлы ярлыков (которые PlayOnLinux размещает на рабочем столе) в отдельную папку. Я вынул их из папки и положил на рабочий стол, и он работает нормально (отображается значок). Надеюсь это поможет!

Используйте Alacarte (старый редактор меню, вам может потребоваться установить его), чтобы создать запись меню в старом стиле со значком и исполняемым файлом, который запускает вашу программу. Затем найдите это с помощью alt + F2 и закрепите его на панели запуска.

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