經歷了「Fedora,從安裝到放棄」以後,我對那些所謂「開箱即用」的 Linux 桌面完全失去了信心。它們的確是開箱即用的,只不過對於我而言,它們開箱後很難用。python
我想念 Gentoo。雖然它就在我身邊的工做站裏運行着,可是這檯筆記本里卻沒有。在這臺十年前的筆記本上安裝 Gentoo,會顯得我太變態,更況且這檯筆記本是我本身出資買的,敝本自珍。我想試試 Debian。linux
多年之前,曾用過 Debian,淺嘗轍止。多是由於那時 too young, too simple, 理解不了 Debian 的厚重與沉澱。如今有機會嘗試一下。若是仍是不以爲它的好,就準備與 Gentoo 終老相伴了。編程
寫此文時,Debian 最新的穩定版是 8.5,代號 Jessie。沒看過《玩具總動員》,因此也不知道 Jessie 是誰。Debian 矢志不渝的使用《玩具總動員》中的角色的名字做爲穩定版的代號,它是個玩具級的 Linux 發行版嗎?segmentfault
一開始就遇到了一個障礙。爲了追求自由軟件血統的純正,Debian 官方提供的系統安裝光盤鏡像文件未包含無線網卡的固件部分。若是我堅持使用無線網絡安裝的方式安裝 Debian,事情會變得有些麻煩。bash
束手無策之時,搜到一篇文章。做者也跟我差很少狀況,他指出最省事的辦法是下載非 Debian 官方製做的含有無線網卡固件的光盤鏡像文件,亦即:服務器
$ wget http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/8.5.0+nonfree/amd64/iso-cd/firmware-8.5.0-amd64-netinst.iso
雖然這份光盤鏡像文件不到 300 MB,可是下載速度堪稱龜速。找了好大一會,發現了對岸有一臺服務器,下載速度很快:網絡
$ wget http://debian.nctu.edu.tw/debian-cd-unofficial/cd-including-firmware/current/amd64/iso-cd/firmware-8.5.0-amd64-netinst.iso
將光盤鏡像文件拖下來以後,將其寫入 FAT32 分區的 U 盤(假設它是 /dev/sdb
):編輯器
$ sudo dd if=firmware-8.5.0-amd64-netinst.iso of=/dev/sdb
若是非要跟着 Debian 官方的步子走,須要手動向 U 盤中寫 syslinux,而後再找到非 Debian 官方提供固件文件,將它們放到 U 盤的根目錄下,而這個過程,本質上就是在製做 firmware-8.5.0-amd64-netinst.iso……所以,並無什麼 Debian 官方的步子。工具
折騰好了 U 盤,開始安裝了。一路很太平,沒再出幺蛾子,只有幾個我以爲是要點的要點須要強調一下。測試
語言和鍵盤,選擇英文,而國別或地區選擇中國大陸。
硬盤分區,選擇手動分區。因爲個人硬盤只有 80GB,LVM 與 RAID 之類的高端技術,我不瞭解,但也用不着,省了點事。爲 /
分區(EXT4)分配了 40GB,爲 /boot
分區(EXT2)分配了 500 MB EXT2,爲 swap
分配了 4.5 GB,剩下的都給了 /home
分區(BTRFS)。
只安裝基本系統。也就是在讓你選擇軟件包的時候,什麼都不選,直接 Continue。
系統安裝完畢後,重啓機器。由於沒有裝桌面,因此係統會進入終端環境。
若是使用基於 firmware-8.5.0-amd64-netinst.iso 製做的 U 盤,在安裝 Debian 基本系統的過程當中,無線網絡可正常使用,那麼系統裝好後,無線網卡的驅動部分不會有什麼問題,可是網絡設定還須要本身動手。
可參考 Debian Wiki 提供的「無線網絡配置」文檔的「WPA-PSK and WPA2-PSK」一節所述方法配置無線網絡。
所安裝的基本系統是 Debian 8.5 的穩定版本。雖然它夠穩定,可是軟件包太老了。接下來,我還要在這個基本系統上安裝桌面,還要在桌面環境中寫一些程序。太老的系統,適合作服務器,不適合桌面用戶。
Debian 8.5 穩定版本提供的軟件包,大概是 2 年前的版本。想一想 Windows XP 如今依然有不少用戶,因此 Debian 8.5 穩定版本仍是很年輕的。新的版本未必好,雖然它們可能修復了老版本的一些 Bug,可是也可能引入了新的鮮爲人知的 Bug。
Debian 提供了非穩定版本軟件包的源,要使用它們,須要修改 /etc/apt/source.list 文件:
# cat << EOF > /etc/apt/source.list deb http://ftp.cn.debian.org/debian/ sid main non-free contrib deb-src http://ftp.cn.debian.org/debian/ sid main non-free contrib EOF
注:上述命令使用了 Bash 的「Here Document」語法。也能夠用可在終端中運行的文本編輯器 nano 或 vi 進行文件編輯。
而後將系統由穩定版本升級爲非穩定版本(Sid):
# apt-get update # 更新軟件包列表 # apt-get dist-upgrade # 系統升級
Debian 的穩定版與非穩定版本,相似於 Gentoo 的 amd64
與 ~amd64
。不過,Debian 在穩定版本與非穩定版本之間還有一個過渡版本,叫測試版本(Testing)。我想先試試一段時間的 Sid,頻繁遇到問題,就切換到測試版本。
# apt-get install sudo # echo "[用戶名] ALL=(ALL:ALL) ALL" >> /etc/sudoers
裝系統的時候,語言與鍵盤皆爲英文。此時,系統只支持英文環境。有些程序,譬如 Emacs,要想在其中輸入中文,前提是須要系統中具有中文 Locale。
使用如下命令增長中文 Loclae:
$ sudo dpkg-reconfigure locales
將 Locale 列表滾動到底部,選擇 zh_CN.UTF-8 UTF-8
,而後 Ok
確認。
這樣一來,系統就有了兩個 Locale 環境,en_US.UTF-8 與 zh_CN.UTF-8。我建議繼續使用 en_US.UTF-8 做爲默認的 Locale,中文 Locale 能夠在須要的時候臨時啓用。
$ sudo apt-get install lxde $ sudo reboot
不建議爲了追求精簡而只安裝 lxde-core
。由於 lxde 自己已是很是小型的桌面系統了,將它的相關組件全都裝上,也佔用不了太多的系統資源。不須要的一些軟件包,安裝結束後,可酌情刪減。
LXDE 未提供設置桌面快捷鍵的 GUI 程序。要設置快捷鍵,須要修改桌面配置文件。
可在 $HOME/.config/openbox/lxde-rc.xml 文件的 <keyboard> ... </keyboard> 部分添加如下內容:
<!-- run terminal --> <keybind key="F12"> <action name="Execute"> <command>lxterminal</command> </action> </keybind> <!-- Vertical tiling --> <keybind key="C-W-v"> <action name="UnmaximizeFull"/> <action name="MoveResizeTo"> <width>50%</width> </action> <action name="MaximizeVert"/> <action name="MoveResizeTo"> <x>0</x> <y>0</y> </action> <action name="NextWindow"> <interactive>no</interactive> <dialog>none</dialog> <finalactions> <action name="UnmaximizeFull"/> <action name="MoveResizeTo"> <width>50%</width> </action> <action name="MaximizeVert"/> <action name="MoveResizeTo"> <x>-0</x> <y>0</y> </action> </finalactions> </action> </keybind> <!-- Horizontal tiling --> <keybind key="C-W-h"> <action name="UnmaximizeFull"/> <action name="MoveResizeTo"> <height>50%</height> </action> <action name="MaximizeHorz"/> <action name="MoveResizeTo"> <x>0</x> <y>0</y> </action> <action name="NextWindow"> <interactive>no</interactive> <dialog>none</dialog> <finalactions> <action name="UnmaximizeFull"/> <action name="MoveResizeTo"> <height>50%</height> </action> <action name="MaximizeHorz"/> <action name="MoveResizeTo"> <x>0</x> <y>-0</y> </action> </finalactions> </action> </keybind> <!-- Restore window dimensions --> <keybind key="C-W-r"> <action name="UnmaximizeFull"/> <action name="NextWindow"> <interactive>no</interactive> <dialog>none</dialog> <finalactions> <action name="UnmaximizeFull"/> </finalactions> </action> </keybind>
上述配置設定了 4 個快捷鍵:
F12:打開終端
Win + Ctrl + V:豎直分屏,最後打開的兩個窗口分居左右,鋪滿屏幕
Win + Ctrl + H:水平分屏,最後打開的兩個窗口分居上下,鋪滿屏幕
Win + Ctrl + R:將豎直或水平分屏擺放的窗口復原
還有一些快捷鍵是 LXDE 已經爲咱們配置好的。下面着幾個快捷鍵較爲經常使用:
Alt + 鼠標左鍵:窗口拖放
Alt + 鼠標右鍵:對窗口尺寸進行調整
Win + E:打開文件管理器
Print(PrtSc):打開 gnome-screenshot 截屏
$ sudo apt-get install fcitx
使用桌面菜單「Perference」->「Input Method」打開輸入法配置嚮導,將 fcitx 設爲桌面環境的默認輸入法。
因爲系統 Locale 是 en_US.UTF-8,在 Emacs 中,fcitx 沒法輸入中文。可是若將 LANG 設爲中文,而後再啓動 Emacs,就能夠輸入中文了,即:
$ LANG=zh_CN.UTF-8 emacs
爲了方便,我在 /usr/local/bin 目錄創建一份 Bash 腳本 em,內容以下:
$ cat << EOF | sudo tee /usr/local/bin/em #!/bin/bash LANG=zh_CN.UTF-8 /usr/bin/emacs $@ 2>/dev/null & EOF $ sudo chmod +x /usr/local/bin/em
這樣,在終端中能夠用 em
來代替 emacs
命令。
$ sudo apt-get install xserver-xorg-input-synaptics
而後修改 /usr/share/X11/xorg.conf.d/70-synaptics.conf 文件,在「Identifier
」爲「touchpad catchall
」的「InputClass
」節中增長:
Option "TapButton1" "1"
筆記本支持藍牙,但平時用不大着。編輯 /etc/rc.local,在「exit 0
」以前添加:
echo disable > /proc/acpi/ibm/bluetooth
這樣,在系統啓動後,藍牙功能會被自動關閉。
後來,發如今 BIOS 裏能夠直接關掉,這樣便沒必要修改 rc.local 文件了。
LXDE 沒提供筆記本電池的電量顯示功能。在終端中,可以使用 acpi -b
命令查看。我喜歡這種方式。平時不須要看電量,只有在電池信號燈警示時,才須要看一下還剩多少電。
不知道 Nikola 是什麼的人,可忽略此節。
使用 virtualenv + python 3.5 + pip 安裝 Nikola 時,會遇到 lxml 包裝不上的問題。要解決這個問題,須要事先安裝 libxml2-dev, libxslt1-dev 以及 python3-dev。
$ sudo apt-get install freecad povray
$ sudo apt-get gcc make autoconf automake libtool valgrind
若是要編譯 zero 的源代碼,還須要安裝 libglib2.0-dev 包。不知道 zero 是什麼?不要緊。整個地球,可能只有我真正須要編譯它的源代碼。
簡單而粗暴的辦法是從 Windows 系統中扒出微軟雅黑字體 msyh.ttf,而後在 /usr/share/fonts 中創建 non-free 目錄,並將 msyh.ttf 放在這個目錄中。
接下來,修改 /etc/fonts/conf.d/65-nonlatin.conf,將其內容替換爲:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Microsoft YaHei</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Microsoft YaHei</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Microsoft YaHei</family> </prefer> </alias> </fontconfig>
這樣,這樣整個桌面環境的中文字體就統一於微軟雅黑了。因爲我不用 Libreoffice,因此對宋體字沒需求。屏幕字體,微軟雅黑足夠看的。固然,若是爲了追求對微軟的不屑,能夠換成那些自由或免費的黑體字體的一種。如今的 Linux,已經不是 10 年前窮得連一款像樣的中文字體都沒有的處境了。
我很是滿意目前這個運行於 Debian 環境中的 LXDE 桌面。我並無將它配置到能夠截屏向世人炫耀的程度。它的桌面風格停留在 Windows XP 時代,並且我還特地將它的窗口與 Panel 的外觀改爲了 Windows 2000 時代的風格。
令我滿意的,它運行起來,只須要 200 MB 左右的內存。即便開啓 Firefox 以及我經常使用的一些軟件,內存佔用不過 600 MB 左右。這檯筆記本的內存共 2G,剩下來的內存,我能夠用來編譯程序,用來運行 povray,用來更新系統。剩下來的內存空間,即便我用不了,但它們也是屬於個人。這種自由且隨意的感受,是 Fedora 提供的 GNOME 3 桌面無法給個人。
此外,在正常的工做狀態下,即便開着 WIFI,如今這檯筆記本的電池可以堅持兩個小時,而此前在 Fedora 的 GNOME 3 環境中,它只能堅持 70 分鐘左右。