2017年4月30日 星期日

執行備份的 wine 應用程式

安裝完 wine 的應用程式後,預設全都會放在 ~/.wine 底下, 可以先切換到家目錄(~)再將 .wine 目錄打包備份,之後把 wine.tgz 移至別處加以收藏,在終端機輸入以下命令將 .wine 打包:
       cd  ~
       tar  -zcvf  wine.tgz  .wine

如果有任何意外破壞了 .wine 的目錄結構,可以先刪掉該目錄(rm -rf .wine)再藉由回存指令(tar  -zxvf wine.tgz), 就可以恢復該目錄所有檔案,並不需要將應用程式重頭安裝.至於剛安裝完 wine 執行 winecfg 時,一開始會要求從網路下載穩定版本的 gecko 及 mono, 但使用備份檔的好處是因為先前已安裝過並備份到 wine.tgz 裡面了, 因此不用再從網路下載資源浪費時間.假設 /path_to 是 wine.tgz 想要解壓縮之位置,而 /path_from 是備份檔案 wine.tgz 所收藏之地方,在終端機輸入以下命令,用打包的檔案還原檔案:
        sudo  mkdir   /path_to
        sudo  chown  mint   /path_to
        cd   /path_to
        tar  -zxvf   /path_from/wine.tgz

如果 .wine 的目錄不是放在家目錄(~/.wine)底下,可以透過 linux 的 env 命令(設定環境變數並執行後續命令,相關用法使用 man env 就可以瞭解),先將環境變數 WINEPREFIX 指向 .wine 所在的位置,接著用 wine去 載入應用程式來執行.想要執行 windows 內建的 notepad.exe,在終端機輸入:
        env  WINEPREFIX="/path_to/.wine"   wine    "c:\\windows\\notepad.exe"

如果覺得用 env 執行命令很繁瑣,也可以先切換到家目錄(~), 再用符號連結(symbolic link)的方式去建立連結,在終端機輸入命令:
        cd  ~
        ln   -sf   /path_to/.wine    .wine

之後在終端機用 wine 就可以載入應用程式並執行:
      wine    "c:\\windows\\notepad.exe"

另外用 wine regedit 去手動設定 windows 的內建環境變數, 可以在裡面添加 path:
       REGEDIT4

       [HKEY_CURRENT_USER\Environment]
       "path"="%path%;c:\windows"

或將上述內容存成 winenv.reg 檔案, 在終端機輸入 wine regedit 檔名,把要註冊的內容放進 windows 環境變數內:
       wine regedit  winenv.reg

往後就不用再打一長串的路徑,直接在終端機用 wine 載入應用程式,windows 會自動用 path 所指定的目錄去找尋執行檔來執行,因此要執行內建的 notepad.exe 只要在終端機輸入 :
      wine notepad

在 linux mint上有更直接的用法,去編輯一個檔案,將副檔名以 .desktop 命名,在桌面進入點的段落 [Desktop Entry] 敘述中包含 Exec 及 Type 這兩個關鍵字,其中 Exec 讓它等於上述 linux 的 env 命令,將需要執行 wine 程式的相關參數隨後填入,而 Type 則直接等於 Application 這個字, 類似像這樣:
     [Desktop Entry]
     Exec=env  WINEPREFIX="/home/mint/.wine"  wine  "c:\\windows\\notepad.exe"
     Type=Application

將它存檔,先隨便取個名字(例如 notepad.desktop), 之後用滑鼠右鍵將它改成中文名,要執行時只要用滑鼠左鍵雙擊該檔案就能直接執行,相當方便.

沒有留言: