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