「gksudo nautilus」と「sudo nautilus」の違いは何ですか?


100

+ を使用gksudo nautilussudo nautilusて使用しました。AltF2

違いは何ですか?それらは非常によく似ています!


多くのスクリーンショットを含む非常に役立つ説明/議論:psychocats.net/ubuntu/graphicalsudo
ナッツについてのナッツ


回答:


113

ここから取られ

rootとしてグラフィカルアプリケーションを起動するためにnormal を使用しないでくださいsudo。このようなプログラムを実行するには、gksudokdesudoKubuntuで)使用する必要があります。 gksudoを設定し、ディレクトリにHOME=/rootコピー.Xauthoritytmpます。これにより、ホームディレクトリ内のファイルがルートによって所有されるのを防ぎます。

これは主に構成ファイルに関するものであることに注意してください。Nautilus rootgksu/ として実行し、/ gksudoを使用して任意の場所(ホームディレクトリを含む)にファイルまたはフォルダーを作成すると、そのファイルまたはフォルダーはによって所有されrootます。ただし、のようにNautilus(または他のほとんどのグラフィカルアプリケーション)を実行するrootsudo設定ファイルが(rootのホームディレクトリではなく)ホームディレクトリに保存される場合があります。これらの構成ファイルはroot、rootとして実行していないときに所有され、アクセスできない可能性があります。これにより、設定がひどく混乱したり、一部のアプリケーションが完全に動作しなくなる可能性があります。

解決策は、この間違いを犯したら、構成ファイルを見つけて削除するかchown、非rootユーザーに帰属するように戻すことです。そのようなファイルの多く.は、で始まるか、で始まるディレクトリに含まれてい.ます。一部は.config、ホームディレクトリのフォルダー内にあります。始まるファイルやフォルダを参照するには.Nautilusでは、プレスCtrl+は、H(これは隠しファイルを表示。)でそれらを表示するにはls、使用-a(または-A)フラグ。

自分が所有していないファイルがホームディレクトリにあるかどうかを確認するには、ターミナルで次のコマンドを使用できます。

find $HOME -not -user $USER -exec ls -lad {} \;

これにより、ユーザーが所有していないホームディレクトリにあるすべてのファイルがリストされます。


1
私はすでに「sudo nautilus」を使用しています。これは、私のホームディレクトリがルートによって所有されていることを意味しますか?(PS:私の英語は完璧ではありません)
DrKenobi

22
いいえ、ルートとしてNautilusを実行している間、ホームディレクトリに作成されたファイルはすべてルートが所有します。これには、Nautilusが自動的に作成するサムネイルおよびその他のサポートファイルが含まれます。
ライアントンプソン

1
。あなたが使用した引用されたセグメネットは、私が最初に読んだときから私を困惑させました。具体的には、「ホームディレクトリ内のファイルがルートによって所有されることを防ぎます」と書かれています。..今日、これをテストするために、10.04、10.04(VM)、10.10(VM)にテストファイルを作成し、sudo / gksudoの起動方法に関係なく(Terminal-> Nautilus、Terminal-> gedit、Alt + F2 .. 。)...すべての場合は、グループと、私の新たな「ルート」によって所有されるように作成された原因「ルート」..たぶん私は何かを見逃しているが、私は引用符で囲まれた部分の一部が人...誤解だと思う
ピーター。 O

うーん、私はwikiページを引用しただけです。私は、2つのツールの違いを深く理解していません。おそらくunix.stakexchange.comの誰かが助けてくれますか?

2
@ Peter.Oこの答えを拡張して、その質問に対処しsudogksu/を使用して、どのファイルが異なる方法で処理されるかを正確に説明しましたgksudo。(あなたはそれがあなたの答えの範囲内で完全ではないと感じた場合...それは私には思えるが、それは完全にあなたの呼び出しのロールバックすること自由に感じたり、この編集を短縮@ChrisWilson。)
Eliahケーガン

9

nautilusnautilus-gksuをインストールしますの右クリックメニューに「管理者として開く」を追加するnautilus-gksuというNautilusアドオンがあることをご存知ですか?

注:Ubuntu 12.04以降では使用できません。


1
nautilus-gksuUbuntu 12.04以降では使用できなくなりました。
–IQAndreas

そして、あなたのリンクは唯一の...それは11.10まで利用可能であることを示している
Wilf

5

sudoを使用してグラフィカルアプリケーションを起動すると、ファイルの所有権が台無しになり、アプリが破損する可能性があります。絶対にしないでください。コミュニティヘルプを確認してください。

グラフィカルアプリケーションをRootとして起動するために、通常のsudoを使用しないでください。このようなプログラムを実行するには、gksudo(Kubuntuのkdesudo)を使用する必要があります。gksudoはHOME =〜rootを設定し、.Xauthorityをtmpディレクトリにコピーします。これにより、ホームディレクトリ内のファイルがルートによって所有されるのを防ぎます。(AFAICT、これはgksudoとsudoで開始されたプロセスの環境について特別なことです)。


3

デフォルトでは、sudoは$ HOME変数を保持します。たとえば、実行sudo firefoxすると、root権限で実行されますが、設定は実行されます。この状況で設定を変更すると、ユーザーIDではなく、rootが所有する構成の一部になります。


この答えの主張が好きです。
アンドレフィ

2

sudo -H GUI-application-program

Ubuntuのでは(17.10)17.10.1、おそらく将来のUbuntuのバージョン、gksuおよびgksudo廃止されました。それらはXorgで動作しますが、Waylandでは動作しません。ただしsudo -H、構成ファイルに損傷を与えることなくGUIアプリケーションプログラムを実行できます。plainを使用しないでくださいsudo

Wayland(Xorgに代わる新しいグラフィカルシステム)を実行している場合は、コマンドxhostも必要です。

xhost +si:localuser:root       # if Wayland
sudo -H nautilus --no-desktop

詳細については、次のリンクを参照してください。

Waylandでgksu / gksudoまたはsudoを使用してグラフィカルアプリケーションを起動しないのはなぜですか?


-2

端末コマンド「info gksudo」によって生成されたファイルで見つかりました:

gksuはsuのフロントエンドで、gksudoはsudoのフロントエンドです。それらの主な目的は、X端末エミュレータを実行し、suを直接使用することなく、rootを必要とするグラフィカルコマンドを実行することです。

多くの場合、「情報」ファイルには有用な説明とオプションに関する有用な情報があることがわかりました。コマンドについての学習は、まずそのコマンドの「情報」ファイルにアクセスすることから始めることを強くお勧めします。

初心者の場合は、ターミナルで、コマンド情報を入力するか、パラメーターとして関心のあるコマンド名を貼り付けます。形式はinfo [command_name](コマンドプロンプトまたは角かっこを含めないでください)。初心者向けの推奨端末エントリは次のとおりです。

$ info
$ info info

-3

gksudo nautilusを選択した場合、パスワードをグラフィカルに尋ねます。sudoでは、ターミナルでそれを尋ねます


6
それが唯一の違いではなく、多くの場合、最も重要な違いではありません。(ここで他の回答のいくつかを参照してください。)
エリアケイガン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.