KDE
KDE 是一个自由软件社区,其提供了一组应用程序,包括流行的 Plasma 桌面环境。
Gentoo对KDE项目的支持非常好,包括对KDE Frameworks,Plasma和Applications的全面支持,以及其他各种各样基于KDE的软件。
准备
配置
在对profile做任何更改之前,请先阅读 相关文档。
选择一个适当的Portage配置,尽管这不是必须的,但是我们仍建议这么做。因为这会设置一些全局或针对特定软件包的 USE 标记来确保你能够获得顺畅的 KDE 使用体验。
为了选择适当的Portage配置,首先需要列出有哪些可用的Portage配置:
root #
eselect profile list
... [21] default/linux/amd64/23.0 (stable) [22] default/linux/amd64/23.0/systemd (stable) [23] default/linux/amd64/23.0/desktop (stable) [24] default/linux/amd64/23.0/desktop/systemd (stable) [25] default/linux/amd64/23.0/desktop/gnome (stable) [26] default/linux/amd64/23.0/desktop/gnome/systemd (stable) [27] default/linux/amd64/23.0/desktop/plasma (stable) [28] default/linux/amd64/23.0/desktop/plasma/systemd (stable) ...
然后选择正确的Portage配置,把下面的命令中的X
替换为合适的Portage配置对应的数字:
root #
eselect profile set X
如果要使用 Plasma 桌面环境,请选择desktop/plasma
OpenRC或者desktop/plasma/systemd
systemd/zh-cn。需要注意的是,技术上可能可以实现除配置文件的其他 USE 标记组合(特别是在运行选定的应用程序而不是完整的KDE Plasma桌面环境时),但可能不受支持,未经测试,也可能导致意外的功能丢失。
与hardened预设一起使用
使用 hardened 预设的用户也可以将其与 Plasma 桌面预设的所有功能相结合。有关执行此操作的步骤,请遵循 KDE/Hardened_KDE_Plasma_profile 的步骤。
服务
在接下来的章节里,按着安装步骤,这些服务将会默认自动选上,具体的取决于之前选择的profile。但在第一次启动KDE Plasma之前,还是需要将它们设置妥当。为了不会使用默认设置,建议在安装KDE Plasma或者KDE Gear之前,通过emerge --oneshot先安装这些服务,以便Portage将它们考虑进去。点按链接获取有关如何设置这些服务的信息。
会话管理器
从下列中只选一个:
- elogind: 从systemd项目中提取的单独的logind服务包,用于OpenRC或其他初始化系统。
- systemd: 使用systemd提供的会话管理器,systemd用户不需要为此做更多的工作。
设备管理器
默认情况下,systemd-utils 在 OpenRC 系统上使用,systemd 在 systemd 系统上使用。不想更改提供商的用户应跳过此步骤。
从下列中只选一个:
杂项
- D-Bus: 使用D-Bus消息总线系统。
- PipeWire: PipeWire 用于 Wayland 上的声音以及屏幕共享和窗口预览。
- polkit: 启用polkit框架以获得控制全局服务的权限。
- udisks: 启用对一些存储相关服务的支持。
X 服务
阅读下列来自 X server 的介绍来设置 X 环境。
Wayland
对于 Plasma 6 来说,要有一个适用的系统,其中 VIDEO_CARDS
USE expand 变量需要被正确设置,内核需要启用 Mesa 的 DRMs(直接渲染管理器)。窗口管理器和 Wayland 合成器 KWin,如果不满足条件,会回退到低性能的软件渲染。
Plasma
Plasma 6 是 KDE 最新一代的桌面环境,基于 Qt 6 和 KDE Franeworks 6。
可用版本
KDE | Gentoo | Ebuild仓库 | 当前状态 |
---|---|---|---|
KDE Plasma 6.1.5 | kde-plasma/plasma-meta-6.1.5 | gentoo | Stable for amd64 and arm64; testing for ppc64, riscv and x86 |
KDE Plasma 6.2.0 | kde-plasma/plasma-meta-6.2.0 | gentoo | Testing for amd64, arm64, ppc64, riscv and x86 |
KDE Plasma 6.2 stable branch | kde-plasma/plasma-meta-6.2.49.9999 | KDE | Live version |
KDE Plasma 6 master branch | kde-plasma/plasma-meta-9999 | KDE | Live version |
在继续安装之前,请确保选择了一个 Plasma 的Portage配置。
安装
USE 标志
kde-plasma/plasma-meta 包提供完整的 Plasma 桌面,可通过丰富的 USE 标记配置:
USE flags for kde-plasma/plasma-meta Merge this to pull in all Plasma 6 packages
+browser-integration
|
Enable integration with Chrome/Firefox with browser extensions |
+crash-handler
|
Pull in kde-plasma/drkonqi for assisted upstream crash reports |
+display-manager
|
Pull in a graphical display manager |
+elogind
|
Enable session tracking via sys-auth/elogind |
+firewall
|
Pull in kde-plasma/plasma-firewall for system firewall administration |
+kwallet
|
Enable support for KWallet auto-unlocking via kde-plasma/kwallet-pam |
+networkmanager
|
Enable net-misc/networkmanager support |
+sddm
|
Pull in the x11-misc/sddm display manager and system settings module |
+smart
|
Pull in kde-plasma/plasma-disks for disk health monitoring |
+wallpapers
|
Install wallpapers for the Plasma Workspace |
+xwayland
|
Enable Wayland windows screensharing to XWayland applications via gui-apps/xwaylandvideobridge |
accessibility
|
Add support for accessibility (eg 'at-spi' library) |
bluetooth
|
Enable Bluetooth Support |
colord
|
Enable kde-plasma/kwin color management via x11-misc/colord |
crypt
|
Pull in kde-plasma/plasma-vault for encrypted vaults integration |
cups
|
Add support for CUPS (Common Unix Printing System) |
discover
|
Pull in resources management GUI; a centralised GHNS alternative and optional sys-apps/fwupd frontend |
flatpak
|
Pull in kde-plasma/flatpak-kcm for flatpak permissions administration |
grub
|
Pull in Breeze theme for sys-boot/grub |
gtk
|
Enable Breeze widget style and system settings module for GTK+ |
oxygen-theme
|
Pull in Oxygen icons, sound theme and visual style for KDE Plasma |
plymouth
|
Pull in Breeze theme for sys-boot/plymouth |
pulseaudio
|
Install Plasma applet for PulseAudio volume management |
qt5
|
Pull in required packages for seamless integration of KF5/Qt5-based applications |
rdp
|
Enables RDP/Remote Desktop support |
sdk
|
Pull in kde-plasma/plasma-sdk for Plasma development |
systemd
|
Enable use of systemd-specific libraries and features like socket activation or session tracking |
thunderbolt
|
Pull in kde-plasma/plasma-thunderbolt control center module |
unsupported
|
Allow packages that are known to ruin runtime experience ** DO NOT FILE BUGS WITH THIS ENABLED ** |
wacom
|
Pull in kde-plasma/wacomtablet control center module |
webengine
|
Use kde-apps/khelpcenter to access the locally installed KDE Help System Handbook |
Emerge
root #
emerge --ask kde-plasma/plasma-meta
你也可以选择安装 kde-plasma/plasma-desktop,它提供了一个非常基本的桌面,让用户可以自由安装他们需要的额外软件包 - 或者更确切地说,让他们自己找出并补全缺少的功能。
请注意,仅安装 kde-plasma/plasma-desktop 将排除 KDE Plasma 运行所需的重要软件包,例如 kde-plasma/powerdevil(电源管理、挂起和休眠选项)、kde-plasma/systemsettings 等等。使用此软件包时,应了解需要安装其他软件包以确保环境正常运行。使用此软件包时,不要指望获得支持。
开始使用 Plasma
显示管理器
SDDM (Simple Desktop Display Manager,简单显示管理器) 是被推荐的登录管理器并且它默认会通过 kde-plasma/plasma-meta 被自动安装。 另外你也可以选择使用 LightDM ,这需要为 kde-plasma/plasma-meta 设置 -sddm
的 USE 标记,同时还要修改 /etc/conf.d/xdm 中的设置。 同时在发生错误时请阅读 SDDM 页面。
无显示管理器
Plasma 可以用startx以老式方式启动,但需要格外小心以确保它获得有效的会话。
#!/bin/sh
exec dbus-launch --exit-with-session startplasma-x11
使用 Wayland时,Plasma 可以通过 dbus-run-session startplasma-wayland启动。
这可以添加到用户的配置文件中,该文件将在登录时执行:
#!/bin/sh
dbus-run-session startplasma-wayland
小工具
kde-plasma/kdeplasma-addons 提供了很多有用的小工具 (早就被 kde-plasma/plasma-meta作为依赖安装了):
root #
emerge --ask kde-plasma/kdeplasma-addons
KWallet
在登录桌面后添加一个(无线)网络连接或者在kde-apps/kmail中添加一个电子邮箱账户时,许多用户被推荐使用 kde-frameworks/kwallet —— Plasma桌面的加密密码存储器。
有个软件包kde-apps/kwalletmanager,可用于管理KWallets,导入及导出密码:
root #
emerge --ask kde-apps/kwalletmanager
KWallet 自动解锁
kde-plasma/kwallet-pam 提供了一种机制,可以避免在登录后即被要求访问kwallet。
root #
emerge --ask kde-plasma/kwallet-pam
需要如下的配置:
- 为了 KWallet 的安全性,请使用经典的 blowfish 加密而不是 GPG
- 为登录和 kwallet 选择相同的密码
- 配置支持 PAM 的显示管理器 - x11-misc/sddm 和 x11-misc/lightdm 都满足该要求:
-auth optional pam_kwallet5.so
-session optional pam_kwallet5.so auto_start
要在 tty 登录时解锁(没有显示管理器,或像 gui-apps/tuigreet),请相应地编辑 /etc/pam.d/login。用户需要指定 force_run 参数。
-auth optional pam_kwallet5.so
-session optional pam_kwallet5.so auto_start force_run
对于LightDM, 需要自己编辑/etc/pam.d/lightdm 。
如果包含用户 KWallet 文件的文件系统在登录时由 pam_mount 挂载,则可能需要将 ~/.local/share/kwalletd/kdewallet.salt 复制到根文件系统上的相同路径。否则,PAM 会尝试在主目录可用之前解锁 KWallet,但会失败。实际包含加密的 KWallet 密码的文件 ~/.local/share/kwalletd/kdewallet.kwl 不需要复制。
禁用 KWallet
要完全禁用KWallet子系统,请编辑以下文件:
[Wallet]
Enabled=false
SSH/GPG 密钥启动/关闭脚本
ssh-agent 脚本位于 /etc/xdg/plasma-workspace/env
和 /etc/xdg/plasma-workspace/shutdown。关闭脚本需要设置可执行位,因为它们不是源。Keychain 提供了更多信息
基于对话框的非 root 用户身份验证
某些 KDE 对话框(如打印机、添加无线网络和添加用户)需要管理员验证。这是通过 sys-auth/polkit 处理的,并且独立于 app-admin/sudo 运行。在 Gentoo 中,root 帐户是唯一的管理员,因此即使用户帐户可以通过 sudo 运行 root 命令,这些 KDE 对话框中的身份验证也会失败。
使用 net-misc/networkmanager 添加无线网络是由 polkit 规则允许的,该规则是 Gentoo 软件包的一部分,并且已经允许组 plugdev 中的每个用户访问。对于其他对话框,必须手动配置行为:如果组wheel的所有用户都需要是管理员,请创建一个以小于 50 的数字开头的 /usr/share/polkit-1/rules.d/50-default.rules 副本,并将 return ["unix-user:0"] 行编辑为以下内容:
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel"];
});
Polkit wiki 页面提供了有关规则配置的更多详细信息。
使用root权限运行 GUI 应用
使用root权限启动 GUI 应用可能是一个 非常 坏的主意。相比之下,更好的办法是将常规用户添加到相应的组或者只是无提权地运行命令。只有在绝对必要时才使用 kdesu 。
KDE Plasma有一个实用程序,用于以root权限启动图形应用。它由kde-plasma/kde-cli-tools提供 - 要使用 USE 标记kdesu
构建。这将会安装kde-frameworks/kdesu的一个图形前端。这依赖Xorg,并且仅在X[1]内有效。
root #
emerge --ask kde-plasma/kdesu-gui
可以通过从KRunner或终端仿真器调用kdesu来使用它:
user $
kdesu <program-name>
将显示一个消息对话框,提示输入root密码。
出于安全原因,某些应用(如kwrite、dolphin等)拒绝使用kdesu打开。
{{{1}}}
文件
XDG standard directories are being used for KDE Plasma and KDE applications:
- $XDG_CONFIG_HOME (defaults to $HOME/.config) - Configuration files
- $XDG_DATA_HOME (defaults to $HOME/.local/share) - Application data
移除
The first step to remove KDE Plasma and its dependencies is to unmerge kde-plasma/plasma-meta. This will not yet remove any files from the installation, so the desktop environment will keep running:
root #
emerge --ask --depclean --verbose kde-plasma/plasma-meta
In a next step it can be useful to scan /etc/portage directory for any KDE Plasma specific entries in package.mask, package.unmask and package.accept_keywords and clean them up.
Finally, run the command to uninstall any Plasma packages and their dependencies. It would make sense to quit any running Plasma session beforehand:
root #
emerge --ask --depclean
Please note that this will not just remove KDE Plasma but also any other package not registered (or being depended on) in @world. Carefully read through the list of packages to be removed before continuing. Alternatively, run this command prior to unmerging of kde-plasma/plasma-meta to get an overview of already dangling packages on the system.
应用程序(Applications)
发行服务版本包含很多基于 Qt 5/KDE Frameworks 5 的应用程序和支持库。
可用版本
KDE | Gentoo | Ebuild repository | Status |
---|---|---|---|
KDE Gear 24.05.2 | kde-apps/kde-apps-meta-24.05.2 | gentoo | Stable for amd64 and arm64; testing for x86 |
KDE Gear 24.08.1 | kde-apps/kde-apps-meta-24.08.1 | gentoo | Testing for amd64, arm64 and x86 |
KDE Gear 24.08.2 | kde-apps/kde-apps-meta-24.08.2 | gentoo | Testing for amd64, arm64 and x86 |
KDE Gear 24.08 stable branch | kde-apps/kde-apps-meta-24.08.49.9999 | KDE | Live version |
KDE Gear master branch | kde-apps/kde-apps-meta-9999 | KDE | Live version |
KDE 发行服务这个包会安装以下包:
Package name | Description |
---|---|
kde-apps/kdeaccessibility-meta | Accessibility applications and utilities. |
kde-apps/kdeadmin-meta | Administrative utilities, which help in managing the system. |
kde-apps/kdecore-meta | Basic applications such as file browser, editor, terminal emulator. |
kde-apps/kdeedu-meta | Educational applications and games. |
kde-apps/kdegames-meta | Standard desktop games. |
kde-apps/kdegraphics-meta | Graphics applications such as image viewers, color pickers, etc. |
kde-apps/kdemultimedia-meta | Audio and video playback applications and services. |
kde-apps/kdenetwork-meta | Network applications and VNC services. |
kde-apps/kdepim-meta | PIM applications such as emailer, addressbook, organizer, etc. |
kde-apps/kdesdk-meta | Various development tools. |
kde-apps/kdeutils-meta | Standard desktop utilities such as an archiver, a calculator, etc. |
安装
kde-apps/kde-apps-meta 包提供完整的发行服务集合,但是可替代地,可以挑选来自上述列表的一个或多个较小的元包:
root #
emerge --ask kde-apps/kde-apps-meta
If not all the packages are required, one or several smaller meta packages from the list above may be picked instead. Alternatively, it is possible to set USE flags to reduce the number of applications installed by kde-apps/kde-apps-meta.
本地化
Plasma-5 和应用程序的每个包都提供了本地化文件。可以在系统设置中启用本地化。
KDE PIM
KDE PIM 是一整套用于管理个人信息的应用程序,包括邮件,日历,联系人等。它有几个可选的运行时依赖来扩展其功能:
框架(Frameworks)
KDE Frameworks 5 是一套运行库和软件框架的合集,为KDE Plasma 5 和 KDE 应用提供基础,但是可能会受到一些 Qt 程序的影响。
KDE 框架大部分是运行库,只提供少量的面对用户的功能。它不需要被手动安装 —— 需要的软件包会被作为别的软件包的依赖自动安装。
可用版本
KDE | Gentoo | Ebuild repository | Status |
---|---|---|---|
KDE Frameworks 5.116.0 | kde-frameworks/*-5.116.0 | gentoo | Stable for amd64, arm64, and x86; testing for arm, loong, ppc64 and riscv |
KDE Frameworks 6.6.0 | kde-frameworks/*-6.6.0 | gentoo | Stable for amd64 and arm64; testing for ppc64, riscv and x86 |
KDE Frameworks 6 (master) branch | kde-frameworks/*-9999 | KDE | Live version |
更多KDE软件
最主要的 KDE 应用程序在 Porage 树的 kde-apps 和kde-misc 分类中。
故障排除
请参阅 故障排除 子文章。
另请参阅
- 从Plasma 4升级到5 - 有关如何从Plasma 4升级、迁移和故障排除的信息。
- KDE/Ebuild repository — provides instructions on adding Gentoo's KDE ebuild development repository to a system.
- kde-sunset ebuild仓库 - 包含已从主ebuild仓库中删除的旧KDE软件。
- Desktop environment — 提供了一个 Gentoo 中可用的桌面环境列表。