2017年1月1日 星期日

解決「『FileZilla』,無法開啟或不顯示視窗」問題

最近幾版 Fedora 開啟 FileZilla 後,都會延遲很久才顯示視窗,非常不方便。查了網路好久,都說是『等待更新』。從 Fedora 22 等到 25 一直都是這樣,最近甚至都不會開啟視窗了。
  迫於無奈,只好用 SFTP 或 SCP 在「終端機」操作,有些中文目錄名、檔名要輸入,很不方便。最近有空,索性自己找問題,以下就把找到的問題及解決方法整理如下。

:此為筆者電腦上的問題及解決辦法,僅供讀者參考,希望對有相同問題的讀者有幫助。
  在筆者電腦上找到的問題點為:
  • 因使用 AutoFS 以連結非長時開啟的「遠端電腦」檔案系統,當有『連結』在 FileZilla 「本地電腦」預設的「工作目錄」。造成『無法讀取目錄』而長時間等待。
  • FileZilla 開啟後,會在 ~/.config/filezilla/ 目錄下建立一個名為 lockfile 的檔案,防止再開啟『第二個』 FileZilla,此為 Linux 系統常用的方法。
      一般而言,這個 lockfile 檔案,將『所有」FileZilla 連線都斷線,且 FileZilla 關閉前,先將這個檔案刪除。但是,在這幾版的 Fedora 中,卻是不會自動刪除 lockfile 檔。
知道問題,解決辦法就有了,以下是整理出的三個方法。
  • 在 FileZilla「本地電腦」的預設『工作目錄」中,確保所有 NFS 連結都正常連線。萬一有使用 AutoFS,也不要建立在「本地電腦」的預設『工作目錄」中。
  • 刪除在 ~/.config/filezilla/ 目錄下的 lockfile 檔案,再開啟 FileZilla。
  • 修改 FileZilla 的『開啟設定檔』filezilla.desktop ,在「MATE 桌面」是位於 /usr/share/applications/ 目錄下,在「終端機」中用 root 權限開啟「文字編輯器」,
    [root@Celeron-D ~]# plume /usr/share/applications/filezilla.desktop
    將 Exec=filezilla 改為 Exec=sh -c "rm -f .config/filezilla/lockfile ; filezilla",其它不變。結果將如下所示
    [Desktop Entry]
    Name=FileZilla
    GenericName=FTP client
    Comment=Download and upload files via FTP, FTPS and SFTP
    Exec=sh -c "rm -f .config/filezilla/lockfile ; filezilla"
    Terminal=false
    Icon=filezilla
    Type=Application
    Categories=Network;FileTransfer;
    Version=1.0
    X-Desktop-File-Install-Version=0.22
上述的解決辦法中,
  • 第一個,是使用 AutoFS 且有連結在「工作目錄」才會需要採用。
  • 第二個,是手動刪除,每次都開啟 FileZilla 前都要做一次,偶而做一次無所謂。
  • 第三個,這方法是修改『整個系統』,所有使用者都一併受益。若讀者沒有 root 權限,就將 FileZilla 的『開啟設定檔』複製到自己的桌面再修改。

後記:

  • 2017-1-7:在 Fedora 24 測試,仍有『延遲顯示視窗』的情形,將解決方法寫在另一篇發文。本文略做修改,只說明解決『AutoFS』『lockfile』問題的方法。

已測試版本:

  • Fedora: 25
  • Fedora: 24, 23 (只解決 lockfile 的因素,延遲問題尚未解決)

參考資料:

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)