本來以為結束,誰知離正常的系統還是比較遠,不過不放棄,這期的筆記我敢肯定是最后一期了,寫了那么多我也覺得煩,被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