技术库我是程序员;您好程先生;叫我序员就好了Linux学习|Gentoo/Arch/FreeBSD

Thinkpad T410 与 Arch Linux的那些事

2014-12-23  本文已影响3352人  mst7

本来打算写一个archlinux的安装记录,先前在Virtualbox上测试了好长时间,真机安装的时候却发现完全不一样,显卡驱动、wifi网络都是问题,所以干脆将这个文档作为一个安装使用的记录,随时更新使用情况,方便大家参考。

1. 安装Archlinux Base系统

制作USB启动盘

必须使用USB Writer刻录Archlinux ISO文件到U盘,其他工具均不靠谱。刻录完成后U盘从大小看感觉不太正常,是因为有一个分区被隐藏了,勿要大惊小怪:

U盘大小截图
500M隐藏分区

按照Wiki安装

Archlinux Wiki Beginners' guide
Archlinux的Wiki文档写的非常不错,完全按照最新的官方文档安装应该不会有任何问题。
Archlinux的ISO做的不怎么样,这么大ISO文件(600MB+)安装过程竟然还必须联网更新数据包,相比Debian的netinst.iso才200MB。自带的安装工具还算比较齐全,比如zsh,还有好用的wifi-menu,让安装过程很是顺利。

注意几个点:

  1. Wiki里的部分安装过程不需要操作,浪费时间,比如LiveCD操作、Language配置等,这些配置都是针对临时的安装环境,重启后都失效。
  2. 分区表、引导工具以及分区工具选择
    BIOS:MBR:GRUB:fdisk
    UEFI:GPT:SYSLINUX:cgdisk
  3. 分区情况

/boot 引导分区,尽量有,隔离故障时非常有用。500M完全够用了。
/ root分区,必须有,1/3容量分配即可,大部分情况下/只是用于安装软件,保存软件本身的数据。
/home分区,必须有,2/3容量分配。除了用户自己的数据,软件本身外的数据也可以放到/home下, 不用单独/opt分区了,太麻烦。比如virtualbox等虚拟机文件就可以放到这里。
swap分区,完全没必要。现代内存几乎都比较大,不需要swap分区。随后还需要针对SSD将swap分区读写降到最小。

  1. pacman mirrorlist备份一份方便以后使用。并将.cn/的都留下,其他全删掉,包括163(都说163不稳定)。

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.installbak
cat /etc/pacman.d/mirrorlist.installbak | grep -e .cn/ > /etc/pacman.d/mirrorlist

  1. 新系统字符集建议将en_US.UTF-8和所有zh_*都够选。

2. 安装基础软件

更新软件源,安装必备软件

pacman -Syy
pacman -Syu
pacman -S vim

安装GUI

GUI环境的安装过程与虚拟化环境差别最大,因为VMWare/Virtualbox环境下,驱动都是特定的,系统安装包已经内置,比较简单,真机环境下就相对复杂很多。
不说显卡种类(Nvidia,Intel,AMD),单说Nvidia一家就有数种闭源驱动,再加上开源的nouveau驱动就更是混乱。本节尽量将Nvidia部分说明白,其他显卡请从Archlinux Wiki Xorg开始疏理。

Nvidia Linux显卡驱动介绍

主要参考URL
1. Archlinux Wiki Xorg
2. Archlinux Wiki Nvidia驱动
3. Archlinux Wiki Nouveau驱动
4. Archlinux Wiki KMS

Nvidia显卡分类

Nvidia pacman 官方闭源驱动型号选择
Nvidia pacman官方闭源驱动虽然安装简单,但前提是安装包型号选对的情况,否则将会非常混乱。
Archlinux Wiki Nvidia驱动的Installing小节针对如何选择驱动型号做了详细的介绍,再此简述一下,以原文更新为准:

  1. 确定显卡型号
    $ lspci -k | grep -A 2 -i "VGA"
  2. 查看显卡对应的code name (如NV50, NVC0等)
    根据上一条命令查询的显卡型号在code names page中找到对应的code name。
  3. 根据对应的code name选择相关驱动包
  1. 重启后Nvidia驱动生效
    重启后,console界面的字体会变得比较大,显示效果比较差,因为Nvidia驱动在X11启动后在会被使用,console界面没有调用显卡驱动,如果需要console界面要有好的显示效果,就需要配置KMS,在kernel启动后就接管显卡驱动。

显卡驱动相关文件和工具

  1. /etc/X11/xorg.conf X11配置文件
    主要参数:

可以使用nvidia-xconfig命令自动生成Xorg.conf文件,也可以手工配置。

  1. X11测试

Xorg :1&
xterm -display :1&

  1. X11日志文件
    用户日志文件:~/.local/share/xorg/Xorg.0.log
    root日志文件:/var/log/Xorg.0.log

  2. Kernel日志
    dmesg

  3. 启动DM方法

GUI安装过程###

由于各个安装包的依赖关系,冲突的可能性很大,建议严格按照如下顺序来安装,避免不必要的问题:

Xorg--->gnome/gdm(DM/DM)---->显卡驱动->dbus

因为nVIDIA的显卡驱动可能会修改X11的一些配置,如果先安装显卡驱动可能会导致某些文件不能正常写入,需要自己nvidia-xconfig生成一下,以后熟悉了可以挑战一下。

正式安装步骤:

pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils
安装xorg-server时会提示需要选择libgl版本,一共有四个选择,Thinkpad T410选择第三项(nvidia-340xx-libgl)
pacman -S gnome gnome-extra gdm
pacman -S nvidia-3400xx
安装驱动程序,Thinkpad T410安装nvidia-3400xx,其他显卡根据上边的选择步骤选择
pacman -S dbus


可选安装Nvidia开源驱动,测试比较复杂,需要结合KMS。安装闭源驱动前要完全卸载Nvidia闭源驱动。不推荐此方法。操作步骤如下:

pacman -S xf86-video-nouveau
vim /etc/mkinitcpio.conf
增加MODULES=“nouveau"
mkinitcpio -p linux

可选安装Cinnamon DM

pacman -S cinnamon

Nvidia显卡配置##

默认安装完毕后,X11是没有xorg.conf配置的,但是不影响DM的使用。
小问题:使用Fn+Home/End调整屏幕亮度时可以显示调整的图示,但是没有效果,需要生成xorg.conf文件,并增加配置:

nvidia-xconfig 生成xorg.conf配置文件
vim /etc/X11/xorg.conf 增加如下Option配置到Device部分,并对其文字

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "NoLogo" "1"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
EndSection

安装Yaourt

/etc/pacman.conf文件最后增加如下内容:
/etc/pacman.d/mirrorlist文件中增加应该也是可以的,但是我在Virtualbox下测试没有问题,Thinkpad T410下测试就报错archlinuxcn/fr database err

[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = http://repo.archlinuxcn.org/$arch
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch

pacman -Sy yaourt


如果遇到关于key的错误,可以安装如下keyring包:

pacman -S archlinux-keyring
pacman -S archlinuxcn-keyring

参考URL:
灵活使用yaourt
Error: Key could not be imported

安装字体

pacman -S ttf-bitstream-vera ttf-dejavu ttf-droid
yaourt -S ttf-ms-fonts wqy-microhei
fc-cache -vf
重启X

创建新用户

# useradd -m ray
# passwd ray

$ visudo
在root条目下增加
ray ALL=(ALL:ALL) ALL

输入法

sudo pacman -S ibus ibus-libpinyin ibus-qt

Gnome3环境

  1. 不需要.xinitrc设置,例如export QT_IM_MODULE,GTK_IM_MODULE,XMODIFIERS
  2. 不需要中启用ibus-daemon
  3. 不需要在IBus首选项中添加输入法
  4. 需要配置Gnome->Setting->Region&Language->增加Input Source,增加En和Chinese。

配置完后,Gnome右上角就会显示中英文切换图标。

Cinnamon环境
需要手工将ibus daemon加入到Startup Application Preferences的启动项中:
Name: ibus
Command: /usr/bin/ibus-daemon –drx

3. Gnome优化#

Gnome主题安装##

Gnome主题分为如下3类:

Gnome3主题存放目录:

GnomeTweak截图

pacman -S gnome-tweak-tool
主题:
pacman -S numix-themes
yaourt gtk3-zukitre-theme
图标:
yaourt ultra-flat-icons 推荐
yaourt numix-circle-icon-theme 配合docky效果好
Dock:
pacman -S docky
动态桌面显示:
pacman -S conky curl

参考URL:
教你6步定制你的Ubuntu桌面
Gnome3美化教程
reddit-unixporn
Cinnamon Theme
Ubuntu Theme
Gnome Look
Linux Mint Theme

Gnome3 auto hide top pannel extension安装##

yaourt gnome-shell-extension-hidetopbar-git
重启Gnome3,并使用gnome-tweak激活。

Gnome3 开启右上角网络连接图标##

注意大小写
systemctl enable NetworkManager.service
systemctl start NetworkManager.service

NetworkManager是Gnome自己的无线管理服务,与netctl/wpa_actiond服务冲突。两个无线管理服务同时使用会导致无线连接失败。NetworkManager搜索无线也连接不上,systemd --failed会看到netctl@wlp3s0服务failed且为static状态,对其的所有enable/disable操作均不生效,查文档应该是被其他启动项所以依赖。解决的方法就是删除netctl和wpa_actiond包,因为Gnome自身的NetworkManager有GUI,兼容性最好。

pacman -R netctl wpa_actiond

参考URL:
What makes a systemd service "static"? [SOLVED]

安装Thinkpad T410驱动

  1. 声卡驱动
    pacman -S alsa-lib alsa-utils alsa-oss alsa-lib默认安装了
  2. 触摸板驱动
    pacman -S xf86-input-synaptics
  3. 硬盘
    yaourt -S hdaps tp_smapi SSD硬盘不需要安装
    把tp_smapi和hdaps添加到modules,hdapsd添加到daemon中去。
  4. 指纹识别
    yaourt -S fingerprint-gui
  5. Wifi LED blink闪烁关闭
    参考Disabling LED blink

vim /etc/tmpfiles.d/phy0-led.conf 文件不存在,需要建立
增加如下内容:
w /sys/class/leds/phy0-led/trigger - - - - phy0radio
重起或使用如下命令立即激活:
systemd-tmpfiles --create phy0-led.conf

参考URL:
Archlinux Wiki's Hard Drive Active Protection System
在ThinkPad T420上安装Archlinux
Archlinux Wiki's Lenovo ThinkPad T410
Archlinux Wiki's Fingerprint-gui
How to install the latest Nvidia drivers on Ubuntu 14.04 Trusty Tahr
PowerTOP Will Maximize Your Linux Laptop’s Battery Life

安装32bit的应用程序lib库

修改/etc/pacman.conf文件,注释掉如下内容:

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

其他软件

pacman -S flashplugin
pacman -S ntfs-3g 读写NTFS格式的分区,archlinux默认可以读NTFS
pacman -S rhythmbox

设置Rhythmbox:
去掉Edit → Plugins → DAAP Music Sharing,否则Rhythmbox启动非常慢。
pacman -S gnome-mplayer
pacman -S gstreamer0.10-ugly-plugins gstreamer0.10-bad-plugins gstreamer0.10-ffmpeg

Deepin系列软件:
Deepin Github by @fasheng
pacman -S deepin-screenshot

VPN
pacman -S networkmanager-pptp networkmanager-vpnc networkmanager-openvpn

Pacman 优化

加速Pacman

pacman -S axel
vim /etc/axelrc
注释掉如下行:
alternate_output = 1
vim /etc/pacman.conf
增加如下行
XferCommand = /usr/bin/axel -n 5 -a -o %o %u

加速Yaourt
Yaourt下载使用的是makepkg,所以上述pacman加速方式对yaourt不生效,所以需要进行如下操作:

vim /etc/makepkg.conf
将http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u改成http::/usr/bin/axel -o %o %u

参考URL:
Improve pacman performance
Arch Linux之pacman调用axel多线程加速下载
加速yaourt----yaourt与makepkg调用其他下载工具
pacman神装一套配置方案

Pacman Mirrorlist
滚动更新有可能会将备份的本地mirrorlist文件冲掉,这时候可以使用官方的Mirrorlist Generator重新下载:

  1. X环境,访问Archlinux Mirrorlist Generator下载即可。
  2. Console环境:

wget -O /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/all/

参考URL:
Archlinux Wiki's Mirrors

技巧

截图

Gnome3自带:

  1. 全屏截图:PrintScreen 快捷键
  2. 活动窗口截图:Alt+PrintScreen 快捷键
  3. 指定区域截图:Shift+PrintScreen 快捷键

参考文章

Archlinux.org Wiki
archlinux吧
Ubuntu Wiki's X
Gentoo Wiki
Gentoo Wiki TW
在预装Win8 (UEFI)的ThinkPad上加装ArchLinux系统
Archlinux ThinkPad T410安装指南
ssd安装archlinux
在移动硬盘上安装 Arch Linux
Archlinux Wiki's Partitioning
Redhat Partitioning Scheme
[SOLVED] Intel Wireless: Can't connect faster than 54Mbit
Suddenly Slow Wireless - Intel Centrino N 6235
Tyrant's Arch Linux
Arch Linux 的靈魂:PKGBUILD、AUR 和 ABS
我在ArchLinux下使用的程序

上一篇 下一篇

猜你喜欢

热点阅读