Chrom{ium|e}는 더 이상 일반 사용자로 시작할 수 없습니다.

Chrom{ium|e}는 더 이상 일반 사용자로 시작할 수 없습니다.

더 이상 일반 사용자로 Chromium이나 Chrome을 실행할 수 없습니다(루트로 실행할 수는 있지만). 재부팅하고, 두 응용 프로그램을 다시 설치하고, .config 파일을 이동하고, gtk 테마를 변경하고, 다른(=신규) 사용자로 실행해 보았습니다. 이들 중 어느 것도 아무런 차이가 없습니다(즉, 둘 다 여전히 실행을 거부합니다). 실행을 거부할 뿐만 아니라 오류 메시지도 생성하지 않으며 시간 초과도 발생하지 않습니다(명령줄에서 실행하는 경우에도).

여기strace로 실행한 결과입니다 Chromium.

다음과 같은 "파일/디렉터리 누락" 메시지가 있지만 명확하게 오류로 표시된 항목을 찾을 수 없습니다.

  open("tls/x86_64/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory

지금은 정말 혼란스럽고 무엇을 더 시도해야 할지 모르겠습니다.

[저는 중요한 경우를 대비해 Arch Linux를 사용하고 있습니다. ]

편집하다:여기비교 결과입니다 nohup sudo strace sudo chromium -user-data-dir=/tmp (실제로 실행하면 Chromium이 열리고 정상적으로 실행됩니다.)

답변1

설명하다

이 문제는 Chromium에만 영향을 미치는 것이 아니므로 귀하의 문제는 Chromium과 관련이 없습니다. 시스템에 설치된 일부 동적 라이브러리의 위치가 없거나 해당 라이브러리를 설치/업데이트했지만 업데이트가 올바르게 완료되지 않았습니다. root이는 애플리케이션이 계속 실행될 수 있다는 사실로 확인됩니다.

누락된 라이브러리 확인 또는 재설치

다음 단계에 따라 잊어버린 라이브러리가 다시 설치되었거나 설치되었는지 확인합니다. 어떤 경우에는 pacman아래 4단계가 실행될 수 있는데, 이것이 바로 우리가 원하는 것입니다.

  1. 다음 명령을 사용하여 pkgfile을 설치하십시오.
    pacman -S pkgfile
  2. 다음 명령을 실행하십시오.
    pkgfile filename여기서 filename은 누락된 파일의 이름입니다.:
    pkgfile libdbus-1.so.3반환해야합니다libdbus또는tls

이는 AUR 패키지이지만 바이너리가 이미 존재할 수 있습니다.

  1. 이제 하나를 발행하십시오:
    pacman -S libdbus tls

시험

이제 터미널에서 Chrome/Chromium을 다시 시작해 보세요. 누락된 파일에 대한 오류를 덤프하는 경우 확인 섹션의 2단계에서 명령을 다시 실행하여파일 이름새로운 누락된 파일이 있습니다. 마침내:

  1. 동적 링커 라이브러리 캐시 업데이트발행:
    ldconfig

위의 4단계에서는 시작한 애플리케이션을 시작하기 전에 사용자가 검색하는 캐시를 다시 작성합니다. pacman누락/재설치된 패키지를 설치할 때 자동으로 트리거되지 않도록 하기 위해 이렇게 합니다 .


추가 참고자료

Arch Linux에서 설치할 파일 X가 포함된 패키지를 어떻게 찾나요?

관련 정보