Thinkpad T410 與 Arch Linux的那些事

本來(lái)打算寫(xiě)一個(gè)archlinux的安裝記錄,先前在Virtualbox上測(cè)試了好長(zhǎng)時(shí)間,真機(jī)安裝的時(shí)候卻發(fā)現(xiàn)完全不一樣,顯卡驅(qū)動(dòng)、wifi網(wǎng)絡(luò)都是問(wèn)題,所以干脆將這個(gè)文檔作為一個(gè)安裝使用的記錄,隨時(shí)更新使用情況,方便大家參考。

1. 安裝Archlinux Base系統(tǒng)

制作USB啟動(dòng)盤(pán)

必須使用USB Writer刻錄Archlinux ISO文件到U盤(pán),其他工具均不靠譜。刻錄完成后U盤(pán)從大小看感覺(jué)不太正常,是因?yàn)橛幸粋€(gè)分區(qū)被隱藏了,勿要大驚小怪:

U盤(pán)大小截圖

500M隱藏分區(qū)

按照Wiki安裝

Archlinux Wiki Beginners' guide
Archlinux的Wiki文檔寫(xiě)的非常不錯(cuò),完全按照最新的官方文檔安裝應(yīng)該不會(huì)有任何問(wèn)題。
Archlinux的ISO做的不怎么樣,這么大ISO文件(600MB+)安裝過(guò)程竟然還必須聯(lián)網(wǎng)更新數(shù)據(jù)包,相比Debian的netinst.iso才200MB。自帶的安裝工具還算比較齊全,比如zsh,還有好用的wifi-menu,讓安裝過(guò)程很是順利。

注意幾個(gè)點(diǎn):

  1. Wiki里的部分安裝過(guò)程不需要操作,浪費(fèi)時(shí)間,比如LiveCD操作、Language配置等,這些配置都是針對(duì)臨時(shí)的安裝環(huán)境,重啟后都失效。
  2. 分區(qū)表、引導(dǎo)工具以及分區(qū)工具選擇
    BIOS:MBR:GRUB:fdisk
    UEFI:GPT:SYSLINUX:cgdisk
  3. 分區(qū)情況

/boot 引導(dǎo)分區(qū),盡量有,隔離故障時(shí)非常有用。500M完全夠用了。
/ root分區(qū),必須有,1/3容量分配即可,大部分情況下/只是用于安裝軟件,保存軟件本身的數(shù)據(jù)。
/home分區(qū),必須有,2/3容量分配。除了用戶自己的數(shù)據(jù),軟件本身外的數(shù)據(jù)也可以放到/home下, 不用單獨(dú)/opt分區(qū)了,太麻煩。比如virtualbox等虛擬機(jī)文件就可以放到這里。
swap分區(qū),完全沒(méi)必要。現(xiàn)代內(nèi)存幾乎都比較大,不需要swap分區(qū)。隨后還需要針對(duì)SSD將swap分區(qū)讀寫(xiě)降到最小。

  1. pacman mirrorlist備份一份方便以后使用。并將.cn/的都留下,其他全刪掉,包括163(都說(shuō)163不穩(wěn)定)。

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

  1. 新系統(tǒng)字符集建議將en_US.UTF-8和所有zh_*都?jí)蜻x。

2. 安裝基礎(chǔ)軟件

更新軟件源,安裝必備軟件

pacman -Syy
pacman -Syu
pacman -S vim

安裝GUI

GUI環(huán)境的安裝過(guò)程與虛擬化環(huán)境差別最大,因?yàn)閂MWare/Virtualbox環(huán)境下,驅(qū)動(dòng)都是特定的,系統(tǒng)安裝包已經(jīng)內(nèi)置,比較簡(jiǎn)單,真機(jī)環(huán)境下就相對(duì)復(fù)雜很多。
不說(shuō)顯卡種類(lèi)(Nvidia,Intel,AMD),單說(shuō)Nvidia一家就有數(shù)種閉源驅(qū)動(dòng),再加上開(kāi)源的nouveau驅(qū)動(dòng)就更是混亂。本節(jié)盡量將Nvidia部分說(shuō)明白,其他顯卡請(qǐng)從Archlinux Wiki Xorg開(kāi)始疏理。

Nvidia Linux顯卡驅(qū)動(dòng)介紹

主要參考URL
1. Archlinux Wiki Xorg
2. Archlinux Wiki Nvidia驅(qū)動(dòng)
3. Archlinux Wiki Nouveau驅(qū)動(dòng)
4. Archlinux Wiki KMS

Nvidia顯卡分類(lèi)

  • 閉源驅(qū)動(dòng):
  • Nvidia廠家驅(qū)動(dòng)。需要官方下載驅(qū)動(dòng)文件,sh運(yùn)行,期間會(huì)通過(guò)kernel-source對(duì)驅(qū)動(dòng)進(jìn)行編譯,所以需要安裝kernel source。不建議,過(guò)程復(fù)雜,不能滾動(dòng)升級(jí)
  • Nvidia pacman官方倉(cāng)庫(kù)驅(qū)動(dòng)。直接pacman安裝。建議,安裝簡(jiǎn)單,滾動(dòng)省級(jí)
  • 開(kāi)源驅(qū)動(dòng)
  • pacman 官方倉(cāng)庫(kù)開(kāi)源驅(qū)動(dòng),直接pacman安裝 xf86-video-nouveau,需要配置KMS、/etc/X11/xorg.conf文件。次推薦,較復(fù)雜

Nvidia pacman 官方閉源驅(qū)動(dòng)型號(hào)選擇
Nvidia pacman官方閉源驅(qū)動(dòng)雖然安裝簡(jiǎn)單,但前提是安裝包型號(hào)選對(duì)的情況,否則將會(huì)非?;靵y。
Archlinux Wiki Nvidia驅(qū)動(dòng)的Installing小節(jié)針對(duì)如何選擇驅(qū)動(dòng)型號(hào)做了詳細(xì)的介紹,再此簡(jiǎn)述一下,以原文更新為準(zhǔn):

  1. 確定顯卡型號(hào)
    $ lspci -k | grep -A 2 -i "VGA"
  2. 查看顯卡對(duì)應(yīng)的code name (如NV50, NVC0等)
    根據(jù)上一條命令查詢的顯卡型號(hào)在code names page中找到對(duì)應(yīng)的code name。
  3. 根據(jù)對(duì)應(yīng)的code name選擇相關(guān)驅(qū)動(dòng)包
  • GeForce 400 series cards and newer [NVCx and newer],在官方pacman倉(cāng)庫(kù)安裝 nvidia或nvidia-lts 包。
  • GeForce 8000/9000 and 100-300 series cards [NV5x, NV8x, NV9x and NVAx] from around 2006-2010, 在官方pacman倉(cāng)庫(kù)安裝 nvidia-340xx 或 nvidia-340xx-lts 包。
  • GeForce 6000/7000 series cards [NV4x and NV6x] from around 2004-2006, 在官方pacman倉(cāng)庫(kù)安裝 nvidia-304xx 或 nvidia-304xx-lts 包。
  • 沒(méi)有找到對(duì)應(yīng)code name的新卡,從AUR中安裝 nvidia-beta
  • legacy的老卡,從AUR中安裝對(duì)應(yīng)的驅(qū)動(dòng),或使用開(kāi)源nouveau驅(qū)動(dòng)。
  1. 重啟后Nvidia驅(qū)動(dòng)生效
    重啟后,console界面的字體會(huì)變得比較大,顯示效果比較差,因?yàn)镹vidia驅(qū)動(dòng)在X11啟動(dòng)后在會(huì)被使用,console界面沒(méi)有調(diào)用顯卡驅(qū)動(dòng),如果需要console界面要有好的顯示效果,就需要配置KMS,在kernel啟動(dòng)后就接管顯卡驅(qū)動(dòng)。

顯卡驅(qū)動(dòng)相關(guān)文件和工具

  1. /etc/X11/xorg.conf X11配置文件
    主要參數(shù):
  • Driver,指定驅(qū)動(dòng)模塊名稱
  • BusID,指定顯卡PCI ID,Archlinux Wiki Nvidia驅(qū)動(dòng) 的Troubleshooting章節(jié)No screens found on a laptop/NVIDIA Optimus有針對(duì)該參數(shù)的配置方法。

可以使用nvidia-xconfig命令自動(dòng)生成Xorg.conf文件,也可以手工配置。

  1. X11測(cè)試

Xorg :1&
xterm -display :1&

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

  2. Kernel日志
    dmesg

  3. 啟動(dòng)DM方法

  • ~/.xinitrc文件中使用exec gnome-session,用于startx(xinit的前端)
  • gdm等工具

GUI安裝過(guò)程###

由于各個(gè)安裝包的依賴關(guān)系,沖突的可能性很大,建議嚴(yán)格按照如下順序來(lái)安裝,避免不必要的問(wèn)題:

Xorg--->gnome/gdm(DM/DM)---->顯卡驅(qū)動(dòng)->dbus

因?yàn)閚VIDIA的顯卡驅(qū)動(dòng)可能會(huì)修改X11的一些配置,如果先安裝顯卡驅(qū)動(dòng)可能會(huì)導(dǎo)致某些文件不能正常寫(xiě)入,需要自己nvidia-xconfig生成一下,以后熟悉了可以挑戰(zhàn)一下。

正式安裝步驟:

pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils
安裝xorg-server時(shí)會(huì)提示需要選擇libgl版本,一共有四個(gè)選擇,Thinkpad T410選擇第三項(xiàng)(nvidia-340xx-libgl)
pacman -S gnome gnome-extra gdm
pacman -S nvidia-3400xx
安裝驅(qū)動(dòng)程序,Thinkpad T410安裝nvidia-3400xx,其他顯卡根據(jù)上邊的選擇步驟選擇
pacman -S dbus


可選安裝Nvidia開(kāi)源驅(qū)動(dòng),測(cè)試比較復(fù)雜,需要結(jié)合KMS。安裝閉源驅(qū)動(dòng)前要完全卸載Nvidia閉源驅(qū)動(dòng)。不推薦此方法。操作步驟如下:

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

可選安裝Cinnamon DM

pacman -S cinnamon

Nvidia顯卡配置##

默認(rèn)安裝完畢后,X11是沒(méi)有xorg.conf配置的,但是不影響DM的使用。
小問(wèn)題:使用Fn+Home/End調(diào)整屏幕亮度時(shí)可以顯示調(diào)整的圖示,但是沒(méi)有效果,需要生成xorg.conf文件,并增加配置:

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

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

安裝Yaourt

/etc/pacman.conf文件最后增加如下內(nèi)容:
/etc/pacman.d/mirrorlist文件中增加應(yīng)該也是可以的,但是我在Virtualbox下測(cè)試沒(méi)有問(wèn)題,Thinkpad T410下測(cè)試就報(bào)錯(cuò)archlinuxcn/fr database err

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

pacman -Sy yaourt


如果遇到關(guān)于key的錯(cuò)誤,可以安裝如下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

創(chuàng)建新用戶

# useradd -m ray
# passwd ray

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

輸入法

sudo pacman -S ibus ibus-libpinyin ibus-qt

Gnome3環(huán)境

  1. 不需要.xinitrc設(shè)置,例如export QT_IM_MODULE,GTK_IM_MODULE,XMODIFIERS
  2. 不需要中啟用ibus-daemon
  3. 不需要在IBus首選項(xiàng)中添加輸入法
  4. 需要配置Gnome->Setting->Region&Language->增加Input Source,增加En和Chinese。

配置完后,Gnome右上角就會(huì)顯示中英文切換圖標(biāo)。

Cinnamon環(huán)境
需要手工將ibus daemon加入到Startup Application Preferences的啟動(dòng)項(xiàng)中:
Name: ibus
Command: /usr/bin/ibus-daemon –drx

3. Gnome優(yōu)化#

Gnome主題安裝##

Gnome主題分為如下3類(lèi):

  • Window --->程序窗口樣式
  • GTK+ --->gtk程序界面風(fēng)格
  • Shell theme --->Gnome界面風(fēng)格(頂部欄和搜索欄)

Gnome3主題存放目錄:

  • 系統(tǒng)全局目錄:/usr/share/themes/
  • 用戶本地目錄:~/.themes
GnomeTweak截圖

pacman -S gnome-tweak-tool
主題:
pacman -S numix-themes
yaourt gtk3-zukitre-theme
圖標(biāo):
yaourt ultra-flat-icons 推薦
yaourt numix-circle-icon-theme 配合docky效果好
Dock:
pacman -S docky
動(dòng)態(tài)桌面顯示:
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 開(kāi)啟右上角網(wǎng)絡(luò)連接圖標(biāo)##

注意大小寫(xiě)
systemctl enable NetworkManager.service
systemctl start NetworkManager.service

NetworkManager是Gnome自己的無(wú)線管理服務(wù),與netctl/wpa_actiond服務(wù)沖突。兩個(gè)無(wú)線管理服務(wù)同時(shí)使用會(huì)導(dǎo)致無(wú)線連接失敗。NetworkManager搜索無(wú)線也連接不上,systemd --failed會(huì)看到netctl@wlp3s0服務(wù)failed且為static狀態(tài),對(duì)其的所有enable/disable操作均不生效,查文檔應(yīng)該是被其他啟動(dòng)項(xiàng)所以依賴。解決的方法就是刪除netctl和wpa_actiond包,因?yàn)镚nome自身的NetworkManager有GUI,兼容性最好。

pacman -R netctl wpa_actiond

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

安裝Thinkpad T410驅(qū)動(dòng)

  1. 聲卡驅(qū)動(dòng)
    pacman -S alsa-lib alsa-utils alsa-oss alsa-lib默認(rèn)安裝了
  2. 觸摸板驅(qū)動(dòng)
    pacman -S xf86-input-synaptics
  3. 硬盤(pán)
    yaourt -S hdaps tp_smapi SSD硬盤(pán)不需要安裝
    把tp_smapi和hdaps添加到modules,hdapsd添加到daemon中去。
  4. 指紋識(shí)別
    yaourt -S fingerprint-gui
  5. Wifi LED blink閃爍關(guān)閉
    參考Disabling LED blink,

vim /etc/tmpfiles.d/phy0-led.conf 文件不存在,需要建立
增加如下內(nèi)容:
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的應(yīng)用程序lib庫(kù)

修改/etc/pacman.conf文件,注釋掉如下內(nèi)容:

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

其他軟件

pacman -S flashplugin
pacman -S ntfs-3g 讀寫(xiě)NTFS格式的分區(qū),archlinux默認(rèn)可以讀NTFS
pacman -S rhythmbox

設(shè)置Rhythmbox:
去掉Edit → Plugins → DAAP Music Sharing,否則Rhythmbox啟動(dòng)非常慢。
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 優(yōu)化

加速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加速方式對(duì)yaourt不生效,所以需要進(jìn)行如下操作:

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調(diào)用axel多線程加速下載
加速yaourt----yaourt與makepkg調(diào)用其他下載工具
pacman神裝一套配置方案

Pacman Mirrorlist
滾動(dòng)更新有可能會(huì)將備份的本地mirrorlist文件沖掉,這時(shí)候可以使用官方的Mirrorlist Generator重新下載:

  1. X環(huán)境,訪問(wèn)Archlinux Mirrorlist Generator下載即可。
  2. Console環(huán)境:

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

參考URL:
Archlinux Wiki's Mirrors

技巧

截圖

Gnome3自帶:

  1. 全屏截圖:PrintScreen 快捷鍵
  2. 活動(dòng)窗口截圖:Alt+PrintScreen 快捷鍵
  3. 指定區(qū)域截圖:Shift+PrintScreen 快捷鍵

參考文章

Archlinux.org Wiki
archlinux吧
Ubuntu Wiki's X
Gentoo Wiki
Gentoo Wiki TW
在預(yù)裝Win8 (UEFI)的ThinkPad上加裝ArchLinux系統(tǒng)
Archlinux ThinkPad T410安裝指南
ssd安裝archlinux
在移動(dòng)硬盤(pán)上安裝 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下使用的程序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容