如何通过桌面快捷方式将参数传递给命令而无需打开终端?

如何通过桌面快捷方式将参数传递给命令而无需打开终端?

我使用的是 LXDE 桌面。

我在桌面上创建了一个 python 程序的快捷方式,可以将文件传递给该程序,然后在 GUI 中打开这些文件。

我的意思是通过将文件(文件绝对路径)拖放到桌面上的快捷方式上来将文件(文件绝对路径)传递给命令。

事实上,这已经有效,但前提是我在桌面条目中设置 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,正如名称所述,启动通知将关闭,旋转等待图标或任何此类内容。

相关内容