Mj Dev Asked: 2021-07-26 12:53:58 +0800 CST2021-07-26 12:53:58 +0800 CST 2021-07-26 12:53:58 +0800 CST 如何为 Ubuntu 软件中心创建桌面应用程序? 772 我想为 Ubuntu 开发桌面应用程序并将它们推送到 Ubuntu 软件中心。 我搜索了整个互联网,但找不到任何关于这个主题的合适的文章或博客。我想过使用“快速”,但似乎这个包已被弃用。谁能建议我应该使用哪个平台以及我需要的设置?提前致谢。 software-recommendation 3 个回答 Voted user535733 2021-07-26T13:48:43+08:002021-07-26T13:48:43+08:00 Ubuntu 没有“官方”开发平台或设置。使用最适合您的。如果您说出一种通用的编程语言或 IDE,就会有人使用它为 Linux 进行开发。使用您喜欢的任何平台或设置,尽管您可能会发现在 Ubuntu 上开发您的第一个 hello-world 应用程序会使您的软件更容易测试。 有两种方法可以打包您的软件并将其推送到 Ubuntu 软件存储库:Deb 包和 Snap 包。如果您不确定要选择哪个,请尝试两者。 Deb 软件包使用 Debian 颁布的标准。它比 Snaps 更老、更复杂,但易于维护并且没有任何黑盒巫术。Debian 软件包在整个安装系统中共享公共依赖项,因此必须为新版本重新构建该软件包……但 Debian 构建农场可以完成这项工作。您将可构建的代码贡献给 Debian,并且软件包会神奇地找到所有基于 Debian 的发行版的下游,包括未来的 Ubuntu 发行版。 Snap 包更新、跨平台、通常更安全,并且具有更复杂的内部配置。快照包含所有依赖项,因此往往具有更大的包大小。您运行 Snapcraft 神奇的应用程序进行打包和上传。在您的 Snap 获得 Snap Store 的 Mighty Guardians 批准后,它会立即显示在 Ubuntu 软件中。快照可以随时(由您)更新,并且这些更新与底层系统更新没有关系(因为没有共享依赖项)。 Best Answer Nate T 2021-07-26T13:37:00+08:002021-07-26T13:37:00+08:00 〜Tl;博士〜 如果您的应用程序被 Snap 接受/添加,即您可以键入: sudo snap install --options myappname ...为了安装您的应用程序,它将位于“Snap 商店/软件中心”中。他们是一样的。 ~详情~ 要将应用程序添加到软件中心,首先它需要是一个 .deb 包。为了将其正确安装到 Ubuntu 操作系统中,它必须是 Debian 软件包。我相信这是通过几个步骤完成的,其中第一步涉及自动工具。 该标准由 GNU 监督。本指南将告诉您您需要知道的一切。 至于将 .deb 包放到“软件中心”,关键是首先要知道,对于 Ubuntu 的最后几个版本,“软件中心”只是 snap 商店的一个门面。您在此处下载的每个应用程序都很快。 因此,您需要搜索的信息是“如何快速获取我的应用程序”。这是关于这个主题的一个很好的资源。 至于您需要使用哪种语言编写它,这并不重要,至少在这种情况下是这样。大多数传统上都是用 C 编写的,但人们可能会在外面找到一个包含任何组合的包。 当然,包需要在目标环境中可运行,但包是一种容器,因此您可以在其中包含自己的环境。 如果您使用 Python 构建,为什么不直接构建到虚拟环境并打包整个该死的东西呢?这样它每次都在同一个解释器上运行。与 Java 和 JVM、C/C++ 和 GCC 等相同。 您还包括应用程序需要的任何依赖项。这不仅包括运行时依赖项,还包括安装程序等。这些通常只是 Bash 脚本,但同样,语言并不重要。 老实说,包里面的东西是标准化的(你需要某种类型的开源许可证等),但 debian 系统所关心的只是接口。Dpkg 需要知道安装时发生了什么。只要给出清晰易懂的说明,让它知道把所有东西放在哪里,结果就是一个按照用户期望运行的应用程序系统,你就有了一个有效的 .deb 包。 也就是说,如果你想要一个有效的 Snap 包,我可以保证你的限制会更严格一些。最好遵循我从一开始就链接的标准。 编辑 我最近在 Github 上发现了一些资源,它们可以自动构建和发布快照的过程。它们都是 Snapcraft 维护的 github 操作。结合这些,任何兼容的应用程序都可以变成已发布的快照。 它们位于此处(快照生成器)和此处(快照发布者)。 Anya Baker 2021-07-27T04:32:25+08:002021-07-27T04:32:25+08:00 我认为您可以使用 qt ide 在 ubuntu 和其他基于 linux 的操作系统上轻松制作 GUI 桌面应用程序。它具有设计 linux gui 软件的强大工具,并且用户友好。
Ubuntu 没有“官方”开发平台或设置。使用最适合您的。如果您说出一种通用的编程语言或 IDE,就会有人使用它为 Linux 进行开发。使用您喜欢的任何平台或设置,尽管您可能会发现在 Ubuntu 上开发您的第一个 hello-world 应用程序会使您的软件更容易测试。
有两种方法可以打包您的软件并将其推送到 Ubuntu 软件存储库:Deb 包和 Snap 包。如果您不确定要选择哪个,请尝试两者。
Deb 软件包使用 Debian 颁布的标准。它比 Snaps 更老、更复杂,但易于维护并且没有任何黑盒巫术。Debian 软件包在整个安装系统中共享公共依赖项,因此必须为新版本重新构建该软件包……但 Debian 构建农场可以完成这项工作。您将可构建的代码贡献给 Debian,并且软件包会神奇地找到所有基于 Debian 的发行版的下游,包括未来的 Ubuntu 发行版。
Snap 包更新、跨平台、通常更安全,并且具有更复杂的内部配置。快照包含所有依赖项,因此往往具有更大的包大小。您运行 Snapcraft 神奇的应用程序进行打包和上传。在您的 Snap 获得 Snap Store 的 Mighty Guardians 批准后,它会立即显示在 Ubuntu 软件中。快照可以随时(由您)更新,并且这些更新与底层系统更新没有关系(因为没有共享依赖项)。
〜Tl;博士〜
如果您的应用程序被 Snap 接受/添加,即您可以键入:
...为了安装您的应用程序,它将位于“Snap 商店/软件中心”中。他们是一样的。
~详情~
要将应用程序添加到软件中心,首先它需要是一个 .deb 包。为了将其正确安装到 Ubuntu 操作系统中,它必须是 Debian 软件包。我相信这是通过几个步骤完成的,其中第一步涉及自动工具。
该标准由 GNU 监督。本指南将告诉您您需要知道的一切。
至于将 .deb 包放到“软件中心”,关键是首先要知道,对于 Ubuntu 的最后几个版本,“软件中心”只是 snap 商店的一个门面。您在此处下载的每个应用程序都很快。
因此,您需要搜索的信息是“如何快速获取我的应用程序”。这是关于这个主题的一个很好的资源。
至于您需要使用哪种语言编写它,这并不重要,至少在这种情况下是这样。大多数传统上都是用 C 编写的,但人们可能会在外面找到一个包含任何组合的包。
当然,包需要在目标环境中可运行,但包是一种容器,因此您可以在其中包含自己的环境。
如果您使用 Python 构建,为什么不直接构建到虚拟环境并打包整个该死的东西呢?这样它每次都在同一个解释器上运行。与 Java 和 JVM、C/C++ 和 GCC 等相同。
您还包括应用程序需要的任何依赖项。这不仅包括运行时依赖项,还包括安装程序等。这些通常只是 Bash 脚本,但同样,语言并不重要。
老实说,包里面的东西是标准化的(你需要某种类型的开源许可证等),但 debian 系统所关心的只是接口。Dpkg 需要知道安装时发生了什么。只要给出清晰易懂的说明,让它知道把所有东西放在哪里,结果就是一个按照用户期望运行的应用程序系统,你就有了一个有效的 .deb 包。
也就是说,如果你想要一个有效的 Snap 包,我可以保证你的限制会更严格一些。最好遵循我从一开始就链接的标准。
编辑
我最近在 Github 上发现了一些资源,它们可以自动构建和发布快照的过程。它们都是 Snapcraft 维护的 github 操作。结合这些,任何兼容的应用程序都可以变成已发布的快照。
它们位于此处(快照生成器)和此处(快照发布者)。
我认为您可以使用 qt ide 在 ubuntu 和其他基于 linux 的操作系统上轻松制作 GUI 桌面应用程序。它具有设计 linux gui 软件的强大工具,并且用户友好。