[Mac] 使用 Wine 安裝 WinRAR 來開啟壓縮檔

[Mac] 使用 Wine 安裝 WinRAR 來開啟壓縮檔

最近在 Mac 上裝了 Wine 之後,發現確實有好用之處,

可以直接玩 Windows 上的小遊戲執行簡單的 VBScript

今天又發現另一個用途:執行 WinRAR 之類需要安裝的程式~

 

當然網路上也有人製作 WinRAR 的免安裝版本,

不過總是有機會用 Wine 執行需要安裝的程式,因此就拿 WinRAR 來舉例吧~

 

參考資料:

 

HowTo: Easily Launch Programs Installed In Wine

Uninstall a program installed with Wine

Wine FAQ

Advanced Bash-Scripting Guide: Parameter Substitution

 

1. 下載 WinRAR 安裝檔

到 WinRAR 的官網下載安裝檔,記得要選擇 32-bit 的版本,

因為 Wine 要直接跑 64-bit 的程式會失敗 (應該有解法,但我懶得試了)~

像我抓下來的是 wrar53b6.exe

 

2. 使用 Wine 安裝 WinRAR

執行下列的指令,開始安裝 WinRAR:

wine wrar53b6.exe

 

接著就會看到在 Windows 上熟悉的 WinRAR 安裝畫面~把它安裝完成吧:

scr1   

 

3. 執行/移除安裝好的 WinRAR

安裝程式結束後,自動跳出了一個 Wine Explorer,

有點像是用 Windows 的檔案總管開啟了 WinRAR 在 Start Menu 裡的目錄:

Screen Shot 2015-10-27 at 10.56.32 PM  

 

直接雙擊 WinRAR 那個檔案,就能執行 WinRAR 囉:

Screen Shot 2015-10-27 at 10.59.23 PM  

 

要移除安裝好的 WinRAR 也很簡單,執行下列的指令:

wine uninstaller

 

就會跳出一個 Add/Remove Programs 的程式,這邊就能移除掉安裝的程式了: 

Screen Shot 2015-10-27 at 11.35.52 PM  

 

以上是用 Wine 安裝/移除程式的簡單說明~

回到我自己遇到的一個問題:我想在 Mac 上,用 WinRAR 打開一個指定的壓縮檔,怎麼做呢?

假設壓縮檔是在 ~/test.zip 好了,我一開始是這麼執行:

wine "C:\\Program Files\\WinRAR\\WinRAR.exe" ~/test.zip

 

這時就跳出了一個錯誤視窗,看起來是找不到我指定的 ~/test.zip:

Screen Shot 2015-10-27 at 11.40.07 PM  

 

如果指定的是當前目錄下的 test.zip、或是 xxx/test.zip 都可以成功,也就是說相對路徑是 OK 的,

但如果給的是像 /Users/testuser/test.zip 這種絕對路徑 (~/test.zip 也是轉化成這種路徑),

Wine 執行的 WinRAR 就會跳出錯誤訊息…

 

觀察了一下,我的 Mac 上的 Wine 似乎是將 Mac 的 / 對應到 Wine 裡面的 Z:\,

所以如果想讀 Mac 上的 /Users/testuser/test.zip,

在 Wine 裡面應該要讀 Z:\Users\testuser\test.zip…

不過其實不用辛苦地自己轉換,Wine 就自己帶了一個 winepath 作同樣的事情,

像是執行 winepath -w <unix path> 就能將 Mac/Unix 上的路徑轉成 Wine 裡的 Windows 路徑~

 

因此我在我的 ~/.bash_profile 裡面,寫了一個 winrar() 的函式,

函式如下,只要執行 winrar ~/test.zip,就會自動用 winepath 轉出正確的 Windows 路徑,

再用 Wine 把 WinRAR 叫起來去開那個 Windows 路徑:

winrar()
{
wine "C:\\Program Files\\WinRAR\\WinRAR.exe" "$(winepath -w "$1")"
}

 

後記:最近發現 Wine 在跑某些 Windows 程式相當好用,

就不用每次非得去開 Windows 虛擬機器了~

因此 Wine FAQ 雖然非常的落落長,不過還是蠻值得看一下的~

之後再多用 Wine 看看~^^

 

 

(本頁面已被瀏覽過 838 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料