Archlinux에서 X 서버를 설정할 때 startx 오류가 발생했습니다.

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에서 검색하고 질문했지만 문제를 해결할 수 없었습니다.

답변1

내가 하는 일은 다음과 같다: 달리기ldd /usr/bin/Xorg

다음과 같은 줄이 표시되어야 합니다.

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

파일 내용을 ldd구문 분석할 수 없다는 메시지가 나타나면 제거 하고 다시 설치하세요 .libz.so.1zlib

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위의 두 명령 시퀀스를 실행하고 모든 것을 복원할 수 있습니다. pacman무슨 일이 일어나고 있는지 이해할 때까지 이 두 명령을 실행하지 않는 것이 좋습니다 . 새로 설치하거나 패키지 zlib가 설치되지 않은 경우를 제외하고는 뭔가 변경되었을 것입니다.

답변2

startx터미널에서 실행한 후에도 동일한 오류 메시지가 나타납니다. pacman -Sy zlibzlib 패키지를 업데이트 하여 문제를 해결했습니다 . 이것은 나를 위해 해결되었습니다. 그러나 저는 Arch를 처음 접했기 때문에 이것이 최선의 해결책이 아닐 수도 있습니다.

답변3

그것이 zlib문제가 아니라면 내 문제입니다 (user14039의 의견을 확장). 또한 보안상의 이유로 루트가 아닌 일반 사용자로 X를 실행하는 것이 좋습니다.

sudo 또는 루트 사용자로 다음 명령을 실행합니다(사용자 이름을 사용자 이름으로 바꿉니다).

usermod -a -G audio,lp,optical,storage,video,wheel,games,power,scanner <username>

이제 루트가 아닌 사용자로:

스켈레톤 .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

관련 정보