Tripwire 데이터베이스 업데이트 문제: 지정된 프로토콜 없음/QXcbConnection: 디스플레이에 연결할 수 없음: 0/대화형 업데이트 실패

Tripwire 데이터베이스 업데이트 문제: 지정된 프로토콜 없음/QXcbConnection: 디스플레이에 연결할 수 없음: 0/대화형 업데이트 실패

./tripwire --update --twrfile ./report/name.twr그래서 설명된 방식으로 트립와이어 데이터베이스를 업데이트하려고 했습니다.여기내 컴퓨터의 루트로서 다음 오류가 발생합니다(--init 및 --check는 제대로 작동합니다).

프로토콜이 지정되지 않았습니다.
QXcbConnection: 디스플레이와 연결할 수 없습니다: 0
중단됨
대화형 업데이트에 실패했습니다.
오류: 편집기를 시작할 수 없습니다.

저는 KDE를 사용하여 데비안 9.1을 실행하고 있습니다. 이 문제를 어떻게 해결할 수 있나요?

답변1

DISPLAY=:0간단히 말해서, 환경 변수를 설정 하지 않았습니다 .

  1. 다음을 실행할 수 있습니다.

    export DISPLAY=:0; ./tripwire --update --twrfile ./report/name.twr
    
  2. 또는 - 인수를 전달하지 않고 터미널 루트 세션에서 로그아웃하고 새 세션을 시작할 수 있습니다. 그러면 현재 세션의 환경 변수(이 변수 포함)가 상속됩니다 DISPLAY. ctrl+를 누르고 d실행하세요 su. 비밀번호를 입력한 후 다음을 env사용하여 환경을 확인할 수 있습니다.grepDISPLAY

    env | grep DISPLAY
    
  3. nano기본 편집기를 또는 같은 콘솔 기반 편집기로 변경할 수 있습니다 vim. EDITORTripwire 구성 파일에 언급된 대로 필드를 변경 해야 합니다 .

    Tripwire는 Tripwire 구성 파일의 EDITOR 라인에 지정된 기본 텍스트 편집기를 사용하여 보고서 파일을 표시합니다.

원하는 방식을 선택하세요. 이 세 가지 방법 중 하나를 사용하면 GUI 기반 응용 프로그램을 열거나 GUI 텍스트 편집기 설정을 콘솔 기반 설정으로 변경할 수 있습니다.

첫 번째와 두 번째 가장 간단한 가정은 그래픽 편집기를 사용하여 Tripwire 보고서의 내용을 보고 싶다는 것입니다.

답변2

최신 시스템은 그래픽 응용 프로그램을 루트로 허용하도록 설계되지 않았습니다(이것은 Wayland의 문제입니다). 해결책:

$ xhost si:localuser:root

$ sudo -i
$ ...your-graphical-app...

기본 권한 복원:

$ xhost -si:localuser:root

관련 정보