ルートが無効なシステムにはHplipをインストールできません(パスワードが正しくないため、依存関係をインストールできません)。

ルートが無効なシステムにはHplipをインストールできません(パスワードが正しくないため、依存関係をインストールできません)。

このスレッドのソースは次のとおりです。アクブントスレッド

スレッドオープナーはhplip-librariesをインストールしようとしましたが、hplipは彼のシステムをUbuntuシステムではなく純粋なDebianシステムとして見たので失敗しました。

これはUbuntu以外のディストリビューションユーザーに影響を与える非常に関連した問題です。 Ask UbuntuはUbuntuでのみ機能するため、他のディストリビューションを使用している人には役に立つことを望み、ここでこのスレッドを開きます。

問題の症状は次のとおりです。実行中にhplip-*.runルートパスワードを入力するように求められますが、正しいパスワードを入力した後、インストーラはパスワードが間違っているというメッセージを表示します。これは、rootアカウントを無効にした人(sudoを使用している人)にのみ影響します。

この問題を解決し、スーパーユーザーが無効になっているコンピュータにhplipをインストールするにはどうすればよいですか?

答え1

hplip-installLeonのソリューションがうまくいくということは間違いありませんが、インストーラコードを読むと、ルートパスワードなしでプラットフォームで実行するためにインストーラの内容を編集する必要はありません。su

インストーラの暗号化コードは、さまざまな展開をルートアクセス方式(suまたはルートアクセス方式sudo)にマッピングしますが、上書きもサポートします。base/password.pyソースから:

    def __readAuthType(self):
        # TBD: Getting distro name should get distro class
        # added replace() to remove the spaces in distro_name
        distro_name = get_distro_name().lower().replace(" ","")

        self.__authType = user_conf.get('authentication', 'su_sudo', '')

ファイルuser_confはにあります~/.hplip/hplip.conf。したがって、次の構成を含むようにファイルを作成または変更する場合:

[authentication]
su_sudo=sudo

インストーラがユーザーアカウントで実行されると、展開マッピングが上書きされ、展開でもsudorootアクセス権を取得できます。su

答え2

パスワードのトラブルシューティング

問題は、hplip-Installerがsudoを使用するために削除されたにもかかわらず、既存のsuユーザーを誤って想定していることです。この状況は次のように軽減できます。

ダウンロードhplip-*-.run-HPウェブサイトのDistroファイルここ

ファイルを実行可能にしてから実行します。このスレッドで対処する問題が発生した場合は、インストールを中止してください。

この時点で、実行ディレクトリにフォルダが作成されました。。走る-文書。このフォルダ内には、次のサブフォルダがあります。~によると。そのサブフォルダには、次のファイルがあります。パスワード.py

AUTH_TYPESこのファイルには、キーがリリースであり、値が認証タイプのキーと値のペアを含むリストが表示されます。'su'指定された問題が発生した場合は、値がある可能性があるディストリビューションを見つけます。この値をに変更して'sudo'ファイルを保存します。

これでインストールを再開し(hplip-install作成したディレクトリから実行)、パスワードを入力すると期待どおりに機能します。

依存関係をインストールできません。

しかし、これが唯一の問題ではないかもしれません。インストーラがシステムに依存関係をインストールできない可能性があります。これには2つの考えられる解決策があります。

どちらか:依存関係を手動でインストールします(インストールプログラムは依存関係リストを印刷するため、手動でインストールするだけです)。

あるいは、インストールに依存するインストーラのコードも変更します。

  • ファイルを開くインストーラ/distro.dat
  • このファイルでディストリビューションを見つけます。
  • コマンドをsu -c "<command>に置き換えて、閉じるsudo <command>引用符を削除します。はい、難しいですが、良い代替ツールを備えたエディタを使用すると悪くはありません。

上記の回避策のいずれかを使用してからインストーラを再実行してください。これで、手動でインストールしたパッケージを表示したり、上記のファイルの変更に基づいて依存関係を自分でインストールしたりできます。

まだ解決されていない依存関係があります。

私の場合、インストーラはまだ主張していました。pyqt5そしてpyqt5-dbuspipを使ってインストールしてもインストールされません。たぶん、インストーラにapt-packagesが必要な場合があります。わかりません。

とにかく、この問題が発生した場合は、別のファイルを変更して問題を解決できます。インストーラ/text_install.py

このファイルで同様の条件を検索しif num_req_missing、関連するコードブランチをコメントアウトして、不足しているパッケージが見つかった場合にインストーラが終了しないようにします。すべての依存関係がインストールされていると確信している場合にのみ、これを実行してください。

インストーラを再実行して、欠落している依存関係をインストールするかどうかを尋ねられたら、入力するとn完了です。

構成の問題

インストール後または実行中にhp-setupプリンタを設定する必要があります。ここでパスワードの問題が再び発生します。正しい資格情報を入力した後、プログラムがパスワードが間違っていることを知らせるからです。簡単な修正:sudo hp-setup端末でこのプログラムを実行すると、プリンタを設定できます。

コメント

このプログラムは正常に使用されましたhplip-3.20.11Debian 10.7-システム。私はそれが他の多くのディストリビューションでも動作しなければならないと思いますが、まだ試していません。もちろん、他のバージョンのhplipは少し異なる動作をするかもしれません。この答えが役に立たないほど変わらないことを願っています。

答え3

これは私に役立ちます。
TL;DR すでにインストール
されているユーザーに権限を付与します。hplip

  1. 端末を開く
  2. Enter sudo su (そしてパスワードを入力してください)
  3. 同じ端末で入力hp-pluginしてインストールを続行します。
  4. 任意に選択できる。閉鎖これセキュリティ上の理由からインストールが完了したらすぐに端末を開いてください。

今、この問題は100%削除する必要があります。root権限問題は、@FeRDが述べたように、Ubuntu以外のディストリビューションを使用しているため、無効なPython関数(使用する必要がある関数のsu代わりに)を使用しようとするためです(インストールプログラムは正しいAUTH_TYPEを検出できません)。sudo例:警告:pop distro is not found in AUTH_TYPES私の場合ポップ)。その後、su設定されていないパスワードの入力を求められます。

hp-pluginインストーラを最初にrootとして実行()すると、問題が最初から削除されます。

これは私たちのトピックに関するもう一つの良い質問であり、状況をよりよく理解するのに役立ちます。https://forums.linuxmint.com/viewtopic.php?t=320268

関連情報