在Linux中创建通用菜单项

在Linux中创建通用菜单项,linux,bash,shell,installation,shortcut,Linux,Bash,Shell,Installation,Shortcut,作为一个大型大学项目的一部分,我构建了一个基于java的大型应用程序。为了使“安装”更干净,我打算编写一个脚本,将jar复制到用户主目录中的一个隐藏文件中,然后添加一个菜单和/或桌面启动器 由于我不知道标记将使用什么平台,因此将其设置为通用似乎是明智的,因此我将构建一个shell脚本和一个批处理文件。 shell脚本从简单开始,检查目录是否已经存在,创建它并复制文件accross。 然后是制造某种发射器。我认为每个桌面环境的工作方式都会有所不同 10分钟后,谷歌似乎建议的一切都是自动工具,但由于

作为一个大型大学项目的一部分,我构建了一个基于java的大型应用程序。为了使“安装”更干净,我打算编写一个脚本,将jar复制到用户主目录中的一个隐藏文件中,然后添加一个菜单和/或桌面启动器

由于我不知道标记将使用什么平台,因此将其设置为通用似乎是明智的,因此我将构建一个shell脚本和一个批处理文件。 shell脚本从简单开始,检查目录是否已经存在,创建它并复制文件accross。 然后是制造某种发射器。我认为每个桌面环境的工作方式都会有所不同

10分钟后,谷歌似乎建议的一切都是自动工具,但由于我不知道这一点,似乎有点过火了

有没有一个简单的方法来实现我所需要的


感谢这些天,基本上所有的桌面环境都使用桌面文件。有关这些文件的规范,请参阅

通常,它们被放在系统上的
/usr/share/applications
中。然后读取这些文件并用于构建菜单

如果您有能力写入系统
/usr/share/applications
目录,这显然是最简单的,但是如果您有这种能力,您可能会将JAR文件放在用户主目录中隐藏目录以外的其他地方

如果没有,那么应该遵循的路径是
~/.local/share/applications
。如果你把一个桌面文件放在那里,它应该会显示给用户。(这有点新;例如,我认为GNOME2不支持它。较旧的桌面环境中有各种特殊的位置存放这些文件。)


然后,问题基本上归结为确定要为桌面文件中的Exec行编写什么。(有关一些示例,请参见系统中的桌面文件
/usr/share/applications
)。如果幸运的话,只需在其中粘贴
java
命令即可,但详细信息将取决于您的应用程序。

自动工具(即
autoconf
automake
,…)最早的java,通常用于C++或C++程序。自动工具非常酷,但是对于你的需求来说太复杂了(而且不专门用于java)。shell脚本可能更适合您的目的。谢谢/usr/共享/应用程序工作正常。用户路径没有,但由于这不是我们期望产生的东西,我想我可以不必强迫他使用root权限安装!