
時々、 のファイルを編集する必要があります/etc
。コンソール ( sudo mv some/file /etc/some/file
、sudo nano /etc/some/file
) などでこれを行うことができることは知っていますが、この方法は少し扱いにくいと思います。甘やかされていると思われるかもしれませんが、私は Nautilus や Gedit などの GUI ツールに慣れています。
Ubuntu MateやMintなどのディストリビューションでは簡単です。フォルダを右クリックすると、コンテキストメニューが表示され、「管理者として開く"。その後、テキスト ファイルをダブルクリックすると、昇格された権限で gedit で開きます。
しかし、Ubuntu のデフォルトの Unity バージョンではそのようなオプションは見つかりません。
注記:
- 私はその疑問を認識している昇格した権限でNautilusを実行する方法しかし、ここで推奨されている解決策は を使用することですが
gksudo
、これはもう機能しません。 - いつでもできると思います
sudo gedit /etc/whatever
が、私の知る限り、sudo
GUIツールと一緒に使用するのは非常にお勧めできません。 - 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/applications
org.gnome.gedit.desktop
Name=
Comment=
Name=Root Text Editor
Comment=Edit text files with root privileges
gedit
/usr/local/bin/su_gedit
Exec=
これを実行すると、通常は gedit で開くファイルを Nautilus で右クリックし、「別のプログラムで開く」を選択すると、リストに「ルート テキスト エディター」のエントリが表示されます。そこに表示されていない場合でも、「すべてのプログラムを表示」ボタンをクリックすると選択できるはずです。
もう 1 つの方法は、管理者特権で実行される同様のスクリプトを作成しgnome-terminal
、そのスクリプトのランチャーを GNOME パネルまたはデスクトップなどに作成することです。そのターミナルから、単にgedit
root として実行できます。これが私が通常行っていることです。
答え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
を と想定します。そうしないと、のホーム ディレクトリ内の一部のファイルがルートによって所有されることになり、さまざまな問題が発生する可能性があります。root
HOME
user
注記: 抜粋「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