Mint 12: erro do gerenciador de pacotes synaptic

1

Ontem eu tive o mesmo problema , Eu resolvi isso rodando

sudo synaptic

Mas hoje eu não sei o que está acontecendo, se eu executar gksu synaptic ou gksudo synaptic eles não fazem nada.

Se eu for root e executar esses comandos ou executar sudo synaptic , vejo:

sudo synaptic
No protocol specified

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

EDIT: @NoNoxic

Estou trabalhando no meu computador local. Quando eu faço sudo apt-get update algumas coisas serão atualizadas e algumas coisas não serão atualizadas

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

Eu corri sudo apt-get update 2 dias atrás. quando eu faço echo $DISPLAY a saída é :0

@Gilles

a saída de echo $XAUTHORITY não é nada:)

a saída de 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

a saída de 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

EDITAR

a saída de 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

a saída de 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 ...
    
por Lynob 14.02.2012 / 01:01

1 resposta

1

Uma possível explicação é que, devido a alguma alteração recente, o local do arquivo de cookies X mudou de ~/.Xauthority para algum local indicado por $XAUTHORITY . O arquivo de cookie X contém uma senha que os aplicativos X devem fornecer quando conectados ao servidor X. (Veja a primeira parte de esta resposta para mais informações.)

Certifique-se de que a variável XAUTHORITY não seja apagada por sudo . Execute visudo para adicionar esta linha ao arquivo sudoers :

Defaults env_keep += XAUTHORITY

Uma possibilidade relacionada é que, se você não tiver XAUTHORITY em seu ambiente, o cookie X será armazenado em ~/.Xauthority . Se a variável de ambiente HOME não for preservada por sudo , os aplicativos X em execução em sudo procurarão em ~root/.Xauthority , que não possui o cookie correto. Existem três maneiras fáceis de resolver isso, do mais conveniente ao menos conveniente:

  • Desative a opção env_reset em sudoers (quando você pode executar comandos arbitrários como o usuário de destino, não há nenhum benefício real de segurança para env_reset ) e não ative set_home . Dessa forma, ~/.Xauthority under sudo ainda se refere ao diretório inicial do usuário chamador.
  • Diga sudo para preservar a variável XAUTHORITY como acima e defina XAUTHORITY no arquivo de inicialização de sua sessão X, mesmo que seja o valor padrão.
  • Defina XAUTHORITY usando o diretório inicial do usuário chamador dentro da sessão sudo , por exemplo. executando

    sudo env XAUTHORITY=${XAUTHORITY:-~/.Xauthority} xterm
    
por 14.02.2012 / 16:47