根据Gentoo handbook安装——KDE桌面+NVIDIA显卡

在上一篇中根据Gentoo handbook安装——gentoo基本系统+UEFI引导,已经装好了gentoo基本系统,这一篇开始安装KDE桌面,同时安装NVIDIA的显卡驱动。

  • 切换语言
    因为在命令行下,中文有可能会乱码,所以先临时切换回英文方便安装软件:
export LANG=en_US.UTF-8
  • 配置网络
    根据上一篇中的内容,如果是台式机那么此时已经可以联网了则跳过此步骤,如果是笔记本则需要配置无线网络
    步骤如下:
    创建 WIFI配置文件 /etc/wpa_supplicant/wpa_supplicant.conf 内容如下
# The below line not be changed otherwise wpa_supplicant refuses to work
ctrl_interface=/var/run/wpa_supplicant
  
# Ensure that only root can read the WPA configuration
ctrl_interface_group=0
  
# Let wpa_supplicant take care of scanning and AP selection
ap_scan=1
  
# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
  ssid="这里填写WIFI名称"
  psk="这里填写WIFI密码"
  # The higher the priority the sooner we are matched
  priority=5
}

解锁WIFI并启用WIFI
注意:wlp0s20f3为本机wifi端口,具体名称以自己的笔记本为主,查看 ls /sys/class/net

rfkill unblock all
ip link set dev wlp0s20f3 up

连接 WIFI 并自动分配 IP

wpa_supplicant -B -i wlp0s20f3 -c /etc/wpa_supplicant/wpa_supplicant.conf
dhcpcd wlp0s20f3 

检测网络连接

ping www.baidu.com
  • 安装编辑软件
    开始之前先装一个vim,方便后续修改配置(当然用nano也是一样的,看个人喜好):
emerge app-editors/vim
  • 创一个普通用户:
    登录kde(sddm)时不能用root帐号
useradd -m -G users,wheel,audio,lp,cdrom,portage,cron -s /bin/bash skillf
passwd skillf #设置用户密码

1. 选择桌面配置文件

eselect profile list

KDE配置

选择kde的配置文件,即后面带有plasma的:

eselect profile set 19

2. 启用相关服务

如果使用桌面等 配置文件,则会自动安装其中一部分,但仍需要正确设置。这些服务基本信息是:

  • D-Bus:允许使用D-Bus消息总线系统。

  • polkit:启用polkit框架以控制系统范围服务的权限。

  • udisks:支持某些与存储相关的服务。

  • eudev:Gentoo的udev分支,旨在获得更好的兼容性。它是桌面/等离子配置文件的默认设置。

  • ConsoleKit:用于定义和跟踪用户,登录会话和席位的框架。它是桌面/等离子配置文件的默认设置。

至于怎么启用上述服务,请接着往下看!

2.1 修改 USE flags
vim /etc/portage/make.conf
#打开make.conf文件之后,找到 USE 变量,
#如果没有USE,则在最后一行添加USE,并添加以下标志
USE="dbus policykit udisks  eudev consolekit"

顺便确认一下编译时用的cpu核心数,根据个人电脑修改:CPU核心数+1
我这里是: MAKEOPTS="-j9"
如果文件/etc/portage/make.conf 中不存在该变量,则需要手动输入。

2.2 确保内核开启了对udisks的支持
  • 查看并修改内核的方法:
cd /usr/src/linux
make menuconfig

执行完上述命令后,此时将出现一个kernel图形界面,按照下面的格式进行启用内核服务:

# KERNEL udisks2
General setup  --->
    [*] Support for paging of anonymous memory (swap)
Device Drivers  --->
    < > ATA/ATAPI/MFM/RLL support (DEPRECATED)  --->
File Systems -->
    Native Language Support -->
        <*> NLS UTF8
    Pseudo filesystems  --->
        -*- Tmpfs virtual memory file system support (former shm fs)
        [*]   Tmpfs POSIX Access Control Lists
  • 修改完成并退出之后,需要重新编译内核:
    make -j9 加快编译速度,9为CPU核心数+1
make -j9 && make modules_install
  • 内核完成编译后,将内核映像复制到 /boot/。这由make install命令自动处理:
make install
  • 重新引导一下:
    注意: 在此之前需要确保引导分区挂载成功,上一篇文章中,引导分区挂载在 /boot/efi 目录,执行 mount 命令查看 /boot/efi 是否被挂载,如果不存在挂载,则需要重新挂载引导分区。

确保引导分区已成功挂载之后,重新配置引导:

grub-mkconfig -o /boot/efi/grub/grub.cfg
确认挂载引导分区

一切都确认好了之后,开始更新系统以使更改生效,这需要点时间:

time emerge --ask --quiet --changed-use --deep @world
2.3 设置相关服务默认启动

至此相关系统服务已安装完,接下来需要设置默认启动:

rc-update add dbus default
rc-update add udev default
rc-update add consolekit default

3. 安装X server

添加USE flags

vim /etc/portage/make.conf
#在USE最后面添加一个 X
USE="X"
# 鼠标键盘触摸板标志
INPUT_DEVICES="libinput"  # 笔记本用户需添加:synaptics 
#NVIDIA显卡:将安装正确版本的驱动 x11-drivers/nvidia-drivers
VIDEO_CARDS="nvidia"

检查kernel:

  • 输入驱动支持
    需要通过更改内核配置来激活对事件接口(CONFIG_INPUT_EVDEV)的支持。如果您不知道如何设置内核,请阅读“ 内核配置指南”
    进入内核界面:cd /usr/src/linux -> make menuconfig
#Enabling evdev in the kernel
Device Drivers --->
  Input device support --->
  <*>  Event interface
  • 内核模式设置
    现代开源视频驱动程序依赖于内核模式设置(KMS)。KMS提供了改进的图形启动,闪烁更少,用户切换速度更快,内置帧缓冲控制台,从控制台到Xorg的无缝切换以及其他功能。

注意:KMS与传统帧缓冲驱动程序冲突,必须在内核配置中保持禁用状态。
首先为KMS准备内核。无论使用哪个Xorg视频驱动程序,此步骤均为:

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

接下来,配置内核以使用适当的视频卡KMS驱动程序。英特尔,nVidia和AMD / ATI是最常用的卡,因此请按照以下每张卡的代码列表进行操作。

对于Intel卡,请参阅Intel文章内核部分

对于nVidia卡:
这里用的闭源驱动nvidia
进入内核界面:cd /usr/src/linux -> make menuconfig

[*] Enable loadable module support ---> #开启可加载模块支持
Processor type and features ---> #开启 MTRR 支持
    [*] MTRR (Memory Type Range Register) support
Device Drivers --->
   Graphics support ---> 
    -*- /dev/agpgart (AGP Support) ---> #启用agpgart支持
      < > Nouveau (nVidia) cards #确保禁用nouveau驱动程序:
      Frame buffer Devices ---> #禁用对内核驱动程序的支持
            <*> Support for frame buffer devices --->
            < >   nVidia Framebuffer Support
            < >   nVidia Riva support
  • 修改之后的内核需要重新编译!
    退出配置并开始编译过程:
    make -j9 加快编译速度,9为CPU核心数+1
make -j9 && make modules_install
  • 内核完成编译后,将内核映像复制到 /boot/。这由make install命令自动处理:
make install
  • 重新引导一下:
grub-mkconfig -o /boot/efi/grub/grub.cfg

一切就绪,开始安装 X server

time emerge --ask --quiet x11-base/xorg-server

安装完成后,需要重新初始化一些环境变量才能继续。使用此命令获取配置文件:

env-update
source /etc/profile
  • NVidia用户:
    NVidia驱动程序仅在重新启动后才能工作,因此请确保在运行nvidia-xconfig后重新启动系统:
nvidia-xconfig
  • 可以并且建议将OpenGL渲染器设置为硬件渲染器而不是软件渲染器:
eselect opengl set nvidia
  • 将需要访问视频卡的用户skillf(开始前创建的用户)添加到视频组:
gpasswd -a skillf video
  • 为防止nouveau 与 nvidia冲突,需要将nouveau禁止加载,将nouveau模块列入黑名单:
vim /etc/modprobe.d/nouveau-blacklist.conf
#在文件中加入以下语句即可
blacklist nouveau

4. 安装kde

这将安全全部plasma套件,会需要相当长的时间,可以休息一下,或者放到睡觉前操作~

time emerge --ask --quiet kde-plasma/plasma-meta

5. 配置桌面显示管理器SDDM

sddm已经包含在plasma套件里面了,但需要指定一下:

vim /etc/conf.d/xdm
DISPLAYMANAGER="sddm"

修改完之后,需要设置开机默认开启sddm,否则会直接进入命令行ttys,然后需要手动打开登录界面,才能进入KDE。
这并不是我们想要的,此时需要自动打开:

rc-update add xdm default

6.KDE工具包

KDE-应用/ KDE的应用程式的元包提供了完整的应用程序包:

如果对于KDE比较了解,则可以装一些常用的工具即可,这里了为方便,使用懒人法全套安装啦~
温馨提示:
如果手头上没事做的话,这里建议不要使用 --quiet选项,或者放在睡前执行,否则会让你的觉得卡半天都没有动静,事实上它在疯狂编译中!

time emerge --ask --quiet kde-apps/kde-apps-meta

7. 安装字体

默认的字体会导致中文乱码,此时应该装支持中文的字体即可解决:

emerge --ask media-fonts/wqy-zenhei wqy-bitmapfont wqy-microhei wqy-unibit

获取安装所有字体的配置文件列表:

eselect fontconfig list

选择刚才安装的带有wqy的字体左边的序号(以自己电脑为准)启用它们:

eselect fontconfig enable 23 24 43
字体

8. 安装 fcitx 输入法

emerge --ask app-i18n/fcitx kcm-fcitx
#前者是软件,后者是桌面配置工具,不安装配置工具,则在桌面环境下不能使用输入法图形化设置。

配置输入法,在用户目录下添加.xprofile文件,并添加以下内容:

vim /home/skillf/.xprofile
eval "$(dbus-launch --sh-syntax --exit-with-session)"
export XMODIFIERS="@im=fcitx" 
export QT_IM_MODULE="fcitx" 
export GTK_IM_MODULE="fcitx"

9. 重启之后的一些设置与检查

完成之后重启,即可进入KDE啦!

reboot

重启后,输入开头新创建的用户密码登录系统,打开konsole终端并安装一个sudo,方便以后获取管理员权限:
su进入root用户(管理员用户)
exit退出root用户

su
  • 安装 sudo
emerge --ask sudo
  • 配置sudo
    sudo的配置文件是 /etc/sudoers,但是该文件规定必须在root下使用visudo命令编辑:
visudo

这里会打开/etc/sudoers文件,找到下面这行
# %wheel ALL=(ALL) ALL
去掉开头的#保存文件退出即可!
意思是:允许wheel用户组中的用户执行所有命令(我们开头新建的用户skillf是属于wheel组的),但是需要输入密码。

当然也可以设置不需要输入密码:# %wheel ALL=(ALL) NOPASSWD: ALL,只是为了安全起见不建议使
用!
具体更多的配置内容可以去看:/etc/sudoers

设置完之后就退出root用户:

exit
  • 显示系统信息:
    需要安装screenfetch
sudo emerge --ask screenfetch
screenfetch

sudo提示的密码是指当前用户的密码,例如我在skillf用户下运行的sudo,那么密码就是skillf用户的密码,输入并回车即可。在输入密码之后,短时间内不需要再次输入密码,可直接运行sudo。

配置图

  • 显卡测试
    检查OpenGL渲染器设置为硬件渲染器是否成功:
    需要安装 x11-apps/mesa-progs
sudo emerge --ask x11-apps/mesa-progs
glxinfo | grep rendering

提示:direct rendering: Yes 表明启动正常
显卡FPS测试 glxgears

sudo glxgears
显卡测试

最后来一张KDE桌面图~

KDE桌面

至此,gentoo的KDE桌面+nvidia显卡已安装完成!

温馨提示:如果出现 kde 登录界面输入密码之后重新回到登录界面,此时不要慌,可以按快捷键 Ctrl+Alt+F1 进入tty1 命令行界面

在tty1下会提示登录,直接用 root 用户登录,之后先查看一下 sddm 的登录历史:

vim /var/log/sddm.log

或者直接用 grep查看带(EE)的行即可明白哪里出现了错误。

cat /var/log/sddm.log |grep "(EE)"

错误提示例如:

...
[03:36:24.762] (EE) HELPER: chdir( /home/skillf ) failed for user: "skillf"
[03:36:24.762] (EE) HELPER: verify directory exist and has sufficient permissions
...

这里提示的是切换skillf用户的家目录时出现了问题,
那么我们可以直接去到家目录的上一级目录并查看情况

cd /home
ls -al 

此时可能出现的情况:

1、skillf的家目录不存在,自然切换失败

查看家用户的名字:cat /etc/passwd |grep "skillf",找到 /home 后面的目录既是家目录,
例如 :/home/skillf

"# 此时可以切换到skilf用户,并创建家目录,这样的好处是,创建的目录拥有者就是skillf用户
su skillf
mkdir ./skillf

2、家目录的权限不是skillf用户,所以没有权限进去家目录

因此可以直接更改家目录的拥有者

"# skillf:skillf 拥有者和群体的使用者均设为 skillf,最后的 skillf 是家目录
chown skillf:skillf skillf

最后切换回root用户重启即可

su root
reboot

重启完成之后,输入密码,此时即可进入熟悉的kde桌面啦~

遇事不慌,多去 /var/log目录下,查看各种问题的历史慢慢分析~

谢谢阅读~

上一篇:根据Gentoo handbook安装——gentoo基本系统+UEFI引导

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270