本来以为结束,谁知离正常的系统还是比较远,不过不放弃,这期的笔记我敢肯定是最后一期了,写了那么多我也觉得烦,被gentoo折磨烦了。
安装KDE桌面
选择正确的配置文件
先获取root权限来安装桌面环境:
先eselect profile list来看看配置正,如果选不对的话KDE桌面环境是无法正常安装的。
建议选择适当的概要文件(尽管不是必需的),因为它设置了许多全局和特定于包的使用标志,以简化安装并确保KDE的流畅体验。
为了选择最合适的配置文件,首先列出可用的:
对于KDE Plasma 5桌面环境,请选择带有OpenRC的desktop/ Plasma或带有systemd的desktop/ Plasma /systemd:
我的第19项就是带有Plasma的那项。(不知道的话可以回头看我的第二期笔记,里面有截图)
首先先测试网络,没网络一切空谈:
看,有网络了,如果没有网络的该怎么办呢?下面为我的解决方法:(网络正常的请忽略)
我是这样解决的,由于gentoo默认是使用DHCP的,所以第三期的笔记教程中的DHCP客户端是一定要装的。
如果你在第三期笔记的网络信息中的配置网络环节中,即是编辑/etc/conf.d/net时没有添加config_(网络接口名,如我的是eno16777736)=“dhcp”或没有这样编辑的,重启到新的gentoo系统,是没法进行联网的。(不记得网络接口名的请使用ifconfig命令查看)
这时我们可以这样解决,你可以在新的gentoo系统中修改/etc/conf.d/net,如果不行的话请运行Live CD,重新恢复安装步骤并进入新环境,再编辑/etc/conf.d/net,编辑完后可以按重启系统的步骤重启系统,编辑/etc/conf.d/net的具体操作在本期笔记中,自己认真阅读吧!解决方法到此为止。
启动相应的服务(这个建议配置,但如果能够不需要开启这些也能正常使用KDE,请忽略)
在安装KDE相关软件之前,建议先设置其他几个服务;如果使用了桌面/等离子或桌面配置文件,其中一部分将自动安装,但仍然需要正确设置,这些服务包括:
1.D-Bus:启用D-Bus消息总线系统。
2.polkit:启用polkit框架来控制系统范围服务的特权。
3.udisk:支持某些与存储相关的服务。
首先先编辑/etc/portage/make.conf:
添加完成后请按Ctrl+X,按Y并按回车键即可完成保存和退出。(建议在这里也把USE=“consolekit”添加上去,因为下面会用到。)
然后更新下系统以便使更改生效:(时间很长,耐心等待)
配置步骤完成后,启动D-Bus:
要在引导时启动D-Bus,将其添加为默认运行级别:(可选配置)
提示:即使不将D-Bus添加到默认运行级别,它通常也会由依赖D-Bus的服务启动,这应该可以解释为什么D-Bus会神秘地启动,尽管它还没有正式添加到系统运行级别。
(Tips:D-Bus的用法:https://wiki.gentoo.org/wiki/D-Bus)
然后配置polkit,具体操作如下:(polkit(以前是PolicyKit)是一种授权API,用于向非特权程序提供服务的特权程序(例如系统守护进程)。)
注:Polkit使用D-Bus和ConsoleKit,所以首先设置它们。另外,确保在内核中设置CONFIG_FUTEX=y。如果不选择此选项,polkitd进程可能生成高CPU。
所以先在内核设置CONFIG_FUTEX=y,先看下面设置:
然后在里面看看找到CONFIG_FUTEX=y这个选项:
这么多,如何找?请按Ctrl+W查找,然后输入上面的选项,即可找到CONFIG_FUTEX=y。
所以一般genkernel自动配置内核都会配置这个选项的,手动配置就不知道了,如何手动配置没有的话,请在Live CD下找到该文件编译,然后再重新编译一次,最后再把该文件加载到引导中去,否则导致高CPU容易造成卡顿,甚至系统崩溃!!!
至于ConsoleKit,下面将会说到,现在开始配置:(如果不明白为什么配置请看https://wiki.gentoo.org/wiki/Polkit)
请按Ctrl+X,按Y并按回车键即可完成保存和退出。
请按Ctrl+X,按Y并按回车键即可完成保存和退出。(polkit的用法:https://wiki.gentoo.org/wiki/Polkit)
udisk是一个提供存储相关服务的D-Bus守护进程,接下来就是配置udisk:
先决条件:udisk使用D-Bus和polkit,所以先设置它们,上面已经设置好了,udisk使用polkit来处理权限,接下来就是配置了。
由于udisk无法配置,这应该是手动配置内核时没有勾选相关选项,如果你的内核手动配置时有挑选以下的选项的话,请参考:https://wiki.gentoo.org/wiki/Udisks 继续配置。
设备管理器
一、在其中选择一个:
eudev: Gentoo的udev分支,目标是获得更好的兼容性。它是桌面/等离子配置文件的默认值。
udev:支持udev Linux动态和持久设备命名。
systemd:使用systemd的设备管理器部分。systemd的用户不需要在这里采取任何其他主动。
eudev
先安装eudev,为了避免在world设置中注册,应该使用oneshot选项:
当安装完毕后进行配置:(RC的名字是udev,而不是eudev。它需要在sysinit运行级别中注册。)
提示:从syfs /udev-init-scripts版本29开始,udev-trigger也应该添加到sysinit运行级别。
如果系统使用multilib,例如,有abi_x86_64(32)使用标志对旧的udev包是活动的,那么不要忘记更改它:(当然如果是32的,请把64改为32即可。)
按Ctrl+X,按Y并重命名为:eth0(传统经典命名),然后退出并保存。
为了保持经典的命名,可以在/etc/udev/rules.中使用相同命名的空文件覆盖此规则d目录:
使用新的“可预测的”命名,新的网络接口命名约定不一样,因此需要重新链接接口。使用/etc/init.d/net.lo作为需要添加的任何接口名称的链接目标。请确保将下面命令中的替换为系统中出现的以太网(本人使用的是NET)接口名称。通过运行ifconfig命令可以发现存在哪些接口:
为/etc/init中的现有接口创建符号链接:(使用刚刚命名的eth0)
将脚本添加到默认运行级别,使接口自动启动:
(剩下的两个要理解的话请点击上方的udev,syetemd即可阅读相关文章)
注:如果启动系统时出现错误标志,请把eth0设置为你原本的网络接口名称,例如我的:eno16777736。
会话跟踪
在以下其中任选一个:
1.ConsoleKit:用于定义和跟踪用户、登录会话和座位的框架。它是桌面/等离子配置文件的默认值。
2.elogind: 从systemd项目中提取的独立logind包,用于OpenRC或其他init系统。
3.systemd:使用系统的会话跟踪部分,systemd的用户不需要在这里采取任何其他主动。
ConsoleKit
介绍:ConsoleKit是一个定义和跟踪用户、登录会话和座位的框架,ConsoleKit的主要功能是支持多用户设置。它也适用于单个用户,但与现有方法相比没有任何好处。
ConsoleKit是一个D-Bus守护进程,为每个PAM会话创建自己的会话,快速用户切换是一个由ConsoleKit提供支持的特性。当切换时,设备文件权限被更改为新的活动用户,旧会话中的应用程序被通知,因此它们可以基于ConsoleKit信息撤销授予。
ConsoleKit支持关闭/重新启动处理,这样只有本地的活跃用户可以关闭或重新启动系统。
先决条件:本文D-Bus已经预先配置好。
安装ConsoleKit,首先Kernel内核要开启以下选项:
Required options for ConsoleKit General setup ---> [*] Auditing support [*] Enable system-call auditing support
由于我使用的是genkernel自动配置编译内核,所以并不知道是否配置到,所以先进行以下的测试:
按Ctrl+X,按Y并按回车键即可完成保存和退出。
如果使用变量设置为consolekit,则需要更新系统:(又要等比较长的时间)
startx集成:要在使用startx启动X服务器(而不是显示管理器)时创建一个ConsoleKit会话,请向每个用户添加以下内容~/。xinitrc文件:
~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session <WINDOW_MANAGER>
开启Consolekit:
/etc/init.d/consolekit start
启动控制台工具包:
rc-update add consolekit boot
用法:ck-list-sessions:显示所有当前会话的细节。对于本地用户,active和is-local应该为真。(我的没有配置完成,应该是内核编译时没有选中上方的相关选项)
注:对于Wayland的支持,需要一个logind实现。Gentoo提供了elogind作为systemd的替代方案。
按照链接了解如何设置这些服务。注意,在这个概要文件中设置的其他使用标志组合在技术上是可能的(特别是如果选择的应用程序是运行而不是一个完整的KDE等离子桌面环境),但可能不受支持,未经测试,或导致意外的功能损失。
设置X环境:(建议设置)
配置内核
介绍:X.Org server, X的一部分。Org release是X Window system的主要组件,它提供了硬件上的服务,并为大多数图形用户界面(如桌面环境或窗口管理器)及其应用程序提供了基础。(更多请详细查看:https://wiki.gentoo.org/wiki/Xorg/Guide)
安装xorg-server要比安装整个xorg包轻得多,并且具有拥有完整功能GUI(例如plasma)所需的所有组件,接下来就是安装了:
(在安装Xorg之前,需要为它准备好系统。首先,我们将设置内核来支持输入设备和显卡。然后我们编辑/etc/portage/makeconf以便构建和安装正确的驱动程序和Xorg包。)
以下的为内核配置,请使用make meunconfig或genkernel --meunconfig all(当然如果使用genkernel all的选这个)来手动配置内核:
接下来配置内核,为显卡使用正确的KMS驱动程序,英特尔、英伟达和AMD/ATI是最常见的显卡,所以请按照下面的代码列出每一张显卡:
Enabling evdev in the kernel Device Drivers ---> Input device support ---> <*> Event interface
注:KMS与遗留framebuffer驱动程序冲突,后者必须在内核配置中禁用。
Disable legacy framebuffer support and enable basic console FB support Device Drivers ---> Graphics support ---> Frame Buffer Devices ---> <*> Support for frame buffer devices ---> ## (Disable all drivers, including VGA, Intel, nVidia, and ATI, except EFI-based Framebuffer Support, only if you are using UEFI) ## (Further down, enable basic console support. KMS uses this.) Console display driver support ---> <*> Framebuffer Console Support
有关Intel显卡,请参阅Intel文章的内核部分。
英伟达显卡:
nVidia settings Device Drivers ---> Graphics support ---> <M/*> Nouveau (nVidia) cards
对于较新的AMD/ATI卡(RadeonHD 2000及以上版本),出现系统内核/linux-固件(包括radeon和amdgpu;单独的包x11驱动程序/radeon-ucode已经不存在了)。一旦安装了这些包中的一个,将Radeon驱动程序作为内核中的一个模块,或者(可选地)配置内核,如Radeon文章的固件部分详细介绍,或者,对于较新的AMD显卡(GCN1.1+),在AMDGPU文章的固件部分:
AMD/ATI Radeon settings ## (Setup the kernel to use the radeon-ucode firmware) Device Drivers ---> Generic Driver Options ---> [*] Include in-kernel firmware blobs in kernel binary ## # ATI card specific, (see Radeon page for details which firmware files to include) (radeon/<CARD-MODEL>.bin ...) ## # Specify the root directory (/lib/firmware/) External firmware blobs to build into the kernel binary ## (Enable Radeon KMS support) Device Drivers ---> Graphics support ---> <M/*> ATI Radeon [*] Enable modesetting on radeon by default [ ] Enable userspace modesetting on radeon (DEPRECATED)
AMDGPU settings ## (Setup the kernel to use the amdgpu firmware) Device Drivers ---> Generic Driver Options ---> [*] Include in-kernel firmware blobs in kernel binary ## # AMD card specific, (see AMDGPU page for details which firmware files to include) (amdgpu/<CARD-MODEL>.bin ...) ## # Specify the root directory (/lib/firmware/) External firmware blobs to build into the kernel binary ## (Enable Radeon KMS support) Device Drivers ---> Graphics support ---> <M/*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> <M/*> AMD GPU [ /*] Enable amdgpu support for SI parts [ /*] Enable amdgpu support for CIK parts [*] Enable AMD powerplay component ACP (Audio CoProcessor) Configuration ---> [*] Enable AMD Audio CoProcessor IP support (CONFIG_DRM_AMD_ACP) Display Engine Configuration ---> [*] AMD DC - Enable new display engine [ /*] DC support for Polaris and older ASICs [ /*] AMD FBC - Enable Frame Buffer Compression [ /*] DCN 1.0 Raven family <M/*> HSA kernel driver for AMD GPU devices
注1:旧的Radeon card (X1900系列和更老)不需要额外的固件或任何固件配置。对于它们,只需启用直接呈现管理器(DRM)和ATI Radeon modesetting。
注2:Linux内核>= 3.9在默认情况下不具有radeon上的Enable modesetting,因为它在默认情况下是隐含的。如果发现新内核中缺少此选项,请不要惊慌。
注3:Linux内核>= 4.15确实包含显示核心(DC),这是AMDGPU工作所必需的。这个更新的驱动程序是为GCN5.0 Vega和DCN1.0 Raven Ridge (APU)编写的,但是也为旧的Radeon显卡增加了额外的功能,从GCN1.1出现和更新版本开始。它计划将这个对旧的Radeon卡的额外支持作为标准,所以如果您发现这个选项在新的内核中丢失了,不要惊慌。
退出内核配置,重新构建内核并重新引导。(重新引导和构建内核请看:https://wiki.gentoo.org/wiki/Kernel/Rebuild)
现在已经建立了KMS,继续下一步:
现在内核已经准备好了,/etc/portage/make.conf中有两个重要的变量在安装Xorg之前,必须配置conf文件:
第一个变量是VIDEO_CARDS(配置请点击这里)。这是用来设置你打算使用的视频驱动程序,通常是基于你拥有的视频卡。第二个变量是INPUT_DEVICES(配置请点击这里),用于确定要为输入设备构建哪些驱动程序,要检查当前激活的内容,运行:
portageq envvar INPUT_DEVICES
如果需要其他输入设备,比如笔记本电脑的Synaptics touchpad,请确保将它们添加到/etc/portage/make.conf的INPUT_DEVICES中配置文件:
Sample make.conf entries ## (For mouse, keyboard, and Synaptics touchpad support) INPUT_DEVICES="libinput synaptics" ## (For nVidia cards) VIDEO_CARDS="nouveau" ## (For AMD/ATI cards) VIDEO_CARDS="radeon"
安装X(如果你嫌上面设置太过恐怖,请直接从此处开始,当然最好是设置完上面的配置)
如果建议的设置不起作用,请安装x11-base/xorg-drivers包(参见下面的步骤)。检查所有可用的选项并选择适用于系统的选项,这个例子是一个有键盘、鼠标、Synaptics触摸板和Radeon显卡的系统。(当然我用于虚拟机并不太在意这个要求)
下载安装时间短,设置所有必要的变量后,可以安装Xorg:
注:可以安装x11-base/xorg-x11包,而不是安装更轻量的x11-base/xorg-server。在功能上,x11-base/xorg-x11和x11-base/xorg-server是相同的,但是x11-base/xorg-x11带来了许多大多数系统可能不需要的更多包。附加包包括许多语言中的大量字体分类。对于工作的X11框架来说,它们不是必需的。(这个随自己选择)
emerge --ask x11-base/xorg-x11
当然我选择x11-base/xorg-server,安装时间较短:
安装完毕后,需要重新初始化一些环境变量,然后才能继续。使用以下命令源配置文件:
对于英伟达的用户,可以运行nvida -xconfig来生成一个可以工作的xorg可能是有益的。选定显卡的conf文件。没有这个步骤,xorg.conf文件需要手动创建,如下所述。错过了xorg,当尝试startx时,conf有时会在终端上产生“未找到屏幕”错误。另外,NVidia驱动程序只能在重新引导后才能工作,所以在运行nvida -xconfig之后一定要重新启动系统:
nvidia-xconfig
将OpenGL渲染器设置为硬件渲染器而不是软件渲染器是可行的,建议这样做:
eselect opengl set nvidia
注:尝试在不编辑任何配置文件的情况下使用startx。如果Xorg无法启动,或者存在其他问题,则需要手动配置Xorg。如果对内核进行了更改,不要忘记在使用startx之前重新启动系统,以便使用新构建的内核。如果内核在进程中更新到一个新版本,那么很可能需要同时更新引导装载程序的配置文件。
注:在xorg.conf.d中配置文件应该被视为最后的选择。如果可能的话,不需要任何特殊配置就可以运行Xorg。(Xorg的大多数配置文件都存储在/etc/ x11 / xorg.conf.d /中。)
Start X
尝试startx启动X服务器。startx是一个执行X会话的脚本(由x11-apps/xinit安装);也就是说,它启动X服务器和一些图形应用程序。它决定使用以下逻辑运行哪些应用程序:
如果主目录中存在一个名为.xinitrc的文件,它将执行这里列出的命令。
否则,它将从/etc/env中读取XSESSION变量在/etc/90xsession.d文件并相应执行相关会话。XSESSION的值可以在/etc/ x11 / sessions/中找到。要设置系统范围内的默认会话运行:
这将创建90xsession文件,并将默认的X会话设置为Xfce。记住在对90xsession进行更改后运行env-update。
注:如果没有安装窗口管理器,则会出现一个纯黑屏。因为这也可能是错误的标志,所以只能安装x11-wm/twm和x11-terms/xterm包来测试X。
由上图可知出现了错误,我们安装下x11-wm/twm和x11-terms/xterm进行测试:
装完后startx测试下。
额,看起来怪怪的。
会话(要开始的程序)也可以作为startx的参数:
startx /usr/bin/startfluxbox
您还可以通过在X11服务器选项前面加双破折号:
startx -- vt7
现在startX已经可以进入了,但是感觉怪怪的,下面我们要调整下X的设置。
调整X设置
设置屏幕分辨率:
编辑/etc/X11/xorg.conf.d/40-monitor.conf:
Section "Device" Identifier "RadeonHD 4550" Option "Monitor-DVI-0" "DVI screen" EndSection Section "Monitor" Identifier "DVI screen" Option "PreferredMode" "1440x900" EndSection
运行X (startx)以发现它使用了所需的分辨率。
多个显示器:可以在/etc/ x11 / xorg.con.d /中建立多个监视器。给每个监视器一个唯一的标识符,然后列出它的物理位置,例如“RightOf”或“Above”另一个监视器。下面的示例演示如何配置DVI和VGA监视器,将VGA监视器作为右侧屏幕:
编辑:/etc/X11/xorg.conf.d/40-monitor.conf
Section "Device" Identifier "RadeonHD 4550" Option "Monitor-DVI-0" "DVI screen" Option "Monitor-VGA-0" "VGA screen" EndSection Section "Monitor" Identifier "DVI screen" EndSection Section "Monitor" Identifier "VGA screen" Option "RightOf" "DVI screen" EndSection
配置键盘(要设置X以使用国际键盘):
编辑/etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass" Identifier "keyboard-all" Driver "evdev" Option "XkbLayout" "us,cz" Option "XkbModel" "logitech_g15" Option "XkbRules" "xorg" Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp" Option "XkbVariant" ",qwerty" MatchIsKeyboard "on" EndSection
最终安装X已完成,可以成功通过startX来工作了,如果不想配置内核,请从文章中的“安装X”开始安装xorg,之后的设置X自己参考即可,接下来是支持X服务。
配置X
Portage知道X USE标志用于在其他包中支持X(在所有桌面配置文件中默认)。确保将此使用标志添加到使用标志列表中,以确保X兼容系统范围:
按Ctrl+X,按Y并按回车键即可完成保存和退出。
如果acl USE标志是全局启用的,并且正在使用ConsoleKit(默认为桌面配置文件)的视频卡权限,将自动处理。可以使用getfacl检查权限:
getfacl /dev/dri/card0 | grep lida
user:lida:rw-
更广泛的解决方案是将需要访问视频卡的用户添加到视频组:
显示管理器(必须配置,建议完成所有的安装步骤再来设置这里,别忘了这里)
(有时称为登录管理器)向用户显示图形登录屏幕,以启动X服务器会话:
在大多数情况下,OpenRC init系统(Gentoo的默认init系统)将用于启动显示管理器。XDM init脚本处理显示管理器的启动。需要配置conf.d文件来设置系统的默认显示管理器。
下面的示例将SDDM设置为默认的显示管理器。根据需要调整其他显示管理器:
编辑 /etc/conf.d/xdm,将SDDM设置为默认的显示管理器:
按Ctrl+X,按Y并按回车键即可完成保存和退出。
DISPLAYMANAGER="sddm"
要在启动时启动SDDM,请将XDM init脚本添加到系统的默认运行级别:(建议你配置完后面的安装步骤再来设置这里吧!)
rc-update add xdm default
要立即启动SDDM,请运行:
rc-service xdm start
systemd用户的请看这里:https://wiki.gentoo.org/wiki/Display_manager。
安装KDE(关键时刻)
为了防止配置文件失效,再次配置一下,先eselect profile list查看配置文件,我的是19项,选择:eselect profile set 19。
kde-plasma/ Plasma -meta包提供完整的Plasma 5套件,开始安装:
目前KDE最新版本为5.12.5,然后我激动的心情同时也很崩溃😫,224个阶段,起码都要5个小时以上吧!!!
唉,耐心等待吧!!!我这人就是有耐心,先出去玩,等回来时看看可不可以了。
回来后果然安装完了,果然是5个小时左右,太能折腾了!但是装完了还不算完,还有配置一下才行!!!
另外,kde-plasma/plasma-desktop提供基本的桌面,让用户只免费安装他们需要的额外包:
emerge --ask kde-plasma/plasma-desktop
注:请注意,如果使用此替代安装,这些安装将会丢失一些重要的包,例如kde-plasma/powerdevil(电源管理、挂起和hibernate选项)和kde-plasma/systemsettings。
所以我就不装了,一个完整的KDE包已经足够了。
配置KDE(最后时刻)
默认情况下,kde-plasma/systemsettings的经典视图没有启用。下面的USE标志将启用它:
按Ctrl+X,按Y并按回车键即可完成保存和退出。
重新编译系统设置与使用新的标志:
kde-plasma/kdeplasma-addons包中有许多有用的小部件(已经被kde-plasma/plasma-meta引入):
emerge --ask kde-plasma/kdeplasma-addons
如果之前已经安装了kde-plasma/plasma-meta,则不需要这些了,已经包含在meta包里面了。
SDDM(简单的桌面显示管理器)是推荐的登录管理器,默认情况下通过kde-plasma/plasma-meta自动拉入,这是首选选项。
当然,或者,可以使用LightDM,并通过为kde-plasma/plasma-meta设置USE flag -sddm来拉入。
没有显示管理器的,使用startx可以以老式的方式启动,但需要特别小心,以确保它得到一个有效的会话。以下解决方案仅限于ConsoleKit:
~/.xinitrc #!/bin/sh exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startkde
Plasma 5对systray图标使用了StatusNotifier规范。由于并不是所有的应用程序都移植到新系统中,一些变通方法已经存在了,而Plasma 5有一种方法可以将旧的基于x嵌入式的系统托盘图标转换为StatusNotifier图标,这些功能支持是通过激活kde-plasma/plasma-meta的遗留的systray和gui专用USE标志来启用的:
Pidgin:net-im/pidgin需要 x11-plugins/pidgin-indicator,安装后,Ubuntu指示器插件可以在工具|插件下找到:
emerge --ask x11-plugins/pidgin-indicator
许多用户将被引入kde-frameworks/kwallet(plasma加密密码存储系统),同时在登录后添加(无线)网络连接或在kde-apps/kmail中添加电子邮件帐户。kwallet管理、输入及导出密码,有kde-apps/kwalletmanager:
安装完后,kde-plasma/kwallet-pam提供了一种机制,以避免在登录后被要求访问kwallet:
安装完后,它需要以下设置:
1.对于KWallet安全,使用传统的 blowfish加密,而非GPG。
2.选择相同的密码登录和kwallet。
3.配置一个支持PAM的显示管理器——x11-misc/sddm和x11-misc/lightdm都满足这个要求:
那就先安装下x11-misc/sddm:(我倾向于sddm显示管理器)
emerge --ask x11-misc/lightdm
安装完后,KWallet PAM通过SDDM解锁的配置,先编辑/etc/pam.d/sddm:
直接Ctrl+X退出即可,当然切勿造成任何修改!!!如果是LightDM,/etc/pam.d/lightdm需要进行编辑。
注:如果在登录时pam_mount挂载了包含用户KWallet文件的文件系统,那么可能需要复制~/.local/share/kwalletd/kdewallet。对根文件系统上的相同路径复制。否则,PAM试图在主目录可用并失败之前解锁KWallet文件~/.local/share/kwalletd/kdewallet,实际上包含加密的KWallet密码的kwl不需要复制。
禁用KWallet,要完全禁用KWallet子系统,请编辑以下文件:
~/.config/kwalletrc [Wallet] Enabled=false
SSH/GPG代理启动/关闭脚本:ssh-agent脚本位于/etc/plasma/startup和/etc/plasma/shutdown中,更多关于这部分请点击这里。
使用root权限运行GUI应用程序:
警告:使用root权限启动GUI应用程序可能是一个非常糟糕的主意,而不是将普通用户添加到相关组中,或者只是不带权限地运行命令,只有在绝对必要时才使用kdesu。
KDE plasma有一个实用程序,以便启动具有root权限的图形程序。它是由kde-plasma/kde- clic工具提供的——如果与使用标志kdesu一起构建,将安装一个图形前端到kde-frameworks/kdesu,可以通过调用kdesu来使用,这可以从KRunner或终端模拟器:
(以下安装,如果kdesu命令可用,请忽略,无需下载安装)
kdesu <program-name>
<program-name>表示程序名称,通过kdesu来打开程序。
将显示一个提示输入root密码的消息对话框。(以上的安装我担心kdesu命令无法运行,所以才安装的,可忽略)
注:出于安全原因,kwrite、dolphin等一些应用程序拒绝使用kdesu打开。
应用程序
安装/更新包注意事项
更新过程中遇到某个包更新不过去,可以用以下几个办法救命。
perl-cleaner all
python-updater
env-update 更新系统变量
etc-update 更新配置文件,-3表示接受所有修改。
偷偷说一句,安装软件,更新系统遇到问题,都可以试试上面的几个命令,包治百病!
上面两个命令是更新perl和python的配置的,如果还是无法跳过某个程序的安装,有可能是上游的原因,此时可以暂时告诉系统,这个程序你已安装,请编辑
nano -w /etc/portage/profile/package.provided
比如输入我编译不过去的这个软件:
dev-perl/Try-Ting-0.110.0
此时,再执行更新系统命令,会跳过这个包的编译更新,如果还有别的包编译不过去,以此类推。待系统正常后,可以注释掉package.provided里面的软件,尝试再次更新系统。
有些包,系统必备的,不安装会有很多包编译不过去,但是这个包专机却又安装不上去,这时候可以尝试将make.conf中的MAKEOPTS参数改为”-j1“,使用单线程编译。比如有次遇到dev-libs/boost编译不过去,只能改为-j1才能过。
----------------------------------------------------------------------------------------------------------------
发行版由基于Qt 5/KDE框架5的各种应用程序和支持库组成,KDE应用程序分为以下包:
包名称描述:
kde-apps/kdeaccessibility-meta可访问性应用程序和实用程序。
kde-apps/kdeadmin-meta管理实用程序,帮助管理系统。
kde-apps/kdecore-meta基础应用程序,如文件浏览器、编辑器、终端模拟器等。
kde-apps/kdeedu-meta教育应用和游戏。
kde-apps/kdegames-meta标准桌面游戏。
kde-apps/kdegraphics-元图形应用程序,如图像查看器、颜色选择器等。
kde-apps/kdemultimedia-meta音频和视频回放应用和服务。
kde-apps/kdenetwork-meta网络应用和VNC服务。
kde-apps/kdepim-meta pim应用程序,如电子邮件,地址簿,组织者等。
kde-apps/kdesdk-meta各种开发工具。
kde-apps/kdeutils-meta标准桌面实用程序,如归档程序、计算器等。
通过emerge --ask来安装以上的包,按需下载安装。
当然,如果你想一次性安装完整的应用程序(我就选这个),kde-apps/kde-apps-meta包提供了完整的应用程序包,但是也可以选择上面列表中的一个或几个更小的meta包:
额,252个软件,真多,看来又要等几个小时了,如果想省时间的可以进行散装。
好了,安装好了,你猜用了多少时间?差不多一天多的时间,时间真的是非常漫长,所以建议按需安装,当然你不想选择的也可以选一次性的。
除了按照上面的完整软件包,还有需要安装以下包:
安装Chrome浏览器:emerge -av google-chrome:
本地化(可能导致乱码,谨慎操作)
Plasma-5和应用程序正在为每个包提供本地化。在系统设置中启用本地化。
在国际环境或特定国家或地区处理GNU/Linux系统时,本地化(缩写为l10n)和国际化(缩写为i18n)都起着重要的作用。它允许管理员和用户在平台上选择语言、时区选择、字符排序等等。在Gentoo Linux中,从内核支持到最终用户应用程序支持,都支持本地化。
在GNU / Linux本地化:本地化在GNU/Linux系统的许多层中都扮演着重要的角色。
Linux内核:在Linux内核中,本地化是通过母语支持设置启用的,如UTF-8文章所示。
核心系统:在核心系统级别(C库和附属工具),大多数本地化都是通过语言环境系统和控制台键盘布局来处理的,Gentoo本地化指南文章对这些布局做了很好的描述。
图形环境:对于图形环境,Xorg尊重语言环境设置,但是它有自己的方法来选择X服务器的键盘布局。顶部的桌面环境,如KDE和GNOME,可能需要执行额外的步骤,以便正确地启用本地化和国际化设置。
区域设置的环境变量:
下表给出了控制地区设置的不同方面的变量。它们都使用上面给出的ab_CD格式的地区名称。
变量名的解释:
lang同时定义所有地区设置,同时允许通过下面的LC_*设置进行进一步的个人定制。
lc_collate定义字符串的字母顺序。这影响了排序目录列表的输出。
lc_ctype为系统定义字符处理属性。这将确定哪些字符被视为字母、数字等等。如果适用的话,这也决定了使用的字符集。
lc_messages程序的本地化存储在/usr/share/locale/中,用于使用基于消息的本地化方案的应用程序(大多数GNU程序)。
lc_monetary定义货币单位和货币类型数值的格式。
lc_numeric定义非货币数值的格式。影响诸如千位分隔符和十进制分隔符等内容。
lc_time定义日期和时间的格式。
lc_paper定义了默认的纸张大小。
lc_all覆盖所有其他设置。
注:强烈反对使用LC_ALL,因为它会自动覆盖所有其他LC_*变量(LANG不受影响)。这意味着其他方法所做的更改将被隐藏,直到LC_ALL被设置为空字符串为止。最好不要在启动文件中设置它。
通常情况下,用户只在全局范围内设置LANG变量。
如何在/etc/locale中指定额外的区域,将区域设置添加到/etc/local .gen:(这里是China,当然使用中文)
按Ctrl+X,按Y并按回车键即可完成保存和退出。
之前在第二期设置地区时输入zh_CN.GBK时,导致locale-gen时无法应用zh_CN.UTF-8,现在把GBK那项改成ISO-8859-1即可应用了。
设置一个语言环境,使用OpenRC时,区域设置存储在环境变量中,系统范围的设置(/etc/env.d/02locale)可以通过eselect locale进行管理。例如,将LANG变量设置为CN:
当然,手动编辑文件也可以使语言环境变量多样化。一旦设置了正确的区域设置,一定要更新环境变量,使系统知道更改。对于系统范围内的默认语言环境:
在此之后,按Ctrl+Alt+Backspace关闭X服务器,注销,然后以用户身份登录。现在,验证这些更改已经生效:
关于systemd:使用systemd,使用localectl命令设置语言环境。通过以下方式检查可用区域列表:
localectl list-locales
然后设置所需的区域设置:
localectl set-locale LANG=zh_CN.utf8
最后检查结果是否良好:
localectl | grep "System Locale" System Locale: LANG=zh_CN.utf8
控制台的键盘布局:通过编辑/etc/conf.d/keymaps来修改
keymap="cn",之前在第三期笔记已经设置过了,所以无需设置了。
关于systemd:使用systemd,可以使用localectl命令设置用于控制台的keymap布局。首先检查可用的keymap布局:
localectl list-keymaps
然后设置所请求的控制台keymap布局:
localectl set-keymap it
最后检查控制台keymap布局是否设置正确:
localectl | grep "VC Keymap" VC Keymap: it
X服务器的键盘布局:添加/etc/init.d/keymaps到引导运行级别:
重新启动keymaps以进行应用更改:
如果需要终端显示非ascii字符,则必须编辑/etc/conf。d/consolefont和更改字体:
/etc/conf.d/consolefont consolefont="cyr-sun16"
重启consolefont:
rc-service consolefont restart
并添加到引导运行级别:
rc-update add consolefont boot
自定义keymap:请参考:https://wiki.gentoo.org/wiki/Keyboard_layout_switching#X11。
systemd:systemd使用/etc/vconsole.包括终端字体和键盘布局设置,但缺少在OpenRC中找到的高级设置。有效值应该与OpenRC支持的相应变量匹配。
/etc/vconsole.conf KEYMAP=pl2 FONT=LatArCyrHeb-16
lxpanel的键盘布局处理程序:lxde-base/lxpanel提供了一个键盘布局处理程序作为面板选项。
示例图片如下:
关于systemd:使用systemd,可以使用localectl命令设置X11服务器的keymap布局。首先检查可用的X11keymap布局:
localectl list-x11-keymap-layouts
然后设置所需的X11keymap布局:
localectl | grep "X11 Layout" X11 Layout: it
本地语言支持:要使基于消息的本地化在支持它并让nls使用标志的程序中工作,请使用这个标志集编译程序。
在启用nls使用标志后,一些包可能需要重新出现:
一个名为L10N的USE_EXPAND变量决定将安装哪些额外的本地化支持。这通常用于按包下载其他语言包。与LINGUAS类似,这个变量使用分隔符分隔的语言标记列表,可以在/etc/portage/make.conf中设置:(下面以de为例)
nano -w /etc/portage/make.conf ## (Add in the L10N variable. For instance, for German and Brazilian Portuguese:) L10N="de pt-BR"
要按包设置它,请编辑/etc/portage/ package.use。使用“l10n_”作为请求语言包的前缀,如下例所示:
/etc/portage/package.use
app-text/aspell l10n_de l10n_pt-BR
可以使用的L10N值的列表被提供为/usr/portage/profiles/desc/l10n.desc:
grep -i portuguese /usr/portage/profiles/desc/l10n.desc pt - Portuguese pt-BR - Portuguese (Brazil) pt-PT - Portuguese (Portugal)
在设置L10N USE_EXPAND变量之后,可能需要重新更新一下:
emerge --ask --changed-use --deep --with-bdeps=y @world
详细关于本地化语言区域设置请参考:https://wiki.gentoo.org/wiki/Localization/Guide#Keyboard_layout_for_the_console
KDE PIM
KDE PIM是一套用于管理个人信息的应用程序,包括邮件、日历、联系人等。它有几个可选的运行时依赖来扩展它的功能:
病毒检测:app-antivirus / clamav
垃圾邮件过滤: mail-filter/bogofilter或mail-filter/spamassassin(二选一也行)
emerge --ask mail-filter/bogofilter
emerge --ask mail-filter/spamassassin
KDE framework 5是为KDE Plasma 5和KDE应用程序提供基础的库和软件框架的集合,但是任何Qt应用程序都可以使用它。
由于框架主要是库,并提供很少的用户功能,所以不需要手动安装它们——所需的包将作为依赖项自动拉入。
kde gentoo ebuild存储库状态:
KDE框架5.46.0 :KDE-frameworks/*-5.46.0 gentoo稳定的amd64和x86, arm测试
KDE框架5.49.0: KDE-frameworks/*-5.49.0 gentoo测试amd64、arm和x86
KDE框架主分支:KDE-frameworks/*-9999 KDE live版本
关于更多KDE软件请到https://packages.gentoo.org/categories/kde-apps 和 https://packages.gentoo.org/categories/kde-misc 。
最后KDE已经安装完毕,下面将会正式启动KDE。
启动KDE
启动KDE有两种方法:(当然不只两种,这里只列两种基本的。)
StartX和Startkde
先输入login登录日常用户或者root用户(当然不建议在root用户下启动KDE):
然后在X服务器中启动KDE:
这样就成功启动KDE,但是弊端就是不能关闭窗口,这个问题暂时没解决。(而且还会比较卡,估计X没设置好吧)
第二种就是把sddm默认设置为显示管理器进行启动KDE。(若未配置请在本文上方进行配置)
然后每次重启都会进入sddm,这比startX更好,本人推荐使用这种方法:
输入日常用户密码,不是root密码:
在区域设定设置语言,但是会出现乱码,中文包本作者安装不了,不知道是怎么回事?这些问题就留以后解决吧!!!(上面显示语言为繁体中文,简体中文更多乱码)
结尾
本文源于https://wiki.gentoo.org/wiki/KDE,接下来的gnome桌面等等将会在我的公众号发布。
终于把gentoo弄好了,不过还有一些没有装的,比如输入法,最重要的是语言字体出现乱码,建议上网百度下,会有中文输入法和中文字体相关下载的,本次配置语言是按照手册的步骤来设置的。(当然你可以更新下portage,以便能够下载到kde-l10n语言包。)
本期笔记的安装步骤很长,其实也有许多的步骤是不需要的,也无需设置的,只根据自己的需求设置就行了,其实网上也有更加简便的方法,当然本文仅供参考,作者亲测还有不足之处就是语言没设置好,必备软件没有安装完整,当然我也给出相关的KDE软件地址,感兴趣的可以去下载!!!
本文仅测试KDE,至于gnome桌面暂不测试,本文将会同步到作者公众号qq596044192,感兴趣的可以关注一下:
2018-09-08