Sublime Text 3 を Unity から root として実行するにはどうすればよいですか?

Sublime Text 3 を Unity から root として実行するにはどうすればよいですか?

パッケージを閲覧できないので、私はルートではないことはわかっています。まず、これページを参照しましたが、うまくいきません。これらの指示に従った後、Unity から Sublime を開くとプロンプトが表示されますが、パッケージを参照することはできません。gksu sublターミナルで を使用して Sublime を開いても何も起こりません。実行すると開いsudo sublてパッケージを参照できます。毎回 gksu ではなく sudo として Sublime を開いても問題ありませんか?

編集: 実際、Unity から Sublime を開くと、パスワードの入力を求められますが、その後はまったく開きません。

編集: gksudo sublgksu と同じ効果があります。Web サイトから Sublime をインストールしました (Ubuntu 64 リンクをクリックしてダウンロードし、ダウンロードをクリックするとソフトウェア センターに移動しました)。「which subl」は/usr/bin/subl、gksu がインストールされていることを返します。Glutanimate、そうです、それが私の言いたいことです。それで何が起こっているのか、わかりますか? sudo を使用した場合にのみ参照できます。

/usr/share/applications/sublime-text.desktop:

[Desktop Entry] 
Version=1.0 
Type=Application 
Name=Sublime Text
GenericName=Text Editor 
Comment=Sophisticated text editor for code, markup and prose 
Exec=gksu /opt/sublime_text/sublime_text %F
Terminal=false 
MimeType=text/plain; 
Icon=sublime-text
Categories=TextEditor;Development; 
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window] 
Name=New Window
Exec=/opt/sublime_text/sublime_text -n 
OnlyShowIn=Unity;

[Desktop Action Document] 
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

答え1

gksu/ がgksudo機能しない、または利用できない場合は、代わりに を使用できます。sudo -H

/sudoの代わりにを使ってグラフィカル プログラムを実行する場合は、だけではなく(または) を使用する必要があります。gksugksudosudo -H ...sudo -i ...sudo ...

sudo -H subl
sudo -i subl

(プレーンなsudo ...方法もこれらの方法も、パスワードの入力を求めるターミナルが必要なため、通常は Unity ダッシュからは機能しません。ただし、ターミナルからは実行できます。)

主な理由は悪いとみなされる通常のグラフィカルプログラムを実行する場合、環境変数をルートのホームディレクトリ()ではなく、非ルートの呼び出し元のホームディレクトリ( )に設定してsudoアプリケーションを実行します。HOME/home/username/root通常ユーザーに属するべき設定ファイルが、ルートに属するようにする(そしてアクセス不能)。

sudoフラグを付けて実行すると-H、代わりにルートのホーム ディレクトリが使用されるようになり、この問題が防止されます。

sudo -isudo -Hこれに加えて、 はシミュレートされた root ログイン セッションでプログラムを実行します。 問題なく root としてグラフィカル プログラムを実行することだけが目的である場合、とのどちらか一方を優先する強い理由はわかりませsudo -iん。

関連情報