Pantheon

来自 ArchWiki

Pantheonelementary OS 的桌面环境。它使用 Vala 编写,使用 GTK 3Granite

开发

elementary OS 的发布版本衍生自 Ubuntu 的 LTS 版本,通常比 Ubuntu 的周期滞后几周或几个月。但是,其组成的软件包会持续更新。请参阅官方 github 仓库 并查阅他们的 社区 slack

安装

软件包来源

官方仓库

Pantheon 桌面环境和 elementary OS 精选的应用程序由 pantheon 组提供。

非官方仓库

extra-alucryd 包含 一些软件包,这些软件包尚未在 pantheon 组中提供。

AUR

许多与 Pantheon 相关的软件包的 PKGBUILD,例如为 elementary OS 开发的第三方应用程序和不稳定的开发软件包,都可以在 AUR 中找到。

警告: 请勿随意安装 AUR 软件包。

桌面环境

对于最小化的 Pantheon shell,请安装 pantheon-session,它会拉取多个依赖项和核心组件

服务

这些可选软件包为 Pantheon 和 elementary OS 应用程序提供(后台)服务

主题和配置

这些可选软件包有助于桌面的外观和感觉

注意: 包含要单独安装的主题软件包和字体的设置

应用程序

以下是一些构成可选 elementary OS 软件套件的原始、修补和选定的软件包

启动 Pantheon

通过显示管理器

pantheon-session 为显示管理器(例如 LightDM)提供 gnome-session 条目。

使用显示管理器自动启动应用程序

通过 xinit

使用 xinitrc 通过在文件末尾追加它们来启动 Pantheon shell 组件,例如

~/.xinitrc
...
io.elementary.wingpanel &
plank &
exec gala

使用 xinit 自动启动应用程序

配置和解决方法

通过 switchboard 及其插件配置 Pantheon,这些插件必须单独安装。

Pantheon 组件(plank 除外)将其配置存储在 org.pantheonio.elementary dconf 键中。

通用

缺少 D-Bus 服务

Pantheon 组件和 elementary OS 软件越来越多地将某些功能委托给 gala 窗口管理器,为过渡到 Wayland 做准备。如果您将 Pantheon 组件或 elementary OS 软件与另一个窗口管理器一起使用,您可能会看到如下错误

** (io.elementary.screenshot:10150): ERROR **: 15:17:28.099: ScreenshotBackend.vala:37: Couldn't get dbus proxy: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell.Screenshot was not provided by any .service files

在这种情况下,您有以下几个选项

  1. 降级到实现此 dbus 请求之前的软件版本。
  2. 使用 gala 窗口管理器。
  3. 自行实现缺少的接口。
  4. 为寻求的功能找到不同的软件(例如,不同的截图工具)

安装软件包时出现 “No such key”

由于 pantheon-default-settings 是为旧版本的 gnome-settings-daemon 编写的,因此它期望的几个 dconf 键缺失。这不是问题,但如果这些消息令人烦恼,请注释掉或从 /usr/share/glib-2.0/schemas/25_pantheon-default-settings.gschema.override 中删除指定的键。

桌面

登录时崩溃

“糟糕!出错了。”

Pantheon 会话文件中的 RequiredComponents 之一可能失败。

可以通过从 /usr/share/gnome-session/sessions/pantheon.session 中删除失败的组件来解决此问题。

提示: 最常见的情况是罪魁祸首是一个或多个 gnome-settings-daemon 服务。
返回显示管理器

请参阅 gnome-session 在会话启动时崩溃

提示: 大多数情况下,只需稍等片刻再登录就足以清除先前会话遗留的任何阻塞。

使用多显示器时屏幕分辨率不正确

lightdm-pantheon-greeter 尝试从 monitors.xml 而不是 Xorg 配置设置显示器,这 似乎无法可靠地工作

另一种选择是使用另一个欢迎程序,例如 lightdm-gtk-greeter

触摸板手势

安装 touchegg。但是,此软件包附带一些可能与 pantheon 的手势冲突的手势。您可以将 /usr/share/touchegg/touchegg.conf 复制到 ~/.local/share/touchegg/ 并删除这些手势设置。有关更多说明,请参阅 Touchegg

更改壁纸和文本缩放

安装 switchboard-plug-desktop 并在 switchboard 中配置。

文件

Plank

请参阅 Plank

启动时未启动

由于 cerbere 已停用,pantheon-session 希望 plank 使用 此 xdg autostart 来启动并请求 gnome-session 的内置管理来维护它。

注意: 应注释掉 X-GNOME-Autostart-Phase=Panel 以避免启动时停顿。

安装 pantheon-dock-gitAUR,或创建 /etc/xdg/autostart/plank.desktop

终端

不透明度

将 dconf 键 io.elementary.terminal.settings.background 设置为您想要的背景颜色和不透明度,使用 RGBA 值,即默认值:rgba(46, 46, 46, 0.95)

Wingpanel

指示器

Wingpanel 不附带任何指示器;它们必须单独安装。

至少,您可能需要安装

第三方指示器

#通过显示管理器 启动时,如果第三方指示器的 XDG Autostarts 包含 OnlyShowIn=,请将 Pantheon; 追加到其中。

会话指示器菜单无响应
  • 锁定 菜单项需要 org.gnome.ScreenSaver dbus 服务提供的 Lock dbus 方法。
  • 关机...注销.. 菜单项请求需要 gala 窗口管理器出现的对话框。如果您打算使用任何其他窗口管理器,则需要替代方案——例如 wingpanel-indicator-session-standalone-gitAUR

动态透明度

gala 窗口管理器为 Wingpanel 提供动态透明度。

使用 gtk-theme-elementary,当最大化的窗口占据屏幕时,它会变得不透明,否则会与壁纸融合;使用其他 GTK 主题可能会产生静态不透明的面板。

要在另一个主题中实现此行为,请将以下代码添加到其 css 或覆盖文件 ~/.config/gtk-3.0/gtk.css

/*********************
 * wingpanel support *
 ********************/

.panel {
    background-color: transparent;
    transition: all 1s ease-in-out;
}

.panel.maximized {
    background-color: #000;
}