Pantheon
Pantheon 是 elementary OS 的桌面环境。它使用 Vala 编写,基于 GTK 3 和 Granite。
开发
elementary OS 的发布版本基于 Ubuntu's LTS 版本,通常比 Ubuntu 的发布周期晚几周或几个月。然而,其包含的软件包会持续更新。请查看官方 github 仓库 并参考其 社区 Slack。
安装
软件包源
官方仓库
Pantheon 桌面环境和 elementary OS 的精选应用程序由 pantheon 组提供。
非官方仓库
extra-alucryd 包含了一些尚未在 pantheon 组中提供的 软件包。
AUR
许多与 Pantheon 相关的软件包(如为 elementary OS 开发的第三方应用程序和不稳定的开发软件包)的 PKGBUILD 可在 AUR 中找到。
桌面环境
对于最小化的 Pantheon Shell,请安装 pantheon-session,它会拉取多个依赖项和核心组件。
- gala: 窗口和合成管理器
- wingpanel: 顶部面板,包含应用程序启动器、时钟和指示器
- pantheon-applications-menu: 应用程序启动器,以前称为“Slingshot”
- plank: macOS 风格的 Dock
服务
这些可选软件包为 Pantheon 和 elementary OS 应用程序提供(后台)服务。
- pantheon-geoclue2-agent: Geoclue2 认证代理
- pantheon-polkit-agent: Polkit 认证代理
- pantheon-print: 打印设置对话框
- pantheon-settings-daemon: 辅助设置守护进程
主题与配置
这些可选软件包有助于提升桌面的外观和感觉。
- lightdm-pantheon-greeter: LightDM 登录界面
- pantheon-default-settings: 默认外观、行为和配置。
- elementary-icon-theme: elementary 起源的矢量图标主题
- elementary-wallpapers: elementary OS 壁纸集
- gtk-theme-elementary: elementary OS 样式表
- ttf-droid: Google Android 的通用字体
- ttf-opensans: Google 的无衬线字体
- ttf-roboto: Google 的标志性字体系列
- sound-theme-elementary: 一组系统声音
- switchboard: 类似 gnome-control-center 的可插拔设置管理器
应用程序
这些是构成 elementary OS 可选软件套件的原始、修补和精选软件包。
- capnet-assist: 轻松登录公共 WiFi 网络
- epiphany: 网页浏览器
- pantheon-calculator: 计算器
- pantheon-camera: 摄像头应用,以前称为“Snap”
- pantheon-code: 文本编辑器,以前称为“Scratch”
- pantheon-files: 文件管理器,从 Marlin 开发而来
- pantheon-music: 音频播放器,以前称为“Noise”
- pantheon-photos: 照片管理器,从 Shotwell 开发而来
- pantheon-screencastAUR: 简单的屏幕录制器,从 Eidete 分叉而来
- pantheon-screenshot: 截图工具
- pantheon-shortcut-overlay: 全局快捷方式覆盖
- pantheon-terminal: 终端模拟器
- pantheon-videos: 视频播放器,以前称为“Audience”(GStreamer 后端)
- simple-scan: 简单扫描工具
启动 Pantheon
通过显示管理器
pantheon-session 为诸如 LightDM 等显示管理器提供了 gnome-session 条目。
使用显示管理器自启动应用程序
- 使用 XDG Autostarts。
- 使用 systemd units。
通过 xinit
使用 xinitrc 来启动 Pantheon Shell 组件,方法是将它们追加到文件末尾,例如:
~/.xinitrc
... io.elementary.wingpanel & plank & exec gala
使用 xinit 自启动应用程序
- 在 X 启动时只运行一次某项内容,方法是在
exec gala行之前将其添加到 xinitrc 中。 - 使用 systemd units。
- 通过 dapperAUR、dex-gitAUR 或 fbautostartAUR 使用 XDG Autostarts。
配置与解决方法
通过 switchboard 及其插件来配置 Pantheon,这些插件必须单独安装。
Pantheon 组件(Plank 除外)将其配置存储在 org.pantheon 或 io.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
在这种情况下,您有几个选择:
- 降级到该 dbus 请求实现之前的软件版本。
- 使用 gala 窗口管理器。
- 自行实现缺失的接口。
- 寻找提供您所需功能的其他软件(例如,不同的截图工具)。
安装软件包时出现“无此键”
pantheon-default-settings 期望的几个 dconf 键缺失,因为它针对的是旧版本的 gnome-settings-daemon。这本身不是一个问题,但如果这些消息让您感到烦扰,可以注释掉或删除 /usr/share/glib-2.0/schemas/25_pantheon-default-settings.gschema.override 中指定的键。
桌面
登录时崩溃
“哎呀!发生错误。”
Pantheon 会话文件中的某个 RequiredComponents 可能正在失败。
可以通过从 /usr/share/gnome-session/sessions/pantheon.session 中删除失败的组件来解决此问题。
返回显示管理器
请参阅 GNOME/Troubleshooting#gnome-shell / 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。
Terminal
不透明度
将 dconf 键 io.elementary.terminal.settings.background 设置为您想要的背景颜色和不透明度(使用 RGBA 值),例如默认值:rgba(46, 46, 46, 0.95)。
Wingpanel
指示器
Wingpanel 本身不带任何指示器;需要单独安装。
至少,您可能需要安装:
- pantheon-applications-menu: 应用程序菜单和“运行”对话框
- wingpanel-indicator-datetime: 时钟和日历小部件
- wingpanel-indicator-session: 用户和会话菜单(切换用户、注销、关机等)
第三方指示器
当 #通过显示管理器 启动时,如果第三方指示器的 XDG Autostarts 包含 OnlyShowIn=,请在其后追加 Pantheon;。
会话指示器菜单无响应
- “锁定”菜单项需要由
org.gnome.ScreenSaverdbus 服务提供的“锁定”dbus 方法。 - “关机...”和“注销...”菜单项请求的对话框需要 gala 窗口管理器来显示。如果您打算使用任何其他窗口管理器,则需要一个替代方案,例如 wingpanel-indicator-session-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;
}