Tripwireデータベース更新の問題:指定されたプロトコルなし/ QXcbConnection:ディスプレイに接続できません:0 /対話型更新に失敗しました

Tripwireデータベース更新の問題:指定されたプロトコルなし/ QXcbConnection:ディスプレイに接続できません:0 /対話型更新に失敗しました

./tripwire --update --twrfile ./report/name.twrそこで、説明された方法でトリップワイヤーデータベースを更新しようとしました。ここ私のコンピュータのルートとして、次のエラーが発生します(--initと--checkは正しく機能します)。

プロトコルが指定されていません。
QXcbConnection:ディスプレイに接続できません:0
中断
インタラクティブアップデートに失敗しました。
エラー:エディタを起動できません。

私はKDEを使ってDebian 9.1を実行しています。この問題をどのように解決できますか?

答え1

DISPLAY=:0簡単に言えば、環境変数を設定していません。

  1. 以下を実行できます。

    export DISPLAY=:0; ./tripwire --update --twrfile ./report/name.twr
    
  2. または - 引数を渡さずにターミナルルートセッションからログアウトし、新しいセッションを開始できます。これにより、現在のセッションの環境変数(この変数を含む)が継承されますDISPLAYctrl+を押してd実行しますsu。パスワードを入力したら、次をenv使用して環境を確認できます。grepDISPLAY

    env | grep DISPLAY
    
  3. nanoデフォルトエディターまたは同じコンソールベースのエディターに変更できますvimEDITORTripwire設定ファイルに記載されているようにフィールドを変更する必要があります。

    Tripwire は、Tripwire 構成ファイルの EDITOR 行で指定されたデフォルトのテキスト・エディターを使用してレポート・ファイルを表示します。

希望の方法を選択してください。これら 3 つの方法のいずれかを使用すると、GUI ベースのアプリケーションを開くか、GUI テキストエディタの設定をコンソールベースの設定に変更できます。

最初と2番目の最も簡単な仮定は、グラフィックエディタを使用してTripwireレポートの内容を表示したいということです。

答え2

最新のシステムは、グラフィックアプリケーションをrootとして許可するように設計されていません(これはWaylandの問題です)。解決策:

$ xhost si:localuser:root

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

基本権限の復元:

$ xhost -si:localuser:root

関連情報