若為自由故 - 重返 Linux 世界
入職以來一直用自己的 MacBook Pro 來為公司工作,最近卻整出了個強制安裝殺毒軟件的事情,我覺得是時候對自己的電腦好一點了。上帝的歸上帝,凱撒的歸凱撒,自己的凈土必須自己來守護,以后就用 Linux 來為公司工作。
You can you use Linux, no can no bb。從某種意義上來說,公司還蠻寬容的,給不愿意安裝殺毒軟件的開發狗們留了一條生路,雖然這條路對于大多數開發狗并不好走。畢竟不是所有的開發狗都像我一樣在大學期間把 Linux 當做日常系統來使用的(捂臉逃)。
于是我在周末花了幾個小時在公司發的 ThinkPad 上面安裝了 Linux 系統。接下來是關于我組裝一個還算順手的 Linux 系統的分享,當然其中不可避免的會用到一些非自由軟件。畢竟對于一個資深 Mac 用戶來說,Linux 在日常使用的體驗上還是稍顯稚嫩,常用的快捷鍵也不太一樣,需要一番悉心調教。
安裝一個 GNU/Linux 發行版
安裝 Linux,如今我的首選發行版是 Linux Mint。如今 Mint 的最新版本已經是 17.2 了,之前我最后一次安裝的時候似乎還是 15 呢,真是讓人感慨。
桌面環境選擇 KDE,為的是不折騰,也為的是能夠好好折騰。下載光盤鏡像,用 dd 命令刻盤,啟動 LiveCD,安裝系統,習慣性地選擇了全盤加密。
安裝完成后啟動,依舊是熟悉的 KDE 桌面,但是登錄界面比以前更漂亮了,背景圖片還會自動輪換的~
MDM 登錄界面
那些自由的和非自由的軟件
KDE 不僅僅是一個桌面,更是一個軟件集。只要磁盤空間足夠,我會毫不猶豫地安裝一個叫做 kde-full 的軟件包,里面包含了幾乎全部的 KDE 軟件。
先做一下需求分析,這次裝系統,主要是用來作開發機,順便支持一下開發過程中的音樂和上網開小差。于是幾個剛需就出來了,Java 開發環境,中文輸入,阿里旺旺,截圖編輯,Python 運行環境,Office 文檔支持,多媒體播放,多瀏覽器,多顯示器……
看起來要安裝的東西很多,其實全部搞好也就是幾個小時的事情。慢慢來,會很快。
-
Java 開發環境
我的工作主要集中在 Java 服務端,所謂 Java 開發環境,無非就是 JDK、Maven 和 IDE,前面兩個直接從倉庫安裝就好了。
sudo apt-get install openjdk-7-jdk maven2
我常用的 Java IDE 是 IDEA,似乎不在倉庫中,需要去官網下載軟件的壓縮包,解壓之后做個快捷方式放到桌面即可。
其他 Java 工具如 jvisualvm 等等,因為使用頻率沒那么高,需要的時候再安裝也不遲,反正都在倉庫中。
文本編輯器什么的也強行算到開發環境里面好了~
sudo add-apt-repository ppa:webupd8team/sublime-text-2 sudo apt-get update sudo apt-get install sublime-text emacs24
-
中文輸入
中文輸入一直是 Linux 用戶心中的痛,也許這就是傳說中的「逼格稅」。輸入法框架 ibus 和 fcitx 平分天下,卻時不時陷入界面庫的陳年老坑,有時候是候選詞不跟隨,有時間是沒法在 Emacs 等神器中使用。輸入法引擎雖 Rime 如日中天,卻需要用戶長期的調教,缺乏強有力的默認詞庫和云聯想。
雖然道路坎坷崎嶇,我們卻不輕易放棄。上次安裝系統的時候用的 fcitx,這次用的是 ibus-rime。
sudo apt-get install ibus-rime ibus-gtk* ibus-qt4
不知道是不是因為 Emacs 升級到 24 的緣故,ibus-el 這個插件失效了。塞翁失馬,我發現了一個神奇的 Emacs 插件,chinese-pyim,一個用 elisp 實現的中文輸入法!
-
阿里旺旺
隨便在網上搜索一下就能找到一個阿里旺旺 Linux 版。噢,這是一個 buggy 的軟件。
-
截圖編輯
Shutter 是 Linux 上最好的截圖編輯工具,沒有之一!單獨安裝 shutter 只能實現截圖,需要安裝一個額外的軟件包才能實現編輯。
sudo apt-get install shutter libgoo-canvas-perl
-
Python 運行環境
Python 是我最擅長的語言之一,少了它可不成。我需要一個好用的終端,一個包管理器。
sudo apt-get install ipython python-pip
-
Office 文檔支持
Mint 自帶了 LibreOffice,但是這遠遠不夠,我們還需要 WPS。直接去官網下載最新的 Alpha 測試版來安裝。
-
多媒體播放
KDE 已經自帶了音樂播放和管理軟件 Amarok 和視頻播放器,Mint 還默認安裝了 VLC。Amarok 已經夠用了,雖然我不會用它的,聽歌自然是用網易云音樂~視頻播放器我還需要 Smplayer。
sudo apt-get install smplayer
-
多瀏覽器
Mint 自帶的 Firefox 是極好的,但是我更需要 Chrome,因為我工作相關的網頁書簽都在里面。KDE 自帶的瀏覽器并沒有什么卵用。Chrome 用來工作,Firefox 用來聽歌+開小差,看到好文章直接扔到 pocket 里面。
讓它用起來有一點點像 OS X
首先是修改鍵盤上幾個重要控制鍵的位置。我的使用習慣是 Ctrl 在字母 A 的左邊,空格往左依次是 command、option、caps lock(Ctrl)。我的 Mac 鍵盤實際上是沒有 capslock 的,因為我覺得這個按鈕并沒有什么用處。
常用鍵位
顯然,Linux 的世界既沒有 command,也沒有 option,我只能想方設法用 Ctrl 和 Alt 作一個殘缺的替代。
KDE 默認提供了一些可視化的工具以及默認選項來幫我完成這些按鍵映射的工作。
首先我們把 caps lock 和 Ctrl 交換位置,這樣 A 的左邊就是 Ctrl,可以用小指輕易地控制。然后把左 Ctrl 映射到左 Alt,左 Alt 映射到左 Win,這樣就可以保持 Mac 下面 command + c 是復制,command + v 是粘貼等等習慣。映射到 Win 鍵上的 Alt 正好和 Mac 鍵盤上的 option 在同一個位置,這樣一來,左手對于鍵盤左下角的幾個控制鍵的肌肉記憶就幾乎不用改變了。
KDE 控制鍵調整
雖然說是幾乎不用改變,但是由于 Linux 沒有 command 鍵,沒法很好地區分從命令行繼承過來的快捷鍵和圖形界面的快捷鍵,所以我深愛著的 ctrl 光標移動大法就不能用了,這讓我蛋疼了好久。不過好在按錯鍵頂多就是全選而已,并沒有什么破壞性的后果。
我曾經嘗試把左 Alt 映射成 Meta,然后修改系統快捷鍵設置,強行弄出一個 command 鍵,比如復制是 Meta-c,撤銷是 Meta-z 等等。一開始的時候在,這套按鍵映射和快捷鍵方案在 KDE 系列軟件中運行良好,然而當我打開 Chrome 的時候,蛋都碎了。果然這套快捷鍵只能在 KDE 系列軟件中生效,Chrome 里面依舊是我行我素的 Ctrl 系快捷鍵。面對這么一個殘酷的現實,我只好把快捷鍵方案回滾到默認設置去了。
鍵盤調教了七七八八,接下來要調教的是鼠標。什么,你說觸摸板?ThinkPad 有觸控板這個東西么?
其實鼠標上值得調教的也就滾輪了,習慣了 OS X 那高冷的「自然滾動」,自然而然就會覺得其他系統鼠標滾輪的方向就是異端。把鼠標滾輪搞成自然滾動也很簡單,確保下面這段命令,或者有同樣功效的配置,啟動的時候執行或生效即可。
xmodmap -e "pointer = 1 2 3 5 4 7 6 8 9 10 11 12"
搞了這個修改之后,無論是鼠標還是小紅點,滾動模式都變成了『自然滾動』。
還有其他許多細節上的調教,比如把窗口的關閉、最小化、最大化移動到窗口的左上角去模仿 OS X 的紅綠燈之類的。總之就是盡可能保持之前在 OS X 上的操作習慣,盡可能的不要引入新的操作方式,防止腦裂。
用 Linux 工作一周的感覺
首先是工作使用的電腦和個人使用的電腦完全分開了,就像我一開始說的,上帝的歸上帝,凱撒的歸凱撒。第二天下班回家之后,我把 Macbook Pro 上跟公司相關的各種內部軟件、證書刪了個精光,感覺爽爽噠!
然后因為我把工作電腦扔在公司,這樣子我就不用每天上下班背著電腦到處跑了,感覺輕松不少!回家之后打開電腦就可以開始做自己的事情,不用像之前一樣上班為公司寫代碼,回家也為公司寫代碼,隨便搞點開源項目也不用擔心被公司霸王硬上弓。
因為旺旺 Linux 版到處是 bug 的緣故,它動不動就會崩潰,收不到系統消息,收不到文件,點對點溝通收不到圖片,不勝枚舉。或許是因禍得福,系統動不動出現的接口 RT 過高之類的告警我就收不到了,旺旺崩潰收不到消息也讓我可以清靜地寫代碼。
最重要的是,我不用安裝那個逗逼一樣的殺毒軟件了!
原文:http://blog.jamespan.me/2015/10/03/free-as-in-freedom/ 作者: 潘家邦