Ubuntu 24.04 Snap 啟動失敗:libX11.so.6 錯誤排除指南

Ubuntu 24.04 Snap 啟動失敗:libX11.so.6 錯誤排除指南

問題描述

開機後發現 Firefox 無法啟動,嘗試重新安裝卻發現 應用程式中心 (Snap Store) 也無法開啟。進一步確認後,發現所有 Snap 應用程式都無法運行,並出現以下錯誤:

snap: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

這表明 Snap 無法載入 libX11.so.6,共享函式庫可能丟失或無法被系統找到

 

問題排查與解決過程

步驟 1:嘗試更新系統

首先,確保系統與已安裝的套件都是最新版本。

sudo apt update && sudo apt upgrade -y

更新後再次嘗試啟動 Firefox,問題依舊存在。

步驟 2:重新安裝 Snap

懷疑 Snap 本身可能損壞,嘗試重新安裝:

sudo apt install --reinstall snapd

出現以下錯誤:

nap: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148.
snapd.failure.service is a disabled or a static unit not running, not starting it.
snapd.snap-repair.service is a disabled or a static unit not running, not starting it.
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148.

於是嘗試移除後,在從新安裝

sudo apt remove snapd 

sudo apt install snapd

但仍然出現相同的錯誤,表示 libX11.so.6 缺失

確認 snapd 有正確安裝,而且系統能找到路徑

which /usr/lib/snapd/snapd

which snap

步驟 3:確認 libX11.so.6 是否安裝

一直都是無法找到 libX11.so.6 的錯誤,所以想說從新安裝 libX11.so.6 就能解決,

使用以下指令檢查系統是否安裝了 libX11.so.6

dpkg -l | grep libx11-6
find /usr -name libX11.so.6

如發現 libX11.so.6 並未安裝或可能損壞,因此嘗試重新安裝該函式庫:

sudo apt install --reinstall libx11-6

安裝完成後,再次確認 libX11.so.6 存在於正確的系統目錄

dpkg -l libx11-6


find /usr -name libX11.so.6

接著從新安裝 snap,還是得到一樣的錯誤訊息。

步驟 4:嘗試重啟 Snap 服務

sudo systemctl restart snapd 
or
sudo systemctl start snapd.service

嘗試開啟 socket

sudo systemctl enable --now snapd.socket

再啟動服務,還是出現錯誤。

如果服務無法啟動,可嘗試檢查 Snap 服務狀態:

sudo systemctl status snapd.service

仍然發生錯誤,顯示 Snap 無法啟動。

檢查系統日誌

檢查系統日誌是否有與 snapd 相關的任何其他錯誤:

journalctl --no-pager -u snapd

還是一堆錯誤。

通常執行完步驟1-4,問題基本已經解決了。

步驟 五:完整重新安裝 Snap

感覺像是系統連結錯誤,所以才找不到 libX11.so.6 。最後逼不得已,只能完整移除 snap,在從新安裝,這樣所有之前用 snap 安裝的程式,之後都要從新安裝。

remove VS –purge 的差別,看這篇 Ubuntu 安裝&移除套件或程式

sudo apt remove --purge snapd

從新安裝 snapd

sudo apt install snapd

仔細看安裝過程並沒有建立跟 libX11.so.6 有關的系統連結,可能是包含在其中的某個系統連結裡,但至少系統連結是從新建立了。

於是馬上嘗試了一下安裝 darktable

snap install darktable

還是一樣的錯誤:snap: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

所有網路找的到的方法都用上,正要放棄直接從新安裝 ubuntu 。

步驟 5:檢查是否有軟體衝突

在進一步搜尋後,發現許多用戶回報 Citrix (icaclient) 可能與 Snap 發生衝突。回想起曾經因工作需要安裝過 Citrix,因此嘗試移除:

https://www.computerbase.de/forum/threads/snap-error-while-loading-shared-libraries-libx11-so-6.2230918/

sudo apt remove --purge icaclient

移除後,嘗試安裝新的 Snap 應用程式來驗證:

snap install darktable

終於出現不一樣的錯誤訊息

error: cannot communicate with server: Post "http://localhost/v2/snaps/darktable": dial unix /run/snapd.socket: connect: connection refused

隨後,重新啟動 Snap 服務:

sudo systemctl start snapd.service

在從新安裝 darktable ,這次終於成功安裝!之後在安裝應用中心 snap store,有使用者界面還是比較方便

snap install snap-store

最終解決方案總結

根本問題

  • Citrix (icaclient) 影響了 libX11.so.6 的系統連結,導致 Snap 無法載入該函式庫。

完整解決步驟

    1. 更新系統
      sudo apt update && sudo apt upgrade -y
    2. 重新安裝 Snap
      sudo apt install --reinstall snapd
    3. 確認並重新安裝 libX11.so.6
      sudo apt install --reinstall libx11-6
    4. 檢查並移除可能造成衝突的軟體(如 Citrix)
      sudo apt remove --purge icaclient
    5. 重啟 Snap 服務
      sudo systemctl restart snapd

其他有找到,沒用到的指令

Unmask the snapd.service:

sudo systemctl unmask snapd.service

Enable snapd.service:

sudo systemctl enable snapd.service

Remove Configuration Files:

If the issue persists, check for any configuration files that might be blocking Snap installations. Specifically, look for a file named nosnap.pref in /etc/apt/preferences.d/ and remove or comment it out:

sudo rm /etc/apt/preferences.d/nosnap.pref

結語

這次的問題雖然花了幾個小時排查,但最終發現問題根源是 Citrix 干擾了 libX11.so.6。如果你的 Snap 也出現類似錯誤,不妨試試這些方法,希望能幫助你快速解決問題!

發佈留言

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

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

返回頂端