在linux上发布应用程序时,如何使其与大多数窗口管理器兼容?

在linux上发布应用程序时,如何使其与大多数窗口管理器兼容?,linux,qt,gnome,kde,window-managers,Linux,Qt,Gnome,Kde,Window Managers,当我说窗口管理器时,我指的是KDE、Gnome、lxde、xfce等等 除了Qt,我从来没有构建过窗口应用程序,但我猜不是所有的应用程序都使用Qt,有些使用wx,但是当ubuntu的repos有一个应用程序时,它会发布给所有的窗口管理器 这些应用程序如何与所有窗口管理器兼容?是由应用程序开发人员将其应用程序与所有窗口管理器连接起来,还是使用Xorg或其他工具制作窗口应用程序有共同点?Qt或wx解决了这些问题吗?我想我记得看到一些只为gnome或KDE发布的应用程序,但我不确定 我一直在想这个问题

当我说窗口管理器时,我指的是KDE、Gnome、lxde、xfce等等

除了Qt,我从来没有构建过窗口应用程序,但我猜不是所有的应用程序都使用Qt,有些使用wx,但是当ubuntu的repos有一个应用程序时,它会发布给所有的窗口管理器

这些应用程序如何与所有窗口管理器兼容?是由应用程序开发人员将其应用程序与所有窗口管理器连接起来,还是使用Xorg或其他工具制作窗口应用程序有共同点?Qt或wx解决了这些问题吗?我想我记得看到一些只为gnome或KDE发布的应用程序,但我不确定

我一直在想这个问题,这让我想知道linux应用程序领域的碎片化…

以前有标准,但现在你至少应该瞄准其他标准(包括)

当然,像GTK3或Qt5这样的最新工具包应该会有所帮助,因为它们支持很多工具

(而且细节很复杂,所以从头开始是不现实的)

过去有标准,但现在至少应该有目标和其他标准(包括)

当然,像GTK3或Qt5这样的最新工具包应该会有所帮助,因为它们支持很多工具


(而且细节很复杂,所以从头开始是不现实的)

AFAIK Qt应用程序将在提供Qt库的任何地方运行。它与Linux发行版有关,而与窗口管理器无关

另一个问题是菜单和系统托盘的集成或桌面消息的东西。这在不同的窗口管理器中是不同的


请参见

AFAIK,Qt应用程序将在提供Qt库的任何地方运行。它与Linux发行版有关,而与窗口管理器无关

另一个问题是菜单和系统托盘的集成或桌面消息的东西。这在不同的窗口管理器中是不同的


请参见

您的应用程序是根据GUI库而不是特定的窗口管理器链接的。对于X11,此类库的公共基础是Xlib


如果应用程序仅适用于某些特定的窗口管理器,原因是它还链接到该窗口管理器的特定功能(例如KWallet或gnome keyring)。如果您从分发软件存储库安装该应用程序,则会自动安装这些附加库。

您的应用程序链接到GUI库,而不是特定的窗口管理器。对于X11,此类库的公共基础是Xlib


如果应用程序仅适用于某些特定的窗口管理器,原因是它还链接到该窗口管理器的特定功能(例如KWallet或gnome keyring)。如果您从分发软件存储库安装该应用程序,则会自动安装这些附加库。

因此,当您制作窗口应用程序时,它从不与任何KDE或gnome代码交互?它确实使用上述标准与Qt或Gtk代码交互。因此,为了做到这一点,您包含了一些实际的标准头。我不明白您为什么要问。要使用Gtk或Qt,您将包含它们的标题。或者说,Gtk和Qt只是尊重这些标准。因此,当您制作一个窗口应用程序时,它从不与任何KDE或gnome代码交互?它确实使用上述标准与Qt或Gtk代码交互。因此,为了做到这一点,您包含了实际的标准标题。我不明白您为什么这样问。要使用Gtk或Qt,您将包括它们的标题。或者说,Gtk和Qt只是尊重这些标准。为什么要问?你是用Qt还是用GTK编码?否则,怎么做?为什么不?你为什么问?你是用Qt还是用GTK编码?否则,如何以及为什么不?