민트 12: 시냅틱 패키지 관리자 오류

민트 12: 시냅틱 패키지 관리자 오류

어제 나는같은 질문, 나는 다음을 실행하여 문제를 해결했습니다.

sudo synaptic

하지만 오늘은 무슨 일이 일어났는지 모르겠습니다. 제가 달려간 건지 gksu synaptic아니면 gksudo synaptic그들이 아무 조치도 취하지 않은 건지 모르겠습니다.

루트로 이동하여 다음 명령을 실행하거나 실행하면 다음이 sudo synaptic표시됩니다.

sudo synaptic
No protocol specified

(synaptic:32377): Gtk-WARNING **: cannot open display: :0.0

편집자: @Nunoxic

저는 로컬 컴퓨터에서 작업 중입니다. 그렇게 하면 sudo apt-get update일부 항목은 업데이트되고 일부 항목은 업데이트되지 않습니다.

E: Some index files failed to download. They have been ignored, or old ones used instead.

sudo apt-get update2일전에 조깅을 나갔습니다 . 내가 할 때 echo $DISPLAY출력은:0

@길스

출력은 echo $XAUTHORITY아무것도 아닙니다 :)

의 출력은 sudo env | sort다음과 같습니다

COLORTERM=gnome-terminal
DISPLAY=:0.0
HOME=/root
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_COLLATE=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LOGNAME=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
SHELL=/bin/bash
SUDO_COMMAND=/usr/bin/env
SUDO_GID=0
SUDO_UID=0
SUDO_USER=root
TERM=xterm
USERNAME=root
USER=root

의 출력은 sudo xterm다음과 같습니다

No protocol specified
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm Xt error: Can't open display: %s

편집하다

의 출력은 XAUTHORITY=~/.Xauthority; sudo xterm다음과 같습니다

No protocol specified
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm Xt error: Can't open display: %s

의 출력은 sudo -s9999 strace xterm다음과 같습니다

sudo: invalid option -- '9'
usage: sudo -h | -K | -k | -L | -V
usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u
            user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
            name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
            name|#uid] file ...

답변1

한 가지 가능한 설명은 최근 변경으로 인해 X 쿠키 파일의 위치가 ~/.Xauthority표시된 위치 중 하나 에서 변경되었다는 것입니다 $XAUTHORITY. X 쿠키 파일에는 X 서버에 연결할 때 X 응용 프로그램이 제공해야 하는 비밀번호가 포함되어 있습니다. (1부 참조이 답변배경에 대해 자세히 알아보세요. )

XAUTHORITY변수가 삭제되지 않았는지 확인하세요 sudo. 다음 줄을 파일 visudo에 추가하려면 다음을 실행하세요 .sudoers

Defaults env_keep += XAUTHORITY

관련 가능성은 사용자 환경에 X 쿠키가 없으면 XAUTHORITYX 쿠키가 에 저장된다는 것입니다 ~/.Xauthority. HOME환경 변수가 보존되지 않으면 sudo아래에서 실행되는 X 응용 프로그램이 올바른 쿠키가 없는 쿠키를 sudo찾습니다 . ~root/.Xauthority가장 편리한 것부터 덜 편리한 것까지 이 문제를 해결하는 세 가지 간단한 방법이 있습니다.

  • env_reset옵션을 끄고 sudoers(대상 사용자로 임의의 명령을 실행할 수 있는 경우 실제 보안상의 이점은 없음 env_reset) 설정하지 마십시오 set_home. 이런 식으로 ~/.Xauthorityunder는 sudo여전히 호출 사용자의 홈 디렉터리를 참조합니다.
  • 위의 변수를 sudo유지하고 기본값인 경우에도 X 세션 시작 파일에 설정하도록 지시합니다 .XAUTHORITYXAUTHORITY
  • XAUTHORITYsudo예를 들어 다음을 실행하여 사용자의 홈 디렉터리에 대한 세션 내 호출을 사용하여 설정합니다 .

    sudo env XAUTHORITY=${XAUTHORITY:-~/.Xauthority} xterm
    

관련 정보