web-dev-qa-db-ja.com

archlinuxでXサーバーを設定するときのstartxエラー

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に尋ねましたが、問題を解決できませんでした。

6
Aby James

これが私がすることです:実行ldd /usr/bin/Xorg

次のような行が表示されます。

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

lddlibz.so.1のファイルを解決できないと主張する場合は、zlibをアンインストールして再インストールします。

pacman -R -f zlib 
pacman -S zlib

lddが特定のlibz.so.1を見つけることができる場合は、そのファイルが壊れたシンボリックリンクを構成しているかどうかを確認します。

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

(またはlddlibz.so.1が解決すると言ったもの)。

私のArchボックスでは、/usr/lib/libz.so.1libz.so.1.2.6のシンボリックリンクです。 /usr/lib/libz.so.1がホームディレクトリなどの奇妙な場所にリンクしている場合は、その原因を突き止めてください。

lddlibz.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パッケージがインストールされませんでした。

6
Bruce Ediger

ターミナルでstartxを実行すると、同じエラーメッセージが表示されました。私はそれを修正しましたpacman -Sy zlib、zlibパッケージを更新しました。それで解決しました。しかしながら、私はArchに非常に慣れていないので、これは最善の解決策ではないかもしれません。

2
benny

これを試して

yum -y groups install "KDE Plasma Workspaces"

そして

echo "exec startkde" >> ~/.xinitrc

最後に

startx
0
King Linux

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
0
Freedom_Ben