Linux

在 archlinux 上設置 X 伺服器時出現 startx 錯誤

  • July 10, 2016

我正在嘗試在我的 archlinux 家庭桌面上安裝 X。嘗試啟動它時出現此錯誤(startx/xinit):

[root@computer ~]# startx
xauth: file /root/.Xauthority does not exist
xauth: file /root/.Xauthority does not exist

/usr/bin/X: /usr/lib/libz.so.1: version 'ZLIB_1.2.5.2' not found (required by /usr/lib/libfontenc.so.1)
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

我四處搜尋並在#archlinux irc 中詢問,但無法解決問題。

這就是我要做的:執行ldd /usr/bin/Xorg

你應該得到如下所示的一行:

libz.so.1 => /usr/lib/libz.so.1 (0xb7357000)

如果ldd聲稱無法解析其中的文件libz.so.1,請解除安裝並重新安裝zlib

pacman -R -f zlib 
pacman -S zlib

如果ldd可以找到特定的libz.so.1,則檢查該文件是否構成損壞的符號連結:

ls -l /usr/lib/libz.so.1

(或者任何ldd告訴你的libz.so.1解決方法)。

在我的 Arch 盒子上,/usr/lib/libz.so.1libz.so.1.2.6. 如果/usr/lib/libz.so.1連結到某個奇怪的地方,例如主目錄,請找出原因——這不應該發生。

確保ldd解析libz.so.1為實際存在的任何文件,並且具有內容。我明白了:

% file libz.so.1.2.6
libz.so.1.2.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xb32fb568a025a99ed67220243b487b93ae8ef948, stripped

如果連結存在,但連結到的對libz.so.1.2.6像不存在,也許您可以執行pacman上面的兩個命令序列並取回所有內容。我想我建議不要只執行這兩個pacman命令,直到您了解發生了什麼。一定有什麼改變了,除非這是一個新的安裝,並且zlib包沒有被安裝。

引用自:https://unix.stackexchange.com/questions/33825