我已经创建了一个简单的 xulrunner 应用程序,它在从命令行调用时运行良好。
clain@desktop:~$ xulrunner /home/clain/myapp/application.ini
问题是我需要在应用程序运行时保持终端打开。有没有办法可以通过桌面快捷方式/桌面条目启动该应用程序?
我试图制作如下所示的桌面条目文件,但在运行它时出现错误“无效的桌面条目文件:'/home/clain/Desktop/myapp'”
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=MyApp
GenericName=MyApp XulRunner
Exec=xulrunner /home/clain/myapp/application.ini
TryExec=xulrunner /home/clain/myapp/application.ini
Terminal=false
Type=Application
MimeType=text/xml;application/xhtml+xml;application/x-javascript;application/x-php;application/x-java;text/x-javascript;text/html;text/plain;
Name[en_IN]=MyApp
Comment[en_IN]=Standalone MyApp SSB
我正在运行 Lubuntu 14.04 LTS (Trusty Tahr)
答案1
您有几个选择。
您可以从图形“运行命令”运行 - 相当于Windows+ R。 您也可以在 Windows 的开始菜单中找到它。
在 Ubuntu 上,您可以使用Alt+F2打开它:
在 lubuntu 上,它是“菜单”->“运行”。
然后运行命令
xulrunner /home/clain/myapp/application.ini
以图形方式进行,无需终端。
您的第二种选择是在终端中运行,但使用&
字符将其与终端取消链接,如下所示:
xulrunner /home/clain/myapp/application.ini &
这将启动它作为一个单独的进程。以下是 Gedit 的示例:
如您所见,我可以运行另一个命令而不会影响 Gedit。它将继续运行。如果我不使用它,&
终端将被附加。关闭终端会显示以下消息:
当然,如果我关闭它,Gedit 就会停止。如果我使用&
,则没有活动进程,因此可以关闭终端。
最后,如果您确实需要桌面快捷方式,您可以使用此.desktop
文件。
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=MyApp
Exec=xulrunner /home/tim/xulrunner/application.ini
Terminal=false
Type=Application
我已删除了不必要的部分,因此这可能会起作用。添加行Icon = /path/to/iconname.svg
以为其添加图标。
还要注意,您可以简单地将图标设置为~/.icons
或/usr/share/icons
。然后,如果您的图标名称是“MyApp.svg”,则只需使用 行Icon = MyApp
。
如果您仍然想要不需要的“TryExec”行,AB 的答案会解释您这样做的原因。
答案2
输入TryExec
有误,这就是出现错误消息的原因:
无效的桌面条目文件:“/home/clain/Desktop/myapp”
的定义TryExec
是
磁盘上可执行文件的路径,用于确定程序是否实际安装。如果路径不是绝对路径,则在 $PATH 环境变量中查找该文件。如果文件不存在或不可执行,则可能会忽略该条目(例如,不在菜单中使用)。
使用
TryExec=xulrunner
因为
xulrunner /home/clain/myapp/application.ini
不是可执行文件。它是带有参数的可执行文件。
答案3
你可以编写这样的脚本:
#!/bin/bash
xulrunner /home/clain/myapp/application.ini
然后将该脚本保存在某个地方,例如我称之为“myapp”。然后您可以通过给出命令chmod +x myapp
或右键单击文件,转到权限选项卡并选中使可执行文件框来使 myapp 可执行。
然后,您可以编写一个系统命令脚本,使用命令ln
只需将指向 myapp 的符号链接放在 PATH 中的某个位置即可。
echo $PATH
查看您的选项。我将使用“/usr/local/bin”
然后你给出这样的命令:
sudo ln -s /absolute/path/to/myapp /usr/local/bin/myapp
或者制作桌面图标:
ln -s /absolute/path/to/myapp /home/user/Desktop/myapp
现在您的应用程序可以从命令行使用,您可以输入 $myapp,它就会运行。
现在,您可以创建面板或停靠自定义启动器,它们不会占用您的终端,即使它们将调用终端。
或者,xulrunner /home/clain/myapp/application.ini &
这不是坏建议,但如果您制作了脚本、链接和/或自定义启动器,您就不必再输入这些内容了。您可以右键单击面板,选择“添加到面板”,然后选择自定义应用程序启动器。然后您可以发出命令“myapp”或直接调用脚本。