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


11

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コマンドを使用してターミナルからアイコンを実行すると、正常に機能しますが、Launcherでは機能しません:(

Exec=echo mypasswd | sudo -S gddccontrol

回答:


17

.desktopファイルに保存されているパスワードを決して使用しないでください。それはひどく危険です。

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

何をすべきか

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

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

    次に使用します

    Exec=sudo gddccontrol
    

    - Exec=行で

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

    Exec=gksu gddccontrol
    

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

    sudo apt-get install gksu
    

sudoersとgksuを編集しない限り、他に方法はありませんか?gksuはパスワードを尋ねる方法ですが、夕方にソファーに横になると、マウスでgddccontrolを実行して明るさ/コントラストを下げ、キーボードにアクセスせずに映画を見続けたいので。私はユーザーに$ gddccontrol dev:/ dev / i2c-4へのアクセスを許可するほうがよいでしょう。許可が拒否されました。夕方の時間に明るさとコントラストを変更する簡単な方法が欲しいだけです:(
Eugene

1
@Eugene想像できます。その場合は、sudoersファイルを使用します。
Jacob Vlijm

1
優先pkexec超えますgksu; これに関するメタ投稿があったと思います。

@cat pkexecは、そのようなGUIアプリケーションで実行されていません。gksu完全に機能する一方で、セットアップはより複雑です。
Jacob Vlijm

しかしpkexec、16.04 に追加でインストールする必要はありません。
Valentas 2017

4

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

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

sudo chmod o+x /usr/bin/gddccontrol

そのコマンドが許可されてoを電子に(あなたのような)THERユーザー権利をX ecuteの許可を必要とせずにプログラムを。

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

Exec=gddccontrol

0

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

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

  2. sudoコマンドを常にパスワードプロンプトで実行したくない場合はgksu、コマンドの前に、ファイルに生のパスワードを書き込むのではなく、グラフィックウィンドウでパスワードの入力を求めるようにしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.