昇格された権限で nautilus または gedit を起動することは可能ですか?

昇格された権限で nautilus または gedit を起動することは可能ですか?

時々、 のファイルを編集する必要があります/etc。コンソール ( sudo mv some/file /etc/some/filesudo nano /etc/some/file) などでこれを行うことができることは知っていますが、この方法は少し扱いに​​くいと思います。甘やかされていると思われるかもしれませんが、私は Nautilus や Gedit などの GUI ツールに慣れています。

Ubuntu MateやMintなどのディストリビューションでは簡単です。フォルダを右クリックすると、コンテキストメニューが表示され、「管理者として開く"。その後、テキスト ファイルをダブルクリックすると、昇格された権限で gedit で開きます。

しかし、Ubuntu のデフォルトの Unity バージョンではそのようなオプションは見つかりません。

ここに画像の説明を入力してください

注記:

  • 私はその疑問を認識している昇格した権限でNautilusを実行する方法しかし、ここで推奨されている解決策は を使用することですがgksudo、これはもう機能しません。
  • いつでもできると思いますsudo gedit /etc/whateverが、私の知る限り、sudoGUIツールと一緒に使用するのは非常にお勧めできません。
  • GUIツールを昇格した権限で実行するのは賢明ではないと言う人がいたことを思い出す。まったくただし、一部のデフォルトの GUI ツール自体が昇格を要求するため、そうではないようです。Ubuntu ソフトウェアはおそらく最も顕著な例の 1 つです。

ここに画像の説明を入力してください

昇格された権限で Nautilus または Gedit を実行する方法はありますか?

答え1

パッケージをインストールすることで、ルート権限でファイルを開くことができる右クリック メニューを簡単に作成できますnautilus-admin。この Nautilus 拡張機能は、2 つの右クリック メニュー オプションを追加します。これらの 1 つは、gedit で編集するためにルートとしてファイルを開くことを可能にします。もう 1 つのエントリは、ルート権限で Nautilus ウィンドウを開くことを可能にします。

このパッケージは標準のUbuntuリポジトリに含まれており、次のコマンドでインストールできます。

sudo apt install nautilus-admin

これはGNOMEの管理バックエンドに依存しており、つまり、コマンドラインからURIを使ってファイルを開くのと同じ効果が得られますadmin://。例:

gedit admin:///etc/fstab

答え2

pkexecの代わりにを使用できますgksudo。たとえば、昇格された権限で を実行する私の方法は、次の内容のgeditなどのスクリプトを作成することです。/usr/local/bin/su_gedit

#!/bin/bash
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit $*

.desktop次に、たとえばこのスクリプトのファイルを作成し( 以外の場所が機能する/usr/share/applications/su_gedit.desktopかどうかはテストしていません)、 からその内容をコピーして適切に変更します。つまり、および の行を任意の値 (たとえばおよび)に変更し、すべての行を に置き換えます。/usr/share/applicationsorg.gnome.gedit.desktopName=Comment=Name=Root Text EditorComment=Edit text files with root privilegesgedit/usr/local/bin/su_geditExec=

これを実行すると、通常は gedit で開くファイルを Nautilus で右クリックし、「別のプログラムで開く」を選択すると、リストに「ルート テキスト エディター」のエントリが表示されます。そこに表示されていない場合でも、「すべてのプログラムを表示」ボタンをクリックすると選択できるはずです。

もう 1 つの方法は、管理者特権で実行される同様のスクリプトを作成しgnome-terminal、そのスクリプトのランチャーを GNOME パネルまたはデスクトップなどに作成することです。そのターミナルから、単にgeditroot として実行できます。これが私が通常行っていることです。

答え3

ニモ- Cinnamon Desktopに同梱されているデフォルトのファイルマネージャです。Nemoを使用すると、右クリック指定されたディレクトリ内の任意の場所と「ルートとして開く

次に、青い「昇格された権限」バナーが表示された 2 番目のウィンドウが開きます。

お役に立てれば!

注記 - (引き続き Nautilus を使いたいようですが、別のファイル マネージャーに切り替えるつもりがない場合は、このアドバイスを無視してください。

答え4

コメントから...

ちゃんとしたCLI から特権を使用して GUI アプリケーションを起動する最も簡単な方法は、 を使用することですsudo -H

例:sudo -H gedit /etc/filename

man ページからsudo...

 -H, --set-home
             Request that the security policy set the HOME environment
             variable to the home directory specified by the target
             user's password database entry.  Depending on the policy,
             this may be the default behavior.

したがって、-Hフラグにより​​、 は現在のユーザーのホーム ディレクトリではなくのホーム ディレクトリsudoを と想定します。そうしないと、のホーム ディレクトリ内の一部のファイルがルートによって所有されることになり、さまざまな問題が発生する可能性があります。rootHOMEuser

注記: 抜粋「sudo -H」の「-H」フラグはどういう意味ですか?

sudoオプションなしで使用する場合に最もよく発生する問題は、-Hログイン ループが発生することです。

これは、次のファイルが your_username:your_username から root:root に変更されたために発生する可能性があります。

-rw------- 1 your_username your_username 407910 Nov  2 08:56 .ICEauthority
-rw------- 1 your_username your_username     58 Jun 23  2017 .Xauthority

関連情報