Gtk-警告 **: 22:21:47.873: ディスプレイ:1 を開けません / xhost: ディスプレイ:1 を開けません

Gtk-警告 **: 22:21:47.873: ディスプレイ:1 を開けません / xhost: ディスプレイ:1 を開けません

それで、それが問題なのですが、何らかの理由でターミナルからグラフィカル アプリケーションを開くことができなくなってしまいました。不思議なのは、キーボード ショートカット (Ctrl + Alt + G のように) から gedit (たとえば) を起動できるのですが、ターミナルからは次のようなエラーが表示されることです。

Unable to init server: Could not connect: Connection refused`
(gedit:6690): Gtk-WARNING **: 22:38:15.851: cannot open display: 1

インターネットから入手したものを試してみました: xホスト + これは(私がよく理解していれば)すべてのアプリケーションがグラフィカル サーバーを起動できるようにするためのものですが、出力は次のようになります。

xhost:  unable to open display "1"

1 時間前はターミナルからグラフィック アプリケーションを起動できたのに、なぜこのエラーが発生するのかわかりません。どなたか助けていただければ幸いです :)

PS: このエラーは、ターミナルから起動しようとしたすべてのアプリケーションで発生します

答え1

通常DISPLAY=:0は ではなく なので、DISPLAY=:1次のコマンドを実行して、これが問題かどうかを確認します。

DISPLAY=:0 gedit

それが機能する場合は、次のコマンドを実行してこれをある程度永続的にすることができます。

export DISPLAY=:0

正しい DISPLAY 変数をエクスポートすると、ターミナルからグラフィカル アプリケーションを通常どおり起動できるようになります。

gedit

答え2

問題が見つかりました。問題は、ディスプレイ マネージャー (lightdm) を無効にしていたことです。ログインできない (ログイン ループ) ため、それが唯一の機能だと思っていました。

しかし、lightdm を再度再構成すると、問題なくターミナルから gedit を起動できるようになりました。技術的には問題は解決しましたが、今度は別の問題が発生しました。Ubuntu の起動時に、グラフィカル ログインではなくコンソール ログインを直接表示する方法です。

でも、後で解決してみようと思います...

とにかくありがとう@mchid :)

答え3

個人ユーザーでログインした後、ターミナル ウィンドウで 'su' または 'sudo su' のような操作を行った可能性はありますか? その場合、デスクトップはあなたの所有になりますが、アプリケーションを root として実行しようとしています。root はディスプレイを所有していないため、ディスプレイに関するエラーが発生します。'xhost +' は正しい手順ですが、'su' で ID を変更する前にこれを実行する必要があります。

関連情報