web-dev-qa-db-ja.com

Unityランチャーからルートとしてアプリケーションを起動する方法は?

主に、アプリケーションをUnity起動バーに固定し、rootとして実行する方法を探しています。

現在、Sudoでアプリケーションを起動し、起動後に固定しても、次回は現在のユーザーとして起動します。

悲しいですが、「…として実行」のコンテキストメニューオプションはありません。

更新:私はgnome3に切り替えましたが、今は満足しています。検索だけが欠落しています。

80
sorin

アプリを常にルートとして実行する場合

  1. 通常どおり、アプリケーションをランチャーに固定します。

  2. 次のいずれかにあるアプリケーションの.desktopファイルを見つけます。

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • または他の場所で、locate .desktop|grep APPAMEを使用します
  3. Geditで開く:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. 次に、行を変更します

    Exec=APP_COMMAND
    

    Exec=gksudo -k -u root APP_COMMAND
    
  5. セーブ

このコマンドは環境を維持するので、他のサーバーに接続して秘密鍵を使用する必要がある場合に非常に役立ちます。

'rootとして実行'にクイックリストオプションを追加するには

上記の手順1、2、3を実行します

ランチャーに現在他のクイックリストオプションがない場合は、これをドキュメントの最後に追加してください

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity
89
edm

メインメニューの[システム]の[設定]で、ランチャープロパティの[コマンド]フィールドにgksudoと入力します。例:

/usr/bin/gksudo /usr/bin/yourapplication

名前フィールドには次のように表示されます。

Sudo yourapplication

したがって、ユーザーはパスワードのポップアップが表示される可能性があることを知っており、その理由は...

Unity Launcher対メインメニューについてはわかりません。たぶんこれは役立ちますか?

幸運を

4
boolship

ここでの回答に記載されている厄介な要求に対する迅速かつ簡単な代替手段として、私は次のことをする習慣を身につけました...

  1. 新しいターミナルを起動します。
  2. gksu nautilusと入力します

    Sudo -i nautilusも機能します。)

結果のウィンドウはSudoの傘下にあるため、このウィンドウを使用して、Sudo-root特権を持つファイルにアクセスし、閉じられるまであなたの心のコンテンツを起動できます。これは、より恒久的なソリューションを必要としない一時的な状況で役立ちます。たとえば、圧縮ファイルを保護されたシステムフォルダーに抽出するために日常的に使用しています。

2
Syndog

以下は、プライベート属性を必要とせずに同じことをするようです:

Actions=Runroot;Another

[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND

[Desktop Action Another]
Name=Another action
Exec=whatever
2
Daniel

@ Chris コメントで尋ねられた質問にこの応答を投稿しています:

ルートとして「file manager(nautilus)」を開くランチャーを作成するとします。次に、これを行うことができます:

ターミナルを開きます。タイプ:

Sudo -H gedit /usr/share/applications/nautilus_root.desktop

Enterキーを押します。要求されたら、ログインパスワードを入力してEnterキーを押します。これにより、gedit(テキストエディター)が開きます。ここで、次を貼り付けます:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

ここで、保存して終了します。できました。ダッシュで検索すると、新しいランチャー「Nautilus(Root)」が見つかります。これをクリックするとパスワードが要求され、認証時にnautilusがルートとして開かれます。

注:「Nautilus(Root)」を実行しているときは注意してください。このモードでは、/からほとんどすべてを削除して、システムを破壊できます。

1

これはおそらく、ダニエルのソリューションに関するコメントであるはずです。 Ubuntu 15.04でも動作します。余分な引数があるため、コマンドを引用符で囲む必要がありましたExec=gksu "nautilus --new-window"。また、どういうわけか、なぜわからないのですが、元のメニューを保持するために(新しいオプションと共に)ランチャーを直接編集する必要がありました。独自のランチャーをドラッグすると、登録されますが、同じメニューはありません。

Ubuntu 15.04では、nautilusのランチャーはusr/share/applications/org.gnome.Nautilus.desktopです。実際のファイル名を確認するには、コマンドラインを使用する必要があります。

さらなる研究は、私がより良い選択肢であると信じるものに私を導きます: http://ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context -menu / 。 Nautilusを完全にルートとして開くのではなく、選択したディレクトリをNautilus内でルートとして開くことができます。とにかく、私はチェックし、これらの2つのオプションは互換性があります。 Nautilusをルートとして開き、2番目のオプションを使用してディレクトリをルートとして開くと、パスワードを要求せずに単純に開きます。

0
Dominic108