Debian,從安裝到喜歡

前言

經歷了「Fedora,從安裝到放棄」以後,我對那些所謂「開箱即用」的 Linux 桌面完全失去了信心。它們的確是開箱即用的,只不過對於我而言,它們開箱後很難用。python

我想念 Gentoo。雖然它就在我身邊的工做站裏運行着,可是這檯筆記本里卻沒有。在這臺十年前的筆記本上安裝 Gentoo,會顯得我太變態,更況且這檯筆記本是我本身出資買的,敝本自珍。我想試試 Debian。linux

多年之前,曾用過 Debian,淺嘗轍止。多是由於那時 too young, too simple, 理解不了 Debian 的厚重與沉澱。如今有機會嘗試一下。若是仍是不以爲它的好,就準備與 Gentoo 終老相伴了。編程

將 U 盤做爲安裝介質

寫此文時,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 盤,開始安裝了。一路很太平,沒再出幺蛾子,只有幾個我以爲是要點的要點須要強調一下。測試

  1. 語言和鍵盤,選擇英文,而國別或地區選擇中國大陸。

  2. 硬盤分區,選擇手動分區。因爲個人硬盤只有 80GB,LVM 與 RAID 之類的高端技術,我不瞭解,但也用不着,省了點事。爲 / 分區(EXT4)分配了 40GB,爲 /boot 分區(EXT2)分配了 500 MB EXT2,爲 swap 分配了 4.5 GB,剩下的都給了 /home 分區(BTRFS)。

  3. 只安裝基本系統。也就是在讓你選擇軟件包的時候,什麼都不選,直接 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,頻繁遇到問題,就切換到測試版本。

sudo

# apt-get install sudo
# echo "[用戶名] ALL=(ALL:ALL) ALL" >> /etc/sudoers

添加中文 Locale

裝系統的時候,語言與鍵盤皆爲英文。此時,系統只支持英文環境。有些程序,譬如 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 能夠在須要的時候臨時啓用。

安裝 LXDE

$ 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

不知道 Nikola 是什麼的人,可忽略此節。

使用 virtualenv + python 3.5 + pip 安裝 Nikola 時,會遇到 lxml 包裝不上的問題。要解決這個問題,須要事先安裝 libxml2-dev, libxslt1-dev 以及 python3-dev。

我經常使用的三維圖形軟件

$ sudo apt-get install freecad povray

C 編程工具

$ 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 時代的風格。

debian-lxde

令我滿意的,它運行起來,只須要 200 MB 左右的內存。即便開啓 Firefox 以及我經常使用的一些軟件,內存佔用不過 600 MB 左右。這檯筆記本的內存共 2G,剩下來的內存,我能夠用來編譯程序,用來運行 povray,用來更新系統。剩下來的內存空間,即便我用不了,但它們也是屬於個人。這種自由且隨意的感受,是 Fedora 提供的 GNOME 3 桌面無法給個人。

此外,在正常的工做狀態下,即便開着 WIFI,如今這檯筆記本的電池可以堅持兩個小時,而此前在 Fedora 的 GNOME 3 環境中,它只能堅持 70 分鐘左右。

電池狀態

相關文章
相關標籤/搜索