gksu のマニュアル ページには、su のフロントエンドであると書かれていますが、su はコマンドを実行する必要がありませんが、gksu は必要です。また、gksu はシェルのユーザー ID を変更しないようですが、su は変更します。ユーザー パスワードを尋ねてシェルの uid を変更するだけで、gksu を su とまったく同じように動作させることは可能ですか?
また、gksu と gksudo には違いがありますか?
答え1
gksuは通常、ルートユーザーにログインし、このセッションでアプリを実行します。
Ubuntuのような一部のシステムでは、gksuとgksudoはシンボリックリンクされており、基本的にはどのコマンドを使用しても、/apps/gksu/sudo-modeが有効になっているため、単にgksudoを使用していることになります。
通常、gksuはルートユーザーにログインし、このセッションでアプリを実行します。一方、gksudo/sudoはユーザーのログイン状態を維持し、そのユーザーにルートレベルの権限を昇格します。
グラフィカル アプリケーションを起動するために通常の sudo を使用しないでください。代わりに gksudo を使用してください。gksudo は HOME=~root を設定し、.Xauthority を tmp ディレクトリにコピーします。これにより、ホーム ディレクトリ内のファイルが root によって所有されることがなくなります。(私の知る限り、これが gksudo と sudo で開始されたプロセスの環境の特別な点のすべてです)。
答え2
Gksu は、ユーザーが GUI プログラムを root として実行できるようにするツールです。これは、sudo がコマンドに対して行うのと同じことを X プログラムに対して行います。私の知る限り、gksu と gksudo は同じものです。