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

zor*_*erz 21 icons wine launcher playonlinux

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

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

截屏:

在此处输入图片说明

Glu*_*ate 27

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


笔记

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

指示

.desktop在您最喜欢的文本编辑器中打开您的启动器并将此行附加到文件中:

StartupWMClass=application.exe
Run Code Online (Sandbox Code Playgroud)

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

不要使用完整路径,只使用基本名称。并确保它是 unqoted(您应该遵循桌面文件的一般规则)。

结果

应用程序图标和描述现在应该可以正常呈现:

在此处输入图片说明


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

  • 我应该澄清一下,它应该是 ** 只是可执行文件的名称**,而不是完整路径、没有引用或任何其他类型的内容。 (3认同)
  • 这是我的变体,适用于 14.04:如果可用,请在应用程序的安装程序中选择“创建桌面快捷方式”。然后将此快捷方式移动到 /usr/share/applications,并将 StartupWMClass=XXX.exe 行添加到其中(例如使用 gksudo gedit XXX.desktop) (3认同)

Dee*_*pak 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
    
    Run Code Online (Sandbox Code Playgroud)
  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\
    
    Run Code Online (Sandbox Code Playgroud)
  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)
    
    Run Code Online (Sandbox Code Playgroud)
  4. 你完成了!


fos*_*dom 2

关于这个问题 有几个已记录的错误。

在其中一个错误(第 3 篇文章)中,有人报告了一种可能的解决方法。然而,下面的另外两篇文章指出它并不总是有效。


Alf*_*dez 2

我没有使用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'
Run Code Online (Sandbox Code Playgroud)

例如,为其命名warcraft2并将其移动到/usr/bin(或任何 PATH 变量,您可以通过echo $PATH在终端上键入来了解该变量)

然后在您的.desktop文件中而不是Exec=wine '...'使用Exec=warcraft2. 我认为 Unity 会假设这不是一个 wine 程序,并且会使用你的图标,但这只是猜测。

希望它有效;)

默认情况下,您的 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
Run Code Online (Sandbox Code Playgroud)

提示:如果您将图标放在/home/user/.icons/(即 app-icon.png)上,则只需将Icon=app-icon.