如何以更方便的方式启动我的应用程序?

nic*_*ick 9 scripts

我是 Ubuntu 的新手。我有一个应用程序,我通过以下方式打开它。我在控制台输入:

cd ~/MyDirectory
./myapp +some arguments
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到解决方案,这样我就可以启动我的应用程序,而不必每次都在控制台中输入这些命令?我在想一个脚本,比如 Windows 中的 bat 脚本或 .lnk。

在其他类似的问题中,我没有找到解决方案,因为只有一些提到和讨论脚本。我没有找到如何在其他问题中使用“cd”命令,并且这个问题与我建议的其他问题不重复。

Jac*_*ijm 21

一个脚本是相当矫枉过正的。

使用 .desktop 文件,例如:

[Desktop Entry]
Exec=/bin/bash -c "cd ~/MyDirectory && myapp some_arguments"
Name=Some App
Type=Application
Run Code Online (Sandbox Code Playgroud)
  • 将其另存为 some_app.desktop
  • 使其可执行并双击

NB

问题是它是否需要从自己的目录中运行。如果没有,命令甚至可以更简单:

Exec='/home/MyUserName/MyDirectory/myapp' some_arguments
Run Code Online (Sandbox Code Playgroud)

  • 真的很谢谢你。`.desktop` 文件足以完成这项任务。 (2认同)
  • @allo 如果 OP 要求一个解决方案,这不是解决他问题的最佳解决方案,但他不知道存在更好的解决方案,如果您知道,您应该为他的问题提供更好的解决方案。如果你没有看到你完全没有意识到这里应该有什么答案。 (2认同)

Leo*_*Mew 14

创建一个包含以下内容的文件:

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments
Run Code Online (Sandbox Code Playgroud)

然后使其可执行:

chmod u+x scriptname
Run Code Online (Sandbox Code Playgroud)

现在你可以像这样调用这个脚本: /pathtoscript/scriptname

您可以将其与v010dya 的答案结合起来,并将此脚本放在bin$PATH中的任何位置,因此两种调用方法都是可能的:在任何目录类型的 shell 中scriptname或使用下面解释的桌面快捷方式。只需更改/pathtoscript脚本的实际位置即可。

创建脚本的快捷方式,将其放入~/.local/share/applications/并命名为 somename.desktop ,内容如下:

[Desktop Entry]
Version=1.0
Name=Script
Comment=
Keywords=Script
Exec=/pathtoscript/scriptname
Terminal=false
X-MultipleArgs=true
Type=Application
Icon=preferences-system
Categories=GTK;Development;
StartupNotify=false
Run Code Online (Sandbox Code Playgroud)

然后它会出现在应用程序列表中