Pantheon
Pantheon 是 elementary OS 的桌面环境。它使用 Vala 编写,使用 GTK 3 和 Granite。
开发
elementary OS 的发布版本衍生自 Ubuntu 的 LTS 版本,通常比 Ubuntu 的周期滞后几周或几个月。但是,其组成的软件包会持续更新。请参阅官方 github 仓库 并查阅他们的 社区 slack。
安装
软件包来源
官方仓库
Pantheon 桌面环境和 elementary OS 精选的应用程序由 pantheon 组提供。
非官方仓库
extra-alucryd 包含 一些软件包,这些软件包尚未在 pantheon 组中提供。
AUR
许多与 Pantheon 相关的软件包的 PKGBUILD,例如为 elementary OS 开发的第三方应用程序和不稳定的开发软件包,都可以在 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:OS 范围的快捷键覆盖
- pantheon-terminal:终端模拟器
- pantheon-videos:视频播放器,以前称为 “Audience”(GStreamer 后端)
- simple-scan:简单扫描实用程序
启动 Pantheon
通过显示管理器
pantheon-session 为显示管理器(例如 LightDM)提供 gnome-session 条目。
使用显示管理器自动启动应用程序
- 使用 XDG Autostarts。
- 使用 systemd 单元。
通过 xinit
使用 xinitrc 通过在文件末尾追加它们来启动 Pantheon shell 组件,例如
~/.xinitrc
... io.elementary.wingpanel & plank & exec gala
使用 xinit 自动启动应用程序
- 在 X 启动时运行一次某些内容,方法是在
exec gala
行之前将其添加到 xinitrc。 - 使用 systemd 单元。
- 通过 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 窗口管理器。
- 自行实现缺少的接口。
- 为寻求的功能找到不同的软件(例如,不同的截图工具)
安装软件包时出现 “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
中删除失败的组件来解决此问题。
返回显示管理器
使用多显示器时屏幕分辨率不正确
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 不附带任何指示器;它们必须单独安装。
至少,您可能需要安装
- pantheon-applications-menu:应用程序菜单和 “运行” 对话框
- wingpanel-indicator-datetime:时钟和日历小部件
- wingpanel-indicator-session:用户和会话菜单(切换用户、注销、关机等)
第三方指示器
当 #通过显示管理器 启动时,如果第三方指示器的 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; }