我正在我的 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,因此系统可能会对第三方python
s 和s 产生不可预测的行为。我建议从变量中pip
排除第三方python
s 。$PATH
然后二进制 hplip 安装程序应该可以正常工作。然后你可以按照我的指示然后。
答案2
我也遇到了同样的问题。我来自捷克共和国,我的密码包含一些英文字母中没有的特殊字符(ě、š)。解决这个问题的方法是暂时更改密码,使其不包含这些字符。之后,密码最终被接受,其余安装完成,没有出现任何其他问题。
答案3
我以 Ubuntu 用户(没有 root 密码)的方式以不同的方式解决了这个问题
me@mycomputer:~$ sudo -s
[sudo] password for me:
root@computer:~#
此后,安装程序不再要求我输入任何密码。