Изменить значок приложения 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.
Не используйте полный путь, только базовое имя. И убедитесь, что он не цитируется (общее правило, которому вы должны следовать с файлами рабочего стола).
Результат
Значки приложений и описания теперь должны отображаться нормально:

Здесь вы найдете ваши иконки или разместите ваши собственные иконки здесь:
$ cd ~/.local/share/icons/hicolor/256x256/apps/ $ ls 1DF1_PicasaPhotoViewer.0.png . . . 29F5_WINWORD.0.png 850A_EXCEL.0.png AA79_POWERPNT.0.pngПерейдите в следующий каталог:
$ 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\Отредактируйте файлы.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)Вы сделали!
Я не использую 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"). Вы можете скачать его из Центра программного обеспечения, набрав "Главное меню", а затем:

- Запустите программу "Главное меню".
- На правой панели под названием "Меню" найдите вашу программу (в данном случае она находится в узле "Wine") и выберите ее на панели "Элементы".
- Нажмите на кнопку свойств.
- В появившемся диалоговом окне выберите значок кнопки, который находится вверху слева.
- Наконец, найдите местоположение вашего нового значка в вашей файловой системе.
После выполнения описанных выше шагов вы увидите свой новый значок в панели запуска Unity и на панели.
Приятно провести время
У меня была та же проблема, и я узнал, что это потому, что я поместил файлы ярлыков (которые PlayOnLinux размещает на рабочем столе) в отдельную папку. Я вынул их из папки и положил на рабочий стол, и он работает нормально (отображается значок). Надеюсь это поможет!
Используйте Alacarte (старый редактор меню, вам может потребоваться установить его), чтобы создать запись меню в старом стиле со значком и исполняемым файлом, который запускает вашу программу. Затем найдите это с помощью alt + F2 и закрепите его на панели запуска.