我使用的是 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
,正如名称所述,启动通知将关闭,旋转等待图标或任何此类内容。