web-dev-qa-db-ja.com

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

パッケージを参照できないため、ルートではないことを知っています。最初に、 this ページを知っていますが、それは私のために機能していません。それらの指示に従った後、UnityからSublimeを開くとプロンプトが表示されますが、まだパッケージを参照できません。ターミナルでgksu sublを使用して崇高を開くと、何も起こりません。 Sudo sublを実行すると開き、パッケージを閲覧できます。 gksuの代わりに毎回Sudoとして崇高なものを開いても大丈夫ですか?

編集:実際、Unityから崇高なものを開くと、パスワードの入力を求められた後、まったく開きません。

編集:gksudo sublはgksuと同じ効果があります。 SublimeをWebサイトからインストールしました(Ubuntu 64リンクをクリックしてダウンロードし、ダウンロードをクリックして、Software Centerに移動しました)。 「which subl」は/usr/bin/sublを返します。 gksuがインストールされます。グルタニメート、はい、それは私が意味するものです。それでは何が起こっているのでしょうか? 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;
2
michaelAdam

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

Sudo/gksuの代わりにgksudoを使用してグラフィカルプログラムを実行する場合、Sudo -H ...の代わりにSudo -i ...(またはSudo ...)を使用する必要があります。 。

Sudo -H subl
Sudo -i subl

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

悪いと考えられる が通常のSudoでグラフィカルプログラムを実行する主な理由は、HOME環境変数を非ルート呼び出し元のホームディレクトリ(/home/username)ルートのホームディレクトリ(/root)ではなく。多くの場合、 通常のユーザーに属している必要があり、代わりにrootに属している構成ファイルが発生します (およびアクセス不可)。

-Hフラグを指定してSudoを実行すると、代わりにルートのホームディレクトリが使用されるようになり、これを防ぐことができます。

Sudo -iはこれを実行します。シミュレートされたルートログインセッションでプログラムを実行します。グラフィカルプログラムをルートとして問題なく実行することだけが目的である場合、Sudo -HSudo -iのいずれかを優先する理由はありません。

4
Eliah Kagan