私は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で検索して質問しましたが、問題を解決できませんでした。
答え1
私がすることは次のとおりです。ランニング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.1
シンボリックリンクがありますlibz.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
上記の2つのコマンドシーケンスを実行してすべてを復元できます。pacman
何が起こっているのか理解するまで、これら2つのコマンドを実行しないことをお勧めします。新しくインストールしたり、パッケージzlib
がインストールされていない場合を除いて、何かが変更された可能性があります。
答え2
startx
端末で実行した後も同じエラーメッセージが表示されます。pacman -Sy zlib
zlibパッケージを更新して問題を解決しました。これは私のために解決されました。しかし、私はArchに初めて触れたので、これが最善の解決策ではないかもしれません。
答え3
それがzlib
問題でなければ私の問題です(user14039のコメントを拡張)。また、セキュリティ上の理由から、rootではなく通常のユーザーとしてXを実行することをお勧めします。
sudoまたはrootユーザーとして次のコマンドを実行します(ユーザー名をユーザー名に置き換えます)。
usermod -a -G audio,lp,optical,storage,video,wheel,games,power,scanner <username>
これで、root以外のユーザーとして:
スケルトン.xinitrc
ファイルをホームディレクトリにコピーします。
cp /etc/skel/.xinitrc ~/.xinitrc
使用したいウィンドウマネージャの起動をコメント解除または追加します(私はGnomeを使用します)。
echo "exec gnome-session" >> ~/.xinitrc
答え4
この試み
yum -y groups install "KDE Plasma Workspaces"
そして
echo "exec startkde" >> ~/.xinitrc
ついに
startx