2015年1月15日 星期四

解決 Dia for Mac OS X 在 Yosemite 無法開啟的問題

為了工作需求,臨時要畫流程圖才發現 Mac 作業系統內建的軟體那麼多,卻好像沒有畫流程圖專用的軟體,想起了以前使用 Windows 時使用過一個免費軟體 Dia 來畫 UML 圖,似乎也很適合畫流程圖,上網查了一下,果然是跨平台的 Open Source 軟體,但安裝過程遇到一些狀況,最後竟無法開啟,上網查找了一些資料,最後終於解決了,所以特別在此記錄下來。


Open Source 軟體迷人的地方,除了免費之外,通常還是跨平台的,Dia 可以在 http://dia-installer.de 下載,有 Windows、Mac OS X、Linux 三種平台的版本,在網站上就會寫明安裝需求,所以在 Mac 上安裝則需要 X11,目前最新版的 Mac OS X 10.10.1,從「應用程式/工具程式」資料夾下雖然可以找到 X11.app,但如果直接執行它,我們可以看到一個對話框告訴我們 OS X 已不包含 X11,點擊「繼續」按鈕會前往 Apple 的網頁告知我們要到哪裡下載 X11 回來安裝,其實這部份在下載 Dia 時,該網頁上已經有告知需要前往 http://xquartz.macosforge.org 下載安裝 XQuartz。
OS X 已不包含 X11
當我們安裝好 Dia 後,如果未安裝 X11 就開啟 Dia 的話,會出現一個對話框告知需要安裝 XQuartz,此時點擊「好」按鈕也是會開啟 http://xquartz.macosforge.org 網頁。好吧!只好乖乖地下載最新版的 XQuartz (2.7.7) 回來安裝。
沒安裝 X11 不能執行 Dia
到網站下載 XQuartz
安裝完 X11 之後,會馬上彈出一個對話框告知需要登出再回來,此時,如果不會理它馬上開啟 Dia,會發現 Dia 很快地就正常開啟了,只是在 Dock 會看到與 X11 圖示一起出現 Dia 圖示會一直彈跳,不曉得是什麼原因,不過等久一點的時間,就一切正常了。
好像需要先登出使用者
Dock 同時出現 X11 及 Dia 圖示,Dia 彈跳很久
好了,接下來我想乖乖聽話,登出使用者再回來開啟 Dia,此時發現 Dock 不再出現 X11 圖示了,只有 Dia 圖示不停的跳動,但是 Dia 卻始終沒有正常開啟。等了許久發現該應用程式已沒有回應,即時強制關閉也無法將它關閉重開,此時雖然想讓電腦重新開機,但似乎被某種東西卡住,關不了機,只好忍痛直接關閉電源再重新開機。
X11 似乎沒有開啟,Dia 也卡住了
應用程式沒有回應
重新開機之後,再次開啟 Dia 會發現 Dock 不會有 Dia 圖示,而是只有 X11 的圖示,這次不但是 Dia 沒有開啟,X11 也只出現一個類似終端機的命令視窗。
只剩下 X11 的命令視窗
到這裡,注定 Dia 是不能使用了,但為了支持開源軟體,還是要找出解決辦法,經過上網搜尋一陣的結果,終於找到了這個 blog 的文章 http://navkirats.blogspot.tw/2014/10/dia-diagram-mac-osx-yosemite-fix-i-use.html,依照他所指示的步驟,終於可以正常使用 Dia 了,只是同時還會開啟 X11 的命令視窗,有點美中不足。



該文章內所說的解決辦法,步驟大致如下:
  1. 在「應用程式」資料夾內對 Dia.app 點擊滑鼠右鍵。
  2. 在彈出的選單中選擇「顯示套件內容」。
  3. 在套件內容中找出「Contents/Resources/bin/dia」這個檔案。
  4. 使用任意的文字編輯軟體開啟該檔案(如 Sublime Text)。
  5. 在第 39 行下面,即「osascript -e 'tell app "XQuartz" to launch’」這一行的上面,插入一行文字「export DISPLAY=:0」。
  6. 存擋之後重新開啟 Dia。

選擇顯示套件內容
在第 39 行下面插入 export DISPLAY=:0
如果原本 X11 是開啟的,則需要先將他們都關閉,再重新開啟 Dia。如此,就可以將此問題解決,正常使用 Dia 了。
雖然多了 X11 命令視窗,但已可正常使用
本文標題雖然指名是 Dia 在 Yosemite 遇到的問題,但事實上,無法確認其他 Mac OS X 版本是否也會有這種問題,是否適用,就留待有遇到類似問題的朋友試試看囉!