내 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
위의 두 명령 시퀀스를 실행하고 모든 것을 복원할 수 있습니다. pacman
무슨 일이 일어나고 있는지 이해할 때까지 이 두 명령을 실행하지 않는 것이 좋습니다 . 새로 설치하거나 패키지 zlib
가 설치되지 않은 경우를 제외하고는 뭔가 변경되었을 것입니다.
답변2
startx
터미널에서 실행한 후에도 동일한 오류 메시지가 나타납니다. pacman -Sy zlib
zlib 패키지를 업데이트 하여 문제를 해결했습니다 . 이것은 나를 위해 해결되었습니다. 그러나 저는 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