Mint 12:突触包管理器错误

Mint 12:突触包管理器错误

昨天我有同样的问题,我通过运行解决了这个问题

sudo synaptic

但今天我不知道发生了什么,是我跑步gksu synaptic还是gksudo synaptic他们不采取任何行动。

如果我转到 root 并执行这些命令或执行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 cookie 文件的位置已从 更改~/.Xauthority为 指示的某个位置$XAUTHORITY。 X cookie 文件包含 X 应用程序在连接到 X 服务器时必须提供的密码。 (参见第一部分这个答案了解更多背景。)

确保XAUTHORITY变量没有被删除sudo。运行visudo以将此行添加到sudoers文件中:

Defaults env_keep += XAUTHORITY

一个相关的可能性是,如果您的环境中没有XAUTHORITYX cookie,则 X cookie 存储在~/.Xauthority.如果HOME环境变量没有被 保留sudo,那么运行在下面的 X 应用程序sudo将查找~root/.Xauthority哪个没有正确的 cookie。有三种简单的方法可以解决这个问题,从最方便到不太方便:

  • 关闭该env_reset选项sudoers(当您可以作为目标用户运行任意命令时,没有真正的安全优势env_reset),并且不要打开set_home。这样,~/.Xauthorityundersudo仍然指调用用户的主目录。
  • 告诉sudo您保留XAUTHORITY上面的变量,并XAUTHORITY在 X 会话启动文件中进行设置,即使它是默认值。
  • XAUTHORITY使用会话内调用用户的主目录进行设置sudo,例如通过运行

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

相关内容