web-dev-qa-db-ja.com

「Sudo」でグラフィカルアプリを開くことができません

ここでいくつかの答えを見つけようとしました: 15.10にアップデートした後、ターミナルからグラフィカルアプリを起動できません 、しかしそれは私の問題を解決しませんでした。

$ Sudo gedit
Failed to connect to Mir: Failed to connect to server socket: No such file or directory.
Unable to init server: Could not connect: Connection refused.

(gedit:4574): Gtk-WARNING **: cannot open display:

ターミナルのgeditのみが正常に機能します。これはローカルシステムであり、リモートシステムではありません。

7
Inmate4587

古い投稿は下にありますが、それでも100%有効です。

Mirは、安定/動作可能と考えるものではありません。 Ubuntuコアの大部分(後述のgksudoやその他のプログラムなど)はまだXに依存しており、Mirが使用するものを処理できません。さらに通知があるまで、Mirを使用する非常に正当な理由がない限り、X11に戻すことをお勧めします。後者が当てはまる場合は、Sudo nanoで快適になります。


私の後に繰り返して:

Sudoでグラフィックプログラムを実行しないでください! *

*extremelyを除いて、まれに知っている場合exactlyあなたがしていること....またはあなたは痛みのためのものを持っています。どちらかまたは両方。

再び。そしてもう一度、良い測定のためにあなたの犬に。

代わりに、gksudoコマンドを使用して、次のようにルート権限を持つグラフィカルコマンドを起動します。

gksudo gedit /var/log/auth.log

システムにGKsudoがインストールされていない場合は、まずaptを使用してインストールします。

Sudo apt install gksudo

KDEを実行している場合は、同等のkdesudoコマンドを使用してください。


この背後にある理由は、Sudoはグラフィカルアプリケーションで非常によく使用されるユーザーランドのアクセス許可を保持しないためです。たとえば、geditで開いた後にSudo構成ファイルを変更すると、geditの構成ファイルがルートによって所有され、読み取りおよび/または書き込み不可になるという問題が発生します。あなたに、ユーザー。

gksudoがこれを処理し、アクセス許可を同じに保ち、何も壊さないようにするためのすべての面倒な作業を処理します。

コンソールコマンドは、ユーザーランドの設定を保存しないことが多く、Sudoではなくgksudoを使用するように設計されているため、異なります。

17
Kaz Wolfe