루트가 비활성화된 시스템에는 Hplip을 설치할 수 없습니다(비밀번호가 잘못되어 종속성을 설치할 수 없음).

루트가 비활성화된 시스템에는 Hplip을 설치할 수 없습니다(비밀번호가 잘못되어 종속성을 설치할 수 없음).

이 스레드의 출처는 다음과 같습니다.아쿠분투 스레드

스레드 오프너는 hplip-libraries를 설치하려고 시도했지만 hplip이 그의 시스템을 Ubuntu 시스템이 아닌 순수한 Debian 시스템으로 보았기 때문에 실패했습니다.

Ubuntu 이외의 배포판 사용자에게 영향을 미치는 매우 관련된 문제입니다. Ask Ubuntu는 Ubuntu에서만 작동하므로 다른 배포판을 사용하는 일부 사람들에게 도움이 되기를 바라며 여기에서 이 스레드를 엽니다.

문제의 증상은 다음과 같습니다. 실행 중에 hplip-*.run루트 비밀번호를 입력하라는 메시지가 표시되지만 올바른 비밀번호를 입력한 후 설치 프로그램에서 비밀번호가 잘못되었다는 메시지를 표시합니다. 이는 루트 계정을 비활성화한 사람(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

설치 프로그램이 사용자 계정으로 실행되면 배포 매핑을 덮어쓰고 sudo배포에서도 루트 액세스 권한을 얻도록 강제합니다.su

답변2

비밀번호 문제 해결

문제는 hplip-Installer가 sudo를 사용하기 위해 제거되었음에도 불구하고 기존 su 사용자를 잘못 가정한다는 것입니다. 이 상황은 다음을 통해 완화될 수 있습니다.

다운로드hplip-*-.run-HP 웹사이트의 Distro 파일여기.

파일을 실행 가능하게 만든 다음 실행하십시오. 이제 이 스레드에서 다루는 문제가 발생하면 설치를 중단하세요.

이 시점에서 실행 디렉터리에 폴더가 생성되었습니다.. 달리기-문서. 이 폴더 안에는 다음과 같은 하위 폴더가 있습니다.~에 따르면. 해당 하위 폴더에는 다음과 같은 파일이 있습니다.비밀번호.py

AUTH_TYPES이 파일에는 키가 릴리스이고 값이 인증 유형인 키-값 쌍이 포함된 목록이 표시됩니다 . 'su'지정된 문제가 발생하는 경우 값이 있을 수 있는 배포판을 찾으십시오 . 이 값을 로 변경 'sudo'하고 파일을 저장하면 됩니다.

이제 설치를 다시 시작하고( hplip-install생성한 디렉터리에서 실행) 비밀번호를 입력하면 이제 예상대로 작동합니다.

종속성을 설치할 수 없습니다.

그러나 이것이 유일한 문제는 아닐 수도 있습니다. 설치 프로그램이 시스템에 종속성을 설치하지 못할 수도 있습니다. 이에 대한 두 가지 가능한 해결책이 있습니다.

둘 중 하나: 종속성을 수동으로 설치합니다(설치 프로그램이 종속성 목록을 인쇄하므로 수동으로 설치하면 됩니다).

또는 설치에 의존하는 설치 프로그램의 코드도 변경합니다.

  • 파일을 열다설치 프로그램/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안에데비안 10.7-체계. 나는 그것이 다른 많은 배포판에서도 작동해야 한다고 생각하지만 아직 시도하지 않았습니다. 물론, 다른 버전의 hplip은 약간 다르게 작동할 수 있습니다. 이 답변이 도움이 되지 않을 정도로 다르지 않기를 바랍니다.

답변3

이것은 나에게 도움이 됩니다.
TL;DR
이미 설치된 사용자에게 권한을 부여합니다.hplip

  1. 터미널 열기
  2. Enter sudo su (그리고 비밀번호를 입력하세요)
  3. 같은 터미널에서입력 hp-plugin하고 설치를 계속합니다.
  4. 임의로 선택할 수 있는. 폐쇄이것보안상의 이유로 설치가 완료되자마자 터미널을 열어주세요.

이제 이 문제는 100% 제거되어야 합니다.루트 권한문제는 @FeRD가 언급했듯이 Ubuntu 이외의 배포판을 사용하고 있기 때문에 잘못된 Python 함수(사용해야 하는 함수 su대신 ) 를 사용하려고 하기 때문입니다 (설치 프로그램이 올바른 AUTH_TYPE을 감지할 수 없음). sudo예: 경고: pop distro is not found in AUTH_TYPES.제 경우에는). 그런 다음 su구성되지 않은 비밀번호를 묻는 메시지가 표시됩니다 .

hp-plugin설치 프로그램을 루트로 먼저 실행( )하면 처음부터 문제가 제거됩니다.

이것은 우리 주제에 대한 또 다른 좋은 질문이며 상황을 더 잘 이해하는 데 도움이 됩니다.https://forums.linuxmint.com/viewtopic.php?t=320268

관련 정보