分析

分析

我正在我的 shell 中运行:

./hplip-3.18.7.run

然后它要求我输入 root 密码,但是不接受!

在此处输入图片描述

有人知道这是什么吗?

如果我使用 sudo 运行脚本sudo ./hplip-3.18.7.run ,那么它会告诉我安装过程的某个步骤:warning: hp-systray should not be run as root/superuser.

我正在使用 Ubuntu 18.04:

NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

这是安装程序在开始时输出的内容:

在此处输入图片描述

答案1

分析

从 hplip 源代码中,我们可以了解到有关 auth 的以下内容。Auth 在基础/密码.py文件。

主要AUTH_TYPES针对的是:

  • Debian -su
  • Ubuntu -sudo

在聊天和评论中我们发现了一些有趣的时刻:

  • 第一个检查是 python平台模块. 在 Ubuntu 上它应该返回"Ubuntu"

  • 第二发行版检查 -lsb_release -i | cut -f 2返回"Ubuntu"

  • 第三发行版检查-cat /etc/issue | awk '{print $1}' | head -n返回"Ubuntu"

但 OP 已在主文件夹中安装了 Anaconda,并将此目录添加到路径中。有趣的是 - 在这种情况下python -c "import platform;print platform.dist()[0]"返回"Debian"(!!!) 在发行版检查中。因此安装程序尝试使用su。但是帐户在 Ubuntu 上默认是禁用的,因此出现问题("Please enter the root/superuser password:"而不是"Please enter the sudoer (%s)'s password: ")。

结论

始终检查$PATH变量中的 Python 版本。Ubuntu
中的许多软件都依赖于 Python。APT 不了解 Anaconda,因此系统可能会对第三方pythons 和s 产生不可预测的行为。我建议从变量中pip排除第三方pythons 。$PATH

然后二进制 hplip 安装程序应该可以正常工作。然后你可以按照我的指示然后。

答案2

我也遇到了同样的问题。我来自捷克共和国,我的密码包含一些英文字母中没有的特殊字符(ě、š)。解决这个问题的方法是暂时更改密码,使其不包含这些字符。之后,密码最终被接受,其余安装完成,没有出现任何其他问题。

答案3

我以 Ubuntu 用户(没有 root 密码)的方式以不同的方式解决了这个问题

me@mycomputer:~$ sudo -s
[sudo] password for me:
root@computer:~# 

此后,安装程序不再要求我输入任何密码。

相关内容