在Unity Launcher中更改Wine应用程序的图标


21

我经常用酒运行Windows程序。当我打开此程序时,它在统一启动器中显示为酒,而不是实际打开的程序。

我制作了带有正确图标的桌面启动器,但是将其拖动到统一启动器会将图标还原回酒杯图标。启动应用程序时,它的名称为Wine Windows Program Loader,而不是其实际名称。

屏幕截图:

在此处输入图片说明

Answers:


26

在Ubuntu 12.04 LTS及更高版本上的解决方法


注意

此解决方法需要您的Wine应用程序正常工作的启动器。这是有关如何创建一个的教程。解决方法也适用于使用PlayOnLinux脚本安装的应用程序。较新版本的PlayOnLinux会将其自动添加StartupWMClass到启动器中。

使用说明

.desktop在您喜欢的文本编辑器中打开启动器,并将以下行添加到文件中:

StartupWMClass=application.exe

application.exe您要在Wine中启动的可执行文件的基本名称在哪里。

不要使用完整路径,而只能使用基本名称。并确保未取消引用(对于桌面文件应遵循的一般规则)。

结果

应用程序图标和说明现在应该可以正常显示:

在此处输入图片说明


来源:https : //bugs.launchpad.net/unity-2d/+bug/702452


我可以确认,这也适用于Ubuntu 12.04上的PlayOnLinux应用程序
TIIUNDER 2013年

3
我应该澄清,它应该只是可执行文件的名称,而不是完整路径,无引号或其他任何形式。
约拿(Jonah)2013年

1
我可以确认这可用于Ubuntu 13.10。@Jonah能否请您编辑答案并添加一些小细节,因为它非常重要:)
thelinuxer

1
@thelinuxer很高兴这个答案对您有所帮助。我编辑了约拿指出的部分。
谷氨酰胺

3
这是我的变体,适用于14.04:如果可用,请在应用程序的安装程序中选择“创建桌面快捷方式”。然后将此快捷方式移至/ usr / share / applications,并向其中添加StartupWMClass = XXX.exe行(例如,使用gksudo gedit XXX.desktop)
Dominic Comtois

7
  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. 大功告成!


您是否知道为什么我可以使用Icon文件夹中现有的Word图标,但不能自己使用该文件夹中的东西来在.desktop文件中使用?
海森堡

没关系。似乎图标必须是.png而不是jpg?
海森堡

2

有关此问题,有几个已记录的错误

在其中一个错误(第3条)中,有人报告了一种可能的解决方法。但是,该位置下方的另外两个帖子指出,它并不总是有效。


1

我没有使用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


我不确定如何找到.desktop文件来进行尝试。
zorkerz 2011年

它应该在/home/user/.local/share/applications/wine上
AlfredoHernández,

0

我已经编写了一个脚本来解决这个问题以及Unity中MSO的其他问题。 https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ 它对我有用,但是欢迎任何建议。如果有人对其进行测试并发现任何改进,请与我分享。要运行脚本,您必须将代码复制到文本文件中(例如,使用gedit),然后保存。然后,您必须使用“ sh”运行它。例如,如果将主文件夹中的文件另存为“ fixmso.sh”,则运行脚本的命令为:sh fixmso.sh



-1

使用Alacarte(旧的菜单编辑器,您可能需要安装它)来创建带有图标和启动程序的可执行文件的旧式菜单项。然后通过alt + F2搜索并将其固定到启动器。


-1

您可以使用“主菜单”(软件包名称为“ alacarte”)轻松地在Ubuntu中更改任何已安装的程序。您可以通过输入“主菜单”然后从软件中心下载它:

在此处输入图片说明

  1. 运行“主菜单”程序。
  2. 从名为“菜单”的右面板中找到您的程序(在本例中为“葡萄酒”节点中),然后在“项目”面板中将其选中。
  3. 单击属性按钮。
  4. 从显示的对话框中选择位于左上方的图标按钮。
  5. 最后,浏览新图标在文件系统中的位置。

完成上述步骤后,您将在Unity启动器和面板中看到新图标。

祝你玩得愉快。


说,我不认为您真的了解这个问题。当然可以按照您的描述更改任何程序的图标,但是重点是Wine是许多不同程序的包装-因此,必须根据正在运行的实际程序来更改图标。您描述了一种更改Wine图标的方法-而不是基础程序。

但是,Alacarte可以仅用于此目的(您只需将wine your_program放入可执行字段中)。
sup 2013年

-1

我遇到了同样的问题,我发现这是因为我将快捷方式文件(PlayOnLinux放在桌面上)放在了单独的文件夹中。我将它们从文件夹中取出并放在桌面上,它可以正常工作(显示图标)。希望这可以帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.