gksudo nautilus
とSudo nautilus
を使用しています Alt+F2。
違いは何ですか?それらは非常によく似ています!
here から取得:
グラフィカルアプリケーションをルートとして起動するには、通常の
Sudo
をnever使用する必要があります。このようなプログラムを実行するには、gksudo
(Kubuntuではkdesudo
)を使用する必要があります。gksudo
はHOME=/root
を設定し、.Xauthority
をtmp
ディレクトリにコピーします。これにより、ホームディレクトリ内のファイルがルートによって所有されるのを防ぎます。
これは主に構成ファイルに関するものであることに注意してください。 Nautilusをroot
として、gksu
/gksudo
を使用して実行し、それを使用して任意の場所(ホームディレクトリを含む)にファイルまたはフォルダーを作成すると、そのファイルまたはフォルダーはroot
によって所有されます。ただし、Nautilus(または他のほとんどのグラフィカルアプリケーション)をroot
を使用してSudo
として実行すると、構成ファイルが(root
のホームディレクトリではなく)ホームディレクトリに保存される場合があります。これらの構成ファイルは、root
によって所有されており、rootとして実行していない場合はアクセスできない可能性があります。
解決策は、この間違いを犯したら、構成ファイルを見つけて削除するか、 chown
を使用して、_root
以外のユーザーに所属させることです。そのようなファイルの多くは、.
で始まるか、.
で始まるディレクトリに含まれています。一部は、ホームディレクトリの.config
フォルダー内にあります。 Nautilusで.
で始まるファイルとフォルダーを表示するには、を押します Ctrl+H (このは隠しファイルを表示します。) ls
でそれらを表示するには、-a
(または-A
)フラグを使用します。
自分が所有していないファイルがホームディレクトリにあるかどうかを確認するには、ターミナルで次のコマンドを使用できます。
find $HOME -not -user $USER -exec ls -lad {} \;
これにより、ユーザーが所有していないホームディレクトリにあるすべてのファイルがリストされます。
nautilus-gksuと呼ばれるNautilusアドオンがあることをご存知ですか? nautilusの右クリックメニューに「管理者として開く」を追加しますか?
注:Ubuntu 12.04以降では使用できません。
Sudoでグラフィカルアプリケーションを起動すると、ファイルの所有権が台無しになり、アプリが破損する可能性があります。絶対にしないでください。 コミュニティヘルプ を確認してください:
通常のSudoを使用してグラフィカルアプリケーションをRootとして起動しないでください。このようなプログラムを実行するには、gksudo(Kubuntuのkdesudo)を使用する必要があります。 gksudoはHOME =〜rootを設定し、.Xauthorityをtmpディレクトリにコピーします。これにより、ホームディレクトリ内のファイルがルートによって所有されるのを防ぎます。 (AFAICT、これはgksudoとSudoで開始されたプロセスの環境について特別なことです)。
デフォルトでは、sudoは$ HOME変数を保持します。たとえば、Sudo firefox
を実行すると、設定ではなくルート権限で実行されます。この状況で設定を変更すると、ユーザーIDではなく、rootが所有する構成の一部になります。
Sudo -H GUI-application-program
Ubuntu(17.10)17.10.1およびおそらくUbuntuの将来のバージョンでは、gksu
およびgksudo
は非推奨です。それらはXorgで動作しますが、Waylandでは動作しません。ただし、Sudo -H
を使用して、構成ファイルを損傷することなくGUIアプリケーションプログラムを実行できます。 notプレーンSudo
を使用します。
Wayland(Xorgに代わる新しいグラフィカルシステム)を実行している場合は、xhost
を含むコマンドも必要です。
xhost +si:localuser:root # if Wayland
Sudo -H nautilus --no-desktop
詳細については、次のリンクを参照してください。
なぜgksu/gksudoまたはSudoでグラフィカルアプリケーションを起動しないのはWaylandで動作しないのですか?