在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