端末を開かずにデスクトップショートカットを介してコマンドに引数を渡すにはどうすればよいですか?

端末を開かずにデスクトップショートカットを介してコマンドに引数を渡すにはどうすればよいですか?

LXDEデスクトップを使用しています。

ファイルを渡して、GUIでそのファイルを開くことができるPythonプログラムへのショートカットをデスクトップに作成しました。

私は、ファイル(ファイルの絶対パス)をデスクトップのショートカットにドラッグアンドドロップして、ファイル(ファイルの絶対パス)をコマンドに渡すことです。

実際、これはすでに機能しますが、デスクトップ項目でTerminal = trueを設定した場合にのみ可能です。これは明らかに端末が開きます。端末を開かずにコマンドに引数を渡す方法があるかどうか疑問に思います。

次のショートカットを作成しています。

[Desktop Entry]
Name=TBOPlayer
Comment=UI for omxplayer
Exec=python /path/to/tboplayer/tboplayer.py "%F"
Icon=/usr/share/pixmaps/python.xpm
Terminal=true
Type=Application

これを行う方法はありますか?

答え1

.desktopランチャーには常に特定のオプションがあることを望みますか、または必要なときにオプションを入力できるようにするためのいくつかのダイアログボックスが表示されますか?

私はそれが電子だと仮定しています。この場合、Exec行にオプションを追加します。

Exec=python /path/to/tboplayer/tboplayer.py --foo "%F"

答え2

記録のため。

これを行うには、スクリプトを正しくビルドする必要があります。

#!/usr/bin/python

import os, sys

if __name__ == '__main__':
    input_file = sys.argv[1]
    # do your stuff

および.desktopファイル

[Desktop Entry]
Comment=description
Exec=python /path/to/script.py "%F"
Icon=/usr/share/pixmaps/xterm.xpm
Name=script name

StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application

最も重要なのは、Terminal=false端末が実行されないようにすることです。名前が示すように、開始通知をオフにしたい場合がありますStartupNotify=false。起動通知がオフになり、スタンバイアイコンが表示されるか、または同様のものが表示されます。

関連情報