web-dev-qa-db-ja.com

インストールHPLIPはルートパスワードを受け入れません

私はシェルで実行しています:

./hplip-3.18.7.run

それから私はルートパスワードを入力することを望んでいますが、それを受け入れません!

enter image description here

誰もこれが何であるか知っていますか?

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

インストーラーが最初に出力するもの:

enter image description here

1
saitam

分析

Hplipソースコードから、authについて次のことがわかります。認証は base/password.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を使用しようとしました。しかし、デフォルトではrootアカウントはUbuntuで無効になっているため、問題が発生します("Please enter the sudoer (%s)'s password: "ではなく"Please enter the root/superuser password:")。

結論

Pythonバージョンの$PATH変数を常に確認してください。
Ubuntuの多くのソフトウェアはPythonに依存しています。 APTはAnacondaを認識しないため、システムはサードパーティのpythonsおよびpipsで予測できない動作をする可能性があります。 $PATH変数からサードパーティのpythonsを除外することをお勧めします。

バイナリhplipインストーラーは正常に動作するはずです。そして、あなたは 私の指示 に従うことができます。

1
N0rbert

同じ問題がありました。私はチェコ共和国出身で、パスワードには英語のアルファベット(ě、š)では使用できない特殊文字が含まれていました。この問題を修正したのは、これらの文字が含まれないようにパスワードを一時的に変更することでした。その後、パスワードは最終的に受け入れられ、インストールの残りの部分は他の問題なく終了しました。

1
Ondra

私はubuntuユーザーとして(rootパスワードなしで)この問題を別様に解決しました

me @ mycomputer:〜$ Sudo -s [Sudo]私のパスワード:root @ computer:〜#

この後、インストーラはパスワードを要求しませんでした。

0
Fouad Djebbar