ルートとしてGeditを開けません


14

実行するsudo gedit /path/to/some/random/fileと、次のエラーが表示されます

** (gedit:6262): WARNING **: Command line `dbus-launch --autolaunch=7f8731869e1c690b8205727e0000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.
Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

を使用gksudoしても、どちらが返されるのも助けにはなりません

Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

みんな助けて。ルートとしてGeditでファイルを開くには、この機能が必要です。
私は同じエラーでこの質問を見つけましたが解決策はありませんseditでgeditを起動できません


編集
この投稿はUbuntu Forumsで見つけました。
これらは指示です:

  1. echo $ DISPLAY#以下の3行でこの値が必要になります
  2. 古いslackwareではsudo -i#または「su-」
  3. xauth merge〜alien / .Xauthority#ここでは「alien」の代わりに独自のユーザー名を使用します
  4. export DISPLAY =:0.0#3行前に表示したDISPLAYの値を使用

コマンド#3にアクセスすると、このエラーが発生しました
xauth: file /root/.Xauthority does not exist

たぶん、この新しい情報はさらに光を放つことができるでしょう。


gksudo gedit /path/to/the/file/name代わりに試しましたか?
AzkerM 14

@AzkerMohamed Yah、私の質問にあるように、同じエラーを使用するgksudogksu返す。
パート14


この目的のためにスクリプトを作成しました: gist.github.com/wachambo/bd22e12db2d5a46dc109bd0d553733be
Alejandro Blasco

回答:


13

最後に答えを見つけました。この質問からsudoアプリを実行しているときにXサーバーに接続できません。特にsudoまたはgksudoでアプリを実行しようとするとこのエラーが発生します

ファイルDefaults env_keep+="DISPLAY"の最後に行を追加しました。 visudo/etc/sudoers

はい、sudo gedit帰ってきました!

編集

しばらくの間、同じエラーが再び発生しました。

さらなる調査、特にこの回答は/ubuntu//a/137584/163331であり、visudoファイルにオプションを追加する必要があることに気付きました。の代わりにDefaults env_keep+="DISPLAY"、次の行を使用しました。

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"

HOMEをenv_keepに追加する理由
ムル

9

特にグラフィカルインターフェイスアプリケーションがテキストエディターである場合、グラフィカルインターフェイスアプリケーションをルートとして実行すると、ファイルが破損する可能性があります。これに加えてgksugksudoUbuntuの17.10でウェイランドのルートなどのグラフィカルなアプリケーションを起動するための作業をしないでくださいなぜウェイランドでないgksuの/ gksudo仕事を?また、gksuパッケージはUbuntu 18.04以降のデフォルトのUbuntuリポジトリから削除されました。

Nautilus Admin(nautilus-admin)は、右クリックメニューにいくつかの管理アクションを追加するNautilusファイルマネージャー用のシンプルなPython拡張です。

  • 管理者として開く:管理者(ルート)特権で実行されている新しいNautilusウィンドウでフォルダーを開きます。
  • 管理者として編集:管理者(root)特権で実行されているGeditウィンドウでファイルを開きます。

現在サポートされているすべてのバージョンのUbuntuにNautilus Adminをインストールするには、ターミナルを開いて次のように入力します。

sudo apt install nautilus-admin  

rootとしてグラフィカルアプリケーションを実行するコマンドがありますが、nanoテキストエディターを使用することを強くお勧めします。通常、nano text editorは端末から実行され、rootとしてファイルを編集します。Nanoテキストエディターは、デフォルトのUbuntuインストールに含まれています。

Nanoは非常に使いやすいです。nanoエディターの使用方法は、常に各ページの下部に記載されています。知っておく必要がある2つのnanoキーボードショートカットは、WriteOutとExitです。キーボードの組み合わせCtrl+ Oを押し、その後押しEnterて、編集中のファイルを保存します。キーボードの組み合わせCtrl+ Xを押してnanoを終了します。

ルートとして正しい方法でファイルを編集する習慣を身に付けると、修正に非常に時間がかかる可能性があるミスを犯す可能性を減らすことができます。


1
nanoエディターの場合は+1 。誰でも簡単に操作できる最高のエディターの1つ。
AzkerM 14

@Karel最終的にnanoを使用して変更を加えましたが、ルートGeditを戻す必要があります。
パート14

1
これは良いアドバイスですが、これは答えではありません。Linuxの人はターミナルが大好きですが、GUIは複雑なタスクに最適であり、UXも優れています。
アゼラファティ

sudoeditコマンドのデフォルトエディター(デフォルトではnano)をカスタマイズできます。sudoeditコマンドのデフォルトエディターをvimに変更するにはどうすればよいですか?しかし、ルートとしてGUIエディターを起動すると、Ubuntu 17.10以降でwaylandで問題が発生する可能性があります。
karel

5

Ubuntu 17.10では、少なくともこれを行うことができます:

gedit admin:///path/to/some/random/file

パスワードを入力するように求められ、ファイルはルートとして編集するために開かれます。


18.04の下でも動作します...
Geek長老

4

geditについては、これを試してください:

sudo -H env DISPLAY=:0 gedit

1
同じエラーを取得します。
パート14

1

このページの他の回答のすべての情報を要約しようとしています:

ウェイランド:

唯一のオプションは、使用済みnanoまたはvi/vim

Xorg:

これを試して

sudo -H env DISPLAY=:0 gedit

動作する場合は、おそらくsudo構成ファイルにオプションを追加する必要があることを意味します

sudo visudo

この行を最後に追加してみてください

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`

HOMEをenv_keepに追加する理由
ムル

geditWaylandで正常に動作します。投稿した回答をご覧ください。
グンナルハルマルソン

0

同様の問題が発生しました。私はDebian Jessieを使用しており、ルートとしてgeditを起動するために、この行がついに機能しました。

sudo -H gedit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.