このスレッドのソースは次のとおりです。アクブントスレッド
スレッドオープナーはhplip-librariesをインストールしようとしましたが、hplipは彼のシステムをUbuntuシステムではなく純粋なDebianシステムとして見たので失敗しました。
これはUbuntu以外のディストリビューションユーザーに影響を与える非常に関連した問題です。 Ask UbuntuはUbuntuでのみ機能するため、他のディストリビューションを使用している人には役に立つことを望み、ここでこのスレッドを開きます。
問題の症状は次のとおりです。実行中にhplip-*.run
ルートパスワードを入力するように求められますが、正しいパスワードを入力した後、インストーラはパスワードが間違っているというメッセージを表示します。これは、rootアカウントを無効にした人(sudoを使用している人)にのみ影響します。
この問題を解決し、スーパーユーザーが無効になっているコンピュータにhplipをインストールするにはどうすればよいですか?
答え1
hplip-install
Leonのソリューションがうまくいくということは間違いありませんが、インストーラコードを読むと、ルートパスワードなしでプラットフォームで実行するためにインストーラの内容を編集する必要はありません。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
インストーラがユーザーアカウントで実行されると、展開マッピングが上書きされ、展開でもsudo
rootアクセス権を取得できます。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.11中Debian 10.7-システム。私はそれが他の多くのディストリビューションでも動作しなければならないと思いますが、まだ試していません。もちろん、他のバージョンのhplipは少し異なる動作をするかもしれません。この答えが役に立たないほど変わらないことを願っています。
答え3
これは私に役立ちます。
TL;DR すでにインストール
されているユーザーに権限を付与します。hplip
- 端末を開く
- Enter
sudo su
(そしてパスワードを入力してください) - 同じ端末で入力
hp-plugin
してインストールを続行します。 - 任意に選択できる。閉鎖これセキュリティ上の理由からインストールが完了したらすぐに端末を開いてください。
今、この問題は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