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.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
が存在しない場合は、上記の2つのpacman
コマンドシーケンスを実行して、すべてを元に戻すことができます。何が起こっているのかを理解するまで、2つのpacman
コマンドを実行しないことをお勧めします。これが新規インストールでない限り、何らかの変更があったに違いありませんが、zlib
パッケージがインストールされませんでした。
ターミナルでstartx
を実行すると、同じエラーメッセージが表示されました。私はそれを修正しましたpacman -Sy zlib
、zlibパッケージを更新しました。それで解決しました。しかしながら、私はArchに非常に慣れていないので、これは最善の解決策ではないかもしれません。
これを試して
yum -y groups install "KDE Plasma Workspaces"
そして
echo "exec startkde" >> ~/.xinitrc
最後に
startx
zlib
が問題ではない場合、これは私の問題でした(user14039のコメントに基づいて展開されています)。また、セキュリティ上の理由から、Xをrootではなく通常のユーザーとして実行する方がはるかに適切です。
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