我有两个不同的 Wine 应用程序,我想将它们放置在 Ubuntu 14.04 启动器中并运行。对于这两个应用程序,我都创建了自己的 .desktop 文件,并将这两个文件都添加到启动器中。图标看起来不错,都可以点击并启动 Wine 应用程序。但是,一旦 Wine 应用程序启动 - 它不会出现在点击的图标下 - 它会创建一个全新的图标,带有 Wine 的标准红色玻璃。
所以我的问题是如何防止 wine 的标准图标随启动过程出现,而是使用点击的图标。
这是 Photoshop 的 .desktop 文件:
[Desktop Entry]
Name=Photoshop CS6
Exec=wine "C:\Program Files\Photoshop\photoshop.exe"
Type=Application
StartupNotify=true
Path=/home/xxx/.wine/dosdevices/c:/Program Files/Photoshop/
Icon=907A_Photoshop.0
StartupWMClass=Photoshop.exe
Terminal=false
这是另一个应用程序的 .desktop 文件:
[Desktop Entry]
Name=SQLyog - 32 bit
Exec=env WINEPREFIX="/home/xxx/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/xxx/.wine/dosdevices/c:/users/Public/Desktop/SQLyog\\ -\\ 32\\ bit.lnk
Type=Application
StartupNotify=true
Path=/home/xxx/.wine/dosdevices/c:/Program Files/SQLyog
Icon=7005_SQLyog.0
StartupWMClass=SQLyog.exe
Terminal=false
更糟糕的是,在 Docky 中,当两个应用程序启动时,它们都出现在 Photoshop 图标下。谢谢
答案1
您似乎已经知道,您需要在 .desktop 文件中指定窗口类,以便正确对程序进行分组。由于无法正确分组,因此这些可能不匹配。要找出正在运行的应用程序的窗口类,请执行以下操作:- 启动应用程序 - 启动终端 - 在终端中运行“xprop” - 单击程序的窗口
现在,您可以在终端中打印窗口的属性。底部附近应该有一行“WM_CLASS”。它包含一个或多个字符串,这些字符串是分配给程序窗口的窗口类。尝试找到一个对您的窗口唯一的字符串(Wine 应用程序似乎将“Wine”作为一个窗口类,这可能会导致您的窗口显示 Wine 图标,因此如果有另一个,请使用另一个)。在 .desktop 文件的 StartupWMClass 属性中使用此字符串(只能使用一个,而不是两个)。
如果您已经这样做了,恐怕我无法帮助您……