web-dev-qa-db-ja.com

sudoから.desktopアイコンを実行する方法

Gddccontrolのデスクトップアイコンを作成しましたが、実行するにはSudoから実行する必要があります。デスクトップアイコンからコマンドを実行する方法はありますか、

Sudo -pPASSWORD gddccontrol

ターミナルでパスワードを聞かれませんか?

クリックして、Sudo権限で実行するだけです。

[Desktop Entry]
Type=Application
Name=GDDCControl
Terminal=false
Comment=gddccontrol ddccontrol
Exec=Sudo -pPASSWORD gddccontrol
Icon=~/Pictures/10429.png

次のExecコマンドを使用して端末からアイコンを実行すると正常に動作しますが、ランチャーでは動作しません:(

Exec=echo mypasswd | Sudo -S gddccontrol
10
Eugene

NEVER EVER.desktopファイルに保存されているパスワードを使用します。それはひどく安全ではありません。

さらに、.desktopファイルで複雑なコマンドを実行することはできませんが、それは別の問題です。

何をすべきか

いくつかのオプションがあります:

  1. 説明したように、gddccontrolsudoersファイルに追加します。 ここ 。これは、アプリケーションを使用して悪意のあることを実行できないことが確実な場合に実行できます。

    次に使用する

    Exec=Sudo gddccontrol
    

    Exec=-行

  2. 別のオプションは、Exec=行を次のように置き換えることです。

    Exec=gksu gddccontrol
    

    この場合、アイコンをクリックすると、GUIを介してパスワードを入力するように求められます。
    おそらくgksuをインストールする必要があります。

    Sudo apt-get install gksu
    
17
Jacob Vlijm

Sudoを使用すると、定義によりパスワード要求が要求されます。実行する必要があるのは、ユーザーに実行権限を付与することです。そのプログラムがどこにあるのかわかりませんが、この答えのために、それが/usr/bin/であると仮定しましょう。

ターミナルでこれを実行します:

Sudo chmod o+x /usr/bin/gddccontrol

そのコマンドは、o therユーザー(あなたのような)にe x許可なしでプログラムを実行する権利を付与しています。

次に、.desktopファイルで、次を使用します。

Exec=gddccontrol
4
user308164

私はプレーンテキストファイルのハードコーディングパスワードに反対ですので、2つの可能な解決策を考えることができます:

  1. sudoを使用してユーザーが発行したすべてのコマンドがパスワードを要求せずにスーパーユーザーとして実行されるようにシステム全体を編集します。 this answer でその方法を見つけることができます

  2. Sudoコマンドを常にパスワードプロンプトで実行したくない場合は、生のパスワードをファイルに書き込むのではなく、グラフィックウィンドウでパスワードを要求するコマンドの前にgksuを使用することをお勧めします。

0
S.Mohsen sh