美文网首页
根据Gentoo handbook安装——KDE桌面+NVIDI

根据Gentoo handbook安装——KDE桌面+NVIDI

作者: 南方老F | 来源:发表于2018-09-24 02:19 被阅读0次

    在上一篇中根据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引导

    相关文章

      网友评论

          本文标题:根据Gentoo handbook安装——KDE桌面+NVIDI

          本文链接:https://www.haomeiwen.com/subject/vktqoftx.html