一种Linux桌面环境上的应用程序是否与另一种桌面环境兼容?

一种Linux桌面环境上的应用程序是否与另一种桌面环境兼容?

一种 Linux 桌面环境上的应用程序是否与另一种桌面环境兼容?我的发行版是 Arch,并且使用 Plasma 5 DE。当我安装并运行据说是为另一个 DE(例如 Gnome 或 pantheon)构建的应用程序时,应用程序可以运行,但 GUI 似乎有点混乱。例如,panteon 邮件应用程序缺少顶部系统菜单(允许您拖动、关闭或最小化窗口),并且 Nylas N1 邮件应用程序的顶部系统菜单显示X11而不是正常的 KDE 样式菜单。

据我所知,现在许多带有 GUI 的应用程序都是基于 GTK+、Qt 或 Electron 的。但对我来说,它们似乎都兼容 X11,并且这些应用程序没有理由不能在另一个基于 X11 的 DE 上正常运行。

答案1

关于你问题的第二部分;这种想法中的一个错误是,所有这些不同的 GUI 库在 X11 上运行都是无关紧要的。问题是您的 Plasma DE 主要使用 Qt 环境,而许多其他环境(例如 Gnome)则使用某些版本的 GTK。

因此,只要安装了必要的库,基于与主 DE 不同的库构建的应用程序通常就会运行,但应用程序可能不会按预期显示,并且可能会表现出意外的行为。无论您是否认为这是“兼容”,这都是您的决定。

答案2

据我了解,X服务器处理环境的绘制,但不制定规则如何绘制窗口或桌面环境。告诉 X 服务器如何绘制窗口的逻辑将驻留在桌面环境的编程中(或者在它调用的库中,例如 libqt*)。因此,如果特定的桌面环境无法正确解释如何设置窗口(即,它是为不同的 DE 设计的,或者使用非 DE 原生的小部件 - 例如 KDE 上的 GTK+),则它可能不会给出X 服务器关于如何绘制窗口的正确指示。

KDE 的底层小部件集是 Qt,基于 Gnome 的 DE 的底层小部件集是 GTK+:因此并非所有为一种 DE 构建的程序都可以在另一种 DE 上按预期运行。

如果您使用的是 KDE,较新版本将有办法更改 KDE 处理 GTK 应用程序的方式(系统设置 -> 应用程序样式 -> Gnome 应用程序样式 (GTK)): KDE 应用程序风格 -> GTK

相关内容