Я часто запускаю Windows-программу с вином. Когда я открываю эту программу, она отображается в панели запуска Unity как вино, а не как фактически открытая программа.
Я сделал лаунчер на рабочем столе с нужной иконкой, но перетаскивая его на лаунчер Unity, вернул иконку обратно к иконке рюмки. При запуске приложения оно обозначается как Wine Windows Program Loader вместо его фактического имени.
Снимок экрана:
Вы действительно можете это сделать просто через графический интерфейс с помощью программы под названием alacratz. Вот довольно простая инструкция. Нижняя глава - это то, что вы ищете http://develop.alpdesigns.ch/pages/linux/add_exe_program_to_linux.html
Здесь вы найдете свои значки или разместите свои собственные значки здесь:
$ 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 \
Microsoft PowerPoint 2010.desktop \
Microsoft Word 2010.desktop \
Отредактируйте файлы .desktop:
$ sudo nano Microsoft \ Word \ 2010.desktop
[Desktop Entry]
Имя = Microsoft Word 2010
.
.
.
Icon = 29F5_WINWORD.0.png (или имя значка, как в папке выше)
Готово!
Примечание
Этот обходной путь требует рабочего пускового устройства для вашего приложения Wine. Вот учебное пособие о том, как создать такую . Обходной путь также применяется к приложениям, установленным с помощью скриптов PlayOnLinux. Более поздние версии PlayOnLinux автоматически добавляют строку StartupWMClass
к своему пусковому устройству.
Instructions
Open your .desktop
launcher in your favorite text editor and append this line to the file:
StartupWMClass=application.exe
where application.exe
is the base name of the executable you want to run in Wine.
Don't use the full path, only the base name. И убедитесь, что оно не заключено в кавычки (общее правило, которому вы должны следовать при работе с файлами рабочего стола).
Результат
Иконки и описания приложений теперь должны быть в порядке:
Используйте Alacarte (старый редактор меню, возможно, вам потребуется его установить), чтобы создать элемент меню в старом стиле со значком и исполняемым файлом, запускающим вашу программу. Затем найдите его с помощью alt + F2 и закрепите на панели запуска.
Я не использую 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
размещены на /дома/пользователя/. 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
.
Я написал скрипт для исправления этой и других проблем с MSO в Unity. https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ У меня это работает, но любые предложения приветствуются. Если кто-то протестирует его и обнаружит какие-либо улучшения, поделитесь со мной. Чтобы запустить сценарий, необходимо скопировать код в текстовый файл (например, с помощью gedit) и сохранить его. Затем вы должны запустить его с помощью «sh». Например, если вы сохраните файл в домашней папке как «fixmso.sh», команда для запуска сценария будет следующей: sh fixmso.sh
Есть несколько зарегистрированных багов по этому вопросу.
В одной из ошибок (пост 3) кто-то сообщил о возможном обходном пути. Однако ещё два сообщения ниже отмечают, что это не всегда срабатывает.
Вы можете легко изменить любую установленную программу в Вашем Ubuntu, используя "Главное меню" (название пакета - "alacarte"). Вы можете скачать его из Центра Программного Обеспечения, набрав "Главное Меню" и затем:
После выполнения вышеописанных действий Вы увидите Вашу новую иконку в программе-пусковой установке и панели Unity.
Приятного времяпрепровождения.
У меня была такая же проблема, и я обнаружил, что это потому, что я поместил файлы ярлыков (которые PlayOnLinux размещает на рабочем столе) в отдельную папку. Я вынул их из папки и положил на Рабочий стол, все работает нормально (отображается значок). Надеюсь, это поможет!