因為需要讓手上編寫的網頁符合無障礙標準,所以要安裝 Freego,想說在 macOS 上裝來用看看。
結果到 NCC 的無障礙網路空間服務網的下載專區,下載「單機版檢測工具 Freego 2.0」的 Linux 版後,解壓縮之後打開終端機 (terminal) 視窗,切到目錄、執行主程式:
./freego2_linux
會先出現權限不足的錯誤訊息:
-bash: ./freego2_linux: Permission denied
這時要下指令變更執行權限:
chmod +x freego2_linux
變更權限 (chmod) 之後,雖然不會出現權限不足的錯誤訊息,但變成會出現沒有 Java runtime 的錯誤訊息:
No Java runtime present, requesting install.
不過執行失敗、出現沒有 Java runtime 的訊息時,macOS 會跳出一個視窗,提示要安裝 Java SE,按下「更多資訊」就會自動導到 Oracle 官網的下載頁,安裝完 JDK 後,會再次得到新的錯誤訊息:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-4922r32 in java.library.path: /Users/fanny/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
no swt-gtk in java.library.path: /Users/fanny/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
Can't load library: /Users/fanny/.swt/lib/macosx/x86_64/libswt-gtk-4922r32.jnilib
Can't load library: /Users/fanny/.swt/lib/macosx/x86_64/libswt-gtk.jnilib
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:329)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:241)
at org.eclipse.swt.internal.C.<clinit>(C.java:19)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:209)
在 "How to change gtk to cocona, when SWT load native library?" 這篇說是因為他用了 Jzy3d SWT 會擋 gtk SWT,在《Ubuntu 12.04 底下用 apt 安裝 Eclipse》這篇則說要設虛擬路徑連結,按 Ubuntu 的邏輯應該把路徑改成這樣:
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/macosx/x86_64/
不過因為 macOS 安裝 JDK 後並不會有 /usr/lib/jni/libswt-* 這些檔案。
在《SWT窗口可在Linux上運行,但不能在Mac上運行》一文中則提到要設定:
java -XstartOnFirstThread -cp freego2_linux:. [your_class_name]
(這題待解)
根據「臺灣無障礙標章受害者聯盟」社團的討論,有人說如果是在 Linux 出現以下錯誤訊息:
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
在 Linux 可以安裝對應的 library:
apt-get install libwebkitgtk-1.0
留言列表