在Deepin Linux下,默认地,使用apt
安装的Wine并没有创建文件关联,这使得在文件管理器中双击exe
等Windows可执行文件时,不能直接运行。为此,必须手动在桌面环境中创建文件关联。
文件关联的位置
DDE(Deepin Desktop Environment,深度桌面环境)、Gnome等桌面环境通过桌面配置文件*.desktop
,来定义在桌面环境下运行应用程序的入口,这些配置文件放置在/usr/share/applications
目录下。文件关联——打开文件的方式,正是运行应用程序入口的一种用法。文件管理器通过读取该目录下定义的配置文件,来获取某种特定类型文件的打开方式。
因此,我们只需要编写合适的配置文件,放入其中,然后设置exe
等文件的打开方式,就可以通过双击直接运行Windows程序了。
Desktop配置文件内容与解析
笔者编写的配置文件如下所示。将下述配置文件保存为/usr/share/applications/Wine.desktop
。添加完成之后,就可以在exe
文件的打开方式中看到Wine了。
[Desktop Entry]
Name=Wine
Name[zh_CN]=Wine
GenericName=Launch by Wine
GenericName[zh_CN]=使用Wine运行
Comment=Launch by Wine
Comment[zh_CN]=使用Wine运行
MimeType=application/octet-stream
Keywords=exe;scr;
Exec=wine-stable %f
Icon=wine
Terminal=false
Type=Application
NoDisplay=false
Categories=System;Utility;
StartupNotify=false
各个参数的意义如下:
参数名 | 定义 |
---|---|
Name | 桌面项目的名称 带 [zh_CN] 的为中文环境下的名称 |
GenericName | 桌面项目的标准名称 带 [zh_CN] 的为中文环境下的名称 |
Comment | 桌面项目的注释,用以填写说明信息 带 [zh_CN] 的为中文环境下的注释 |
MimeType | 桌面项目所对应的MIME,使用分号分隔application/octet-stream 为exe 可执行文件对应的MIME |
Keywords | 关键字,通常指定桌面项目的扩展名。Linux下使用的Windows可执行文件主要是exe 和scr 。 |
Exec | 桌面项目运行的命令。在这里启动Wine,用Wine运行我们的目标程序。 宏 %f 为用该桌面项目打开的文件路径,%u 为URI。我们使用%f ,使用%u 会导致Wine找不到文件。 |
Icon | 桌面项目使用的图标。由DDE管理,设置为Wine 以使用Deepin为Wine项目设计的图标 |
Terminal | 设定是否使用终端模式运行。设置为false ,运行命令时不会显示终端;设置为true 则会在终端中执行,主要用于调试。 |
Type | 桌面项目的类型。典型的值有Application (应用程序)。 |
NoDisplay | 具体作用未知,需要查查Gnome桌面环境的文档。 |
Categories | 指定桌面项目的类别。 |
StartupNotify | 具体作用未知,需要查查Gnome桌面环境的文档。 |
另一种写法
Wine官方提供的桌面配置文件wineloader.desktop
如下所示,似乎相较于笔者探究的版本,还支持显示Windows应用程序的图标。不过该方案只适用于Ubuntu,在Deepin上未测试成功。
[Desktop Entry]
Encoding=UTF-8
Name=Wine
Comment=Wine Windows Program Loader
Exec=wine %U
Terminal=false
Type=Application
Icon=wine
Categories=Application;Utility;
MimeType=application/x-ms-dos-executable;
StartupNotify=true
NoDisplay=false