只使用 Linux 系統是怎樣一種體驗?


從初三開始完全使用 Linux ,現在已經第七年了

之前在用 Ubuntu 的時候還每天非常中二的去玩各種 3D 桌面之類的。。。什麼 Compiz 之類的玩的溜溜的。。。

(好像跑題了?

先說一下我現在的系統配置吧:

Arch Linux(這個不用解釋了吧,解釋多了容易引起聖戰)

i3wm(個人喜好,比較喜歡平鋪式的窗口管理器代替桌面環境,因為快)

urxvt(輕量級,快,支持透明,支持各種字體/顏色設置)

zsh(oh-my-zsh 讓你的人生不再有缺憾)

tmux(我給你講啊,終端分屏,贊!)

VIM(最好的編輯器有問題?加上 Power Line 好用到飛起)

Emacs(我需要一個能完整支持 Lisp 的操作系統(當然 Emacs 里裝了 VIM (是 evil 啦)))

Chromium(GOOGLE 大法好,來,跟我念 G O O G L E 大 法 好)

寫代碼的話:

C / C++ / Java / Go / Python / JS / Ruby 用 VIM

Common Lisp / Clojure / Racket 用 Emacs

(我不是異端,只是用的語言多了點。。。

其他的:

寫文檔用 VIM 寫 Markdown

寫作業非要用 Office 的話用 Libre Office

聽歌用 MOC (配合 tmux-powerline 食用效果更佳)

文件管理器的話。。。一般我是直接 ls + rm + cp + mv 。。。或者用 MC 。。。極少數情況會用 pcmanfm

看視頻當然就是 mplayer

下載工具用 wget / aria2 和搭在另外一台電腦上的 transmission

聊天的話。。。用 Emacs 的時候用 ERC,其他時候用 Irssi

偶爾玩遊戲的話是 DOTA 2 和文明 5 。。。

隨手補張正在搬磚時候的截圖:

總之我基本是完全活在終端里的。。。除了 Chromium 和遊戲之外基本不用別的 GUI 軟體。。。

你跟我說 Eye Candy?各大 DE 的酷炫特效?我覺得效率更重要

啊。。。忘說體驗了。。。

現在的話。。。當然就是:你們不用 Linux 又不願意乖乖去死真讓我很難辦啊(請腦補 ISIS 語氣(誤

以上


大一進校就用linux, 電腦上雖然有win + linux, 但是linux使用時間超過 95%

大一期間折騰過ubuntu, fedora,centos, Centos text mode, linux deepin,opensuse, FreeBsd, solaris(FreeBsd跟solaris不是linux, 但是也一併用過一起說下吧) , 大一裝linux不下30次

大一下固定使用opensuse, 從此一直用opensuse最新版, 再也不換了。

大一用linux的gnuplot做過物理實驗的圖(gnuplot也有windows版的), 也幫人做過物理實驗的圖。

大二大三大四拿linux做項目 , 很爽, 我是做後端開發的, 開始用linux喜歡各種編譯東西

我用的mysql, php, nginx, nodejs, ruby, python, postgresql, apache, rust,R, Erlang,gcc, hhvm 等等我都編譯了很多次了。覺得編譯很爽。後面就不天天編譯了。基本用一個較新的版本即可。因為後面這些都有的用在了生產環境 , 我基本我機器上的軟體版本跟我管的2個伺服器上我編譯的軟體版本配置文件一模一樣。

說來慚愧,大一剛用linux時候跟很多linux剛入門的用戶一樣,經常無腦噴windows。這點我覺得是我錯了。windows的微內核、.NET 、DirectX等等還是很厲害的。過了大一, 後面就不噴windows了, 對windows覺得就是雖然我不用, 但是它是個好東西, 微軟予力眾生, 是人類歷史上有開創意義的偉大公司啊。

不過還是linux死忠, 基本改不了了。大三暑假我去百度實習(知識搜索部,後端研發工程師)4個月的時候, 百度公司配發的機器是windows的, 結果我基本還是用我電腦的linux用了4 個月, 雖然網路啊、IM啊有些不方便, 但是比起那些帶來的便捷還是忍了。

今年7月大學畢業之後要去美團工作, 據說公司配發Mac, 貌似還是每個工程師一個Mac Pro跟一個台式iMac, 但我應該還是會用自己的電腦的。linux基本改不了了。於我而言, 手機系統隨便用哪個無所謂, 電腦系統這輩子linux沒跑了。我一個朋友也是linux死忠, 比我還沉迷linux, 他做比賽拿獎拿了一個mac筆記本, 開頭還天天用那個mac筆記本, 用不了2周那個mac就徹底淪為 寫文檔的機器了。寫代碼啥的他還是用linux。我覺得由此可見我之後基本也是一直用linux了。

我後面基本告別了折騰linux的時候了, 一個opensuse13.1 系統裝好了穩定使用, 1年半沒裝過了。這倒省了不少時間。說真的linux坑還是很多很多。這點windows的兼容性簡直逆天啊。上次一個同班女同學讓我給她裝ubuntu(她做課設用), 她電腦是APU + ATI獨顯, ubuntu安裝盤進都進不去, 在ubuntu引導界面加入grub參數nomodeset之後才進去後面編譯A卡驅動才可以正常顯示。各種坑太多了。不過穩定使用後, 方便更多哈哈。用linux之後, 對各種問題的忍受能力強多了, 各種bug各種麻煩那都不叫事兒啊。還有對各種軟體文檔啊、源碼啊、社區啊熟悉多了, 各種找問題解決方法的能力比以前好了不少。

linux的缺點抑或不足比較多, 特別糾結於QQ、Office、桌面、顯卡遊戲的, 可以無視linux,建議出門左轉win10 或者 mac, 當然linux在桌面軟體上慢慢也有了福利, 搜狗輸入法、linux WPS之類的、steam linux客戶端之類的也的確慢慢變好, 哈哈哈。

linux我看重的優點比之缺點要大的多, 這也是當年忍著那麼多的坑一直用linux的原因。比如各種programming language 你可以下載源碼, 簡單 ./configure make make install 編譯好, 比如ruby python java php erlang rust R nodejs之類的, 你可以快速使用一個軟體的最新版本。而且心裡感覺(僅僅心裡感覺), 編譯的比系統自帶的性能好一點點, 可以自己調編譯參數啊之類的。當然絕大多數軟體都有windows mac版本, 但是有的軟體在linux下表現最好而且甚至有的只能在linux下跑(比如ruby 在windows 下很坑, 基本不要在windows下搞ruby, 你安裝ruby windows下的rails跟mysql gem就知道有多少坑了, ruby在mac下到是表現也不錯)。

還有一些重量級的軟體, 比如mysql, nginx, hhvm  你可以在linux下自己編譯, 很爽的,甚至gcc剛出來, 你可以編譯一個gcc 4.9.1 各種體驗新特性是不是很爽。而且各種配置文件自己寫、編譯參數自己調、性能調優自己干, 是不是很爽。其中有的軟體涉及一堆系統底層優化、IO模型、jit之類的, 只能在linux下良好運行, 比如你編譯hhvm你就知道依賴多少類庫了。linux下還有個好處是有的命令行很實用, 那種打開文件夾之類的可用可不用的命令行就不說了, 說幾個很好的命令行用法

1 libreoffice --headless --convert-to pdf *.pptx

樓主考試周把老師的所有ppt一個命令轉成pdf, 然後看pdf查看複習, 當然這也是linux下linux wps看ppt很卡的原因。不過如果你要發表論文, 一個文件夾有100000個docx論文, 你要轉成pdf發表, 這樣一鍵是不是很爽(windows可以用編程調用com介面轉pdf的)

2 一鍵替換整個代碼文件夾的所有php文件(其他後綴文件也可以)的一個文本為另一個文本

find . -name "*.php" -print0 | xargs -0 sed --regexp-extended --in-place "s/文本/你要替換的文本/g"

比如你要替換變數名啊, 替換類名啊,之類的。

樓主幫學弟學妹寫課設, 一鍵替換所有類名、變數名為學弟學妹姓名拼音前綴的形式。一下子老師再也不會不信這不是學弟學妹自己寫的。變數名都是自己名字風格的。哈哈。

3 ImageMagick系列的處理圖形的命令

 比如:

把一個圖片大小縮小或者做縮略圖之類的、

  降低圖片畫質

convert -quality 50 1.jpg 1-1.jpg

或者把整個文件夾的png大圖, 轉成大小一樣、品質下降的webp圖片

  寫一個shell如下:

#!/bin/bash

for i in `ls -1 *.png`

do

convert -quilty 50 $i $i.webp

done

各種批處理簡直大讚啊。

  ImageMagick系列的compare還有個很多人不知道的神奇功能

compare可以比較兩個圖片的不同。

  比如有2個圖片叫做, 1.png 2.png

執行命令

compare 1.png 2.png 1-2.png

其中生成的 1-2.png 就是1.png很2.png的diff之後得到的圖片。感覺好厲害。

4

統計代碼行數

find . -name "*.java"|xargs cat|wc -l

可以查看當前文件夾所有的java文件的代碼行數

5

一鍵去除所有代碼空行之類的。

各種批處理啊、方便人啊之類的。很爽的。

7 

還有可以跑多個腳本, 寫個爬蟲關注女神的微博啊、知乎啊、qzone啊之類的, 一旦有動態或者有人給她評論點贊之類的, 立馬給你發郵件啊。這樣知道她啥時候睡、關注的興趣點之類的。

(這個可以有,哈哈哈)

vim emacs神器, 配合各種clang complete 、ctags、cscope看巨型項目代碼啊,各種跳轉、快捷鍵很爽的。那種文件代碼超級大的, 任何IDE都會有點卡,vim可以做到。

linux的優點還有很多。

個人覺得linux用戶(尤其是剛用不久的linux用戶, 覺得以開源精神之神聖心裡無端綁架各種公司的 )各種無腦噴微軟吹google的現象有點多(看看開源中國、還有各種開源社區的新聞評論下黑微軟的), 從前天微軟的win10 發布會, 微軟還是逆天的牛逼的, 尊重每一個青史留名的偉大公司吧。可以客觀說出微軟的不足、也可以客觀說apple、google的不足。建議理性看待所有問題。

這裡沒說win、mac、linux哪個好, 我覺得都挺好的, 用哪個看個人吧。

關於linux下使用qq, 請看這裡

就現在的情況下,做出怎樣的努力才能讓 QQ 在 linux 上好用? - 鄧攀的回答


我校計院就是那種典型的伺服器跑 Linux,作業你要麼 SSH 登上去寫要麼寫好了 scp 上去(tutorial 你倒是可以自帶作案工具然後給 TA 看 It works on my machine 就能拿分)的幹活。前者你只有呆在內網光環里才敢開 vim,後者的一個問題是你本機的環境和學校的環境有可能不一樣。Linux 或者 OS X 的一個好處是 $ENV 就是一家門,尤其是如果你習慣 Unix 系工具的話那麼幹活寫作業把 dotfiles 甩 GitHub 上就可以做到基本不操心環境的程度反正伺服器上從 gcc到 GHC 都不缺。再說學校財大氣粗網管天天大魚大肉伺候的伺服器性能不比你個小破 PC 強,你最多燒掉某棟樓某個漆黑的小房間但陪你喝咖啡的神教神船連溫度計都不會跳一下。當然整個過程中最大的問題是學校伺服器給本科生的硬碟空間太小(除非你選了 OS 這種課要拉一個 OS/161 下來會給你多批一點,但下個學期還是會恢復的),雖然你寫代碼肯定沒什麼影響再說 /usr/bin 也不算你自己的空間,但裝個 spf13-vim 隔天學校就得給你發郵件,你幾個學期前的作業(which 你學了幾年編程重構一下搞不好能省下過半的代碼量)肯定得拉下來本地備份。當然學校才不管學生用什麼東西,老頭子么只要上課順手黑 MS 就好了,你要是不高興用 PuTTy 的話學校也有機房啊雖然不都是 24h 開放的。我上次碰上非 bug 的機房延時打烊也是個 Perl CGI 作業啊,這你不去內網光環範圍內豈不是要死,當然以學校的網路 MaxCDN 也能達到內網級的速度就是了。機房的機器其實也分陣營,數院默認是 Windows 7 因為有 Matlab 之類(補充一個,說默認是因為其實也裝了 Linux)。計院的機房其實也有階級,HCI 專用的是一水的稍微舊一點的 21.5" iMac with OS X 這沒話說,雖然我上了倆禮拜一聽要寫 essay 就 drop 掉了不知道它上課到底要怎麼用。剩下的機房有的是更老的 19" iMac,有的是 HP 的普通家用機,全都是 Debian 然後裝齊了各種聽說過沒聽說過的 DE,什麼 Gnome 啊 KDE 啊 Xfce 啊 FVWM 啊都有,當然版本都很舊,所以除了 KDE(which 除了載入稍慢以外幾無黑點)以外基本上都是給你墊話讓你黑 X Window 的。Linux 世界登錄時會把你的 ~ 拉下來,考慮到內網光環以及一個人就那麼點空間再用個輕量級的 DE 那是真正的秒開,HCI 的 Mac 是什麼樣我就記不清了。所以總而言之,如果你在這種典型的美式院校學 CS 然後碰巧不打 PC 遊戲(你看我用詞多準確),那麼用 Linux 就是(說難聽)又紅又專(中立)不給自己找麻煩(說好聽)時尚潮流的事。至於本地使用,你絕大多數的問題都可以靠 Alternativeto 來解決,啊是吧。


只使用 Linux,那電腦上只有一個 Linux 這樣算吧 ?

去年剛剛拿到屬於自己的第一個本本的時候就回去立馬格掉了自帶的 win8(太丑了),照著 Arch Linux 的安裝指南把 Arch Linux 裝了上去,從此全心全意地投入 Linux 的世界。

當然,在那之前,我已經用別人的電腦幹過雙系統甚至是 N 系統的事情了(裝各種 Linux 發行版進行體驗)。最後還是覺得 Linux 的環境更加適合我。

首先,我並不是什麼技術宅之類的人,我在這兒不會給你們說什麼用了它就加深了對計算機的認識,熟悉了 Linux 方便 ××× 之類,作為一個挨踢專業學生有必要了解 Linux 之類的 ××× 之類的鬼,那些東西是空了吹。用 Linux 僅僅是作為讓我能夠操作我電腦並讓他為我辦我想要完成的事的一個媒介,我很贊同 @蘅蕪散人 ,用個系統能夠滿足自己的需求不就好了么。用了近兩年 Linux 我連 bash 的 if 語句都不能直接寫出來,所以我覺得各種不會
bash 在 Linux 就沒法兒活也太誇張了一點。這可不是安利呢,只是個人使用感受而已。對於這種體驗問題,你最好自己親自去試試!

既然 Arch Linux 剛開始是沒有 GUI 的,那我就從 Terminal 開始說吧,有人覺得 Terminal
很麻煩,但是泥萌有想過進不了桌面環境的時候, Terminal
是多麼的重要麼,可以解決很多曾經讓你覺得需要「重裝」系統的問題呢,可以進行文件管理器能夠做的文件操作,也能夠修改各種東西。比如前幾個月沒注意把
/var 的分區給搞滿了,結果桌面環境登錄不上去,這在 win
那邊的話,哎呀我連繫統都進不了了,這電腦是不是壞了呀重裝一下試試吧?而在這邊自己猜測一下可能性,翻翻機器的狀態就能夠發現原來只是 /var
的分區塞滿了而已,清清包管理器緩存,然後直接就能夠再次回到熟悉的桌面環境了,而且還能獲得不少成就感,而不是一邊抱怨這到底是什麼鬼一邊給新裝的系統
配置各種軟體 。

至於 bash,我一般是用的時候再去看,真正寫過的腳本都是一些用現成的程序做的,只是打打命令填填參數,也沒怎麼真正用到 bash,最多的一次也就是為了玩遊戲寫了一個關閉滑鼠加速度的腳本而已。

現在來說說我對桌面環境的感受,總體來說,甩 win 幾條街。幾年前第一次接觸 Ubuntu 8.04,那個時候自帶的 Gnome2
已經讓我感受到了原來電腦的桌面能夠這麼牛逼,這麼酷炫,更重要的,它用起來很爽。用我現在一直使用的 KDE
來說說怎麼個爽法吧,我可以毫無壓力的一鍵置頂/置底/最大化/最小化/全屏一個窗口、按住 meta
就能夠用滑鼠戳窗口任何一個位置來拖動窗口(你還在傻乎乎的尋找標題欄?),按下快捷鍵之後滑鼠只需要移動一下就能夠重新調整窗口的大小(你還在傻乎乎地
費勁心思讓你的游標移動到窗口的邊框變成箭頭的樣子?),或者我按住 meta
用右鍵拖動窗口靠近邊框很大的一個範圍就能夠直接以那個邊框(角落)來調整窗口大小,當然,一鍵固定窗口到某個角落這些也是很輕鬆的,游標移到桌面角落/
邊緣中點也能夠觸發我喜歡的動作(甚至是執行一個腳本)。另外還有窗口規則這種東西,讓我可以強行某些程序總是呆在某個桌面上/沒有邊框/全屏,比如我的
Firefox 就是電腦開著它就開著,永遠獨佔一整個桌面並且全屏。

圖中壁紙來源:yande.re#306500 ;作者: Yuuki Tatsuya;

你說任務欄?那是什麼鬼,佔了我的小屏幕這麼大一塊地方,擋著壁紙,又這麼難用,根本不能接受,包括 KDE 的面板也是讓我感覺如此,對我來說它更適合做裝飾(就是裝飾而已)。win 那邊的任務欄對我來說的三個作用在KDE下我是這麼解決的:

  • 應用程序切換:krunner/顯示(當前桌面)所有窗口的快捷鍵/切換桌面
  • 啟動程序:krunner/快捷鍵,我給一些重度使用的程序配置了直接啟動的快捷鍵
  • 系統通知欄:用 widget dashboard 代替,配置了讓 widget dashboard 顯示獨立的 widget。

krunner 是一個實在太方便的東西,搜索和啟動程序乃至計算器什麼的功能它都有,是除了瀏覽器之外用的第二多的程序了。桌面圖標什麼的難看死了,嚴重影響對桌面壁紙的欣賞有木有,而且你不小心手殘戳到一個大程序那個時候又要鬱悶了,至於把桌面當文件夾來用的人就……(:з」∠)

接下來是日常應用程序,我只描述具體要乾的事情和我是用什麼做到的,不要給我說什麼離了 ps 你就什麼都畫不出來之類的事情。日常指天天開,或者想要干對應事情的時候第一個就是它,備胎一個星期也至少有1次:

  • 瀏覽網頁:Firefox 全天候,Chromium 備胎
  • 碼字:http://StackEdit.io 主力,Kwrite 二號,Kate 中堅力量。Office 是什麼鬼?
  • 演示文稿:Impress.js(準備周期長的首選),http://Slides.com。
  • 查看 Office 文件:Libre Office 系列,用來看已經沒啥問題了,只要不是有人想用你的電腦播放一下它的 ppt 什麼的。
  • 看圖:Gwenview
  • 壓縮/解壓:Ark 和它的一些後端程序,rar zip 7z ……
  • 本地音樂:Clementine
  • 本地視頻:VLC,SMplayer 備胎
  • 文件管理器:Dolphin
  • 虛擬終端:Yakuake
  • 畫畫,修圖,鬼?畜?(像素圖):Krita,一旦你習慣了之後,用起來感覺萌萌噠,在那之前用的是 ps cs3
    很長一段時間。要說濾鏡一點也不少,Krita 除了自帶的濾鏡菜單下面的那些之外還有 G』Mic Action,它裡面包含了大量的濾鏡的說。話說
    Linux 上數位板什麼的即插即用也是舒心。
  • 畫畫(矢量圖):Inkscape,受了 DA 上一個前輩指引去了解的,它自帶的上手教程的交互性是我見過的所有教程裡面最強的,太有意思了,而且畫圖神馬也能夠滿足需求。
  • 即時通訊:Telegram(對內),IRC(對外)。別提什麼鬼QQ。
  • MIDI鬼?畜?:Rosegarden + Jack + Qsynth
  • 輸入法:Fcitx(Google 拼音 + Mozc)
  • 電子書:Okular
  • 多台機器穿越:Synergy
  • 打遊戲:wine + osu!,Palapeli(拼圖)
  • 寫代碼:Kate,二號主力是 Firefox 的 Scratchpad 和 Style Editor,寫麻煩東西的時候用 Kdevelop
  • 簡單計算:iPython(Qt Console),主要是對付物理實驗的實驗數據處理什麼的,感覺不錯喲。
  • 視頻剪輯:Blender,用 Blender 的大大們不要打我,我就覺得它用來做媒體剪輯很方便,所以好多東西都用它剪輯了,順便輸出圖片序列的話還能用 ImageMagick 直接轉 GIF (:з」∠)
  • 音頻剪輯:Audacity,就用用簡單操作啦~
  • 字幕創建/編輯:Aegisub,這傢伙打字幕的時候還是很好用的呢。
  • 視頻格式轉化,簡單混流:VLC,什麼?你竟然不知道VLC能夠用來轉換格式?
  • 屏幕錄像:VLC,也可以用來當鏡子(用室友的話說,在洗頭之後梳理髮型的時候),可惜我是短髮。
  • 終端文本編輯:vim/vi,不要再去看那什麼文本編輯器學習曲線了,要用 vi 完成最基礎的編輯工作根本用不著費那麼大勁,幾分鐘就能學會的事情。工具本來就是給人用的,難道它還能專門讓你永遠學不會?

  • 屏幕截圖:KSnapshot
  • 望天:Stellarium nightsky renderer,在夏天的夜晚,坐看牛郎侄女
  • 字典:GoldenDict,麻麻再也不用擔心不認識單詞。
  • 多媒體聊天:http://Talky.io 之類的 WebRTC 的工具。
  • 虛擬機:virtualbox,不時之需
  • BT下載:Torrent Tornado (Firefox 的一個擴展)主要,Ktorrent 二號。
  • TTS:espeak(沒有網路的時候),text-to-speech(有網路的時候,這傢伙來自AUR,谷歌娘的聲音),你在感冒+口腔潰瘍的時候尼醬就會知道 TTS 的重要性了。當?然?你?也?可?以?用?來?鬼?畜?別?人?。

總體體驗就是自己覺得爽,周圍的人覺得酷炫,嗯,就是這樣。

別問我為毛會用這麼多類型的軟體,我腦洞有點大,而且還是那種經常給別人修電腦的人 (ˊ_&>ˋ)

---

感謝 @御宅暴君 對 Arch Linux 拼寫的指正 ′ ▽ ` )?


除了玩遊戲(Steam 上沒有)進過 Windows 幾次以外,一年多以來都在 Fedora 19+ 的筆記本里生活。配個簡潔高效的桌面環境(如 XFCE)加上不可或缺的命令行。常見格式文件處理軟體都沒什麼壓力,編輯器自不必提,IDE 反正是 Jetbrains 家,各類大小工具往往有很好的開源項目(下圖是 Kupfer 截圖,一直在用的一個輕快的查找/啟動器),開發環境通常輕鬆搭配也不必提,辦公軟體委屈點用 WPS 也還行,瀏覽器 FF 和 Chrome 雙飛,在線服務只要有瀏覽器就無障礙。我不搞圖形學也不做專業設計,我平時的任務需求都能得到滿足,想做什麼事只管做唄。總之對我而言用作日常操作系統完全合適靠譜,不需要費什麼心思折騰。尤其是對於需要沉浸於個別程序中進行創作的工種,如程序員,只要被使用的程序工具本身的質量得到保證,那就是使用工具的事。

另外想強調的是,對一般的雙手輸入、屏幕輸出的桌面系統而言,一個高效的桌面管理器真的很有必要,窗口行為和操作(如移動、最小化最大化、全屏、各向平鋪、Z 向提升/降低、粘滯、轉移工作區等)、工作區(虛擬桌面)、程序調度等等,這些是最普遍發生的操作,這些桌面層面的配置項即便複雜但一一用過就高效起來,跟各種插件的使用、編程語言特性的掌握應該是一個道理,程序員肯定有共鳴。這些桌面層的實現相信每個操作系統都不難做到,只是某些主流操作系統太顧及普通用戶的傻瓜式體驗了,不敢讓用戶自定義太多,而很多款優秀的浮動式/平鋪式 Window Manager 卻都誕生和存在於 Linux 的世界。雖然我說這些可能不符合很多果粉軟粉想進來看 Linux 如何逼得小白用戶固步自封無X可裝的笑話的期望,但我就是想說,足夠自由的空間才有更多很棒的、適合自己的東西,到現在給我最好體驗的偏偏是由於桌面環境一團糟而飽受詬病的 Linux。

總之對自己的工作環境還算滿意就是了(當然工作是要看工作成果的)。

當然,我對 Linux 的桌面環境的未來還是持悲觀態度的,尤其是在看過 Win 10 發布後——大廠才有能力辦大事啊!開發者也是人,是人就要花錢養啊!開源項目要麼是個人和團體自己干,要麼適合讓眾多開發者向一個母體打補丁做插件做擴展,而不是真的想讓超多人來做出一個偉大的東西啊。

跑題了。


我用了五六年,最近兩年因為做手機應用開發所以同時還要用 OS X,但二者對於開發者來說用法相通。發行版主要是 Ubuntu 和 Mint,因為社區比較成熟,遇到問題容易找解決方法,避免影響工作效率。

個人體會使用 Linux 有三個階段(以下描述僅針對使用 Linux 的開發者):

上手期

這個階段因為剛剛接觸 Linux,會發現之前使用其它系統的一些經驗在這上面行不通了,因為系統的設計理念不同,所以使用時思維方式也不同,如果思維方式不慢慢轉變過來,會覺得 Linux 真難用,啥啥都沒有,幹什麼都不方便,還經常出一些莫名其妙的錯誤,比「請與系統管理員聯繫」還讓人抓狂……

這時的用戶像沒頭蒼蠅一樣到處亂撞,靠揣測和感覺尋找出路,程序員都不喜歡無法掌控的東西,所以此時很多一開始滿腔熱情的用戶開始打退堂鼓,最後轉身離去,其中一些人還會用諸如命令難記、GUI 不友好、容易出問題、不能玩遊戲等理由勸阻後來者。

我個人很幸運,在同事的幫助下慢慢找到一點感覺,因為當時公司開發全體 Linux,不學會就不用混了 T^T

命令太多難記?記不住就 man,man 啊 man 啊的就記住了。

GUI 不友好,一天 80% 的時間對著代碼要那麼花哨的界面做啥?程序員一生都在編譯啊,省點資源給編譯器吧, Terminal 才是王道。

出問題了?ldd/strace/lsmod/netstat/config.log……辦法總比問題多嘛。

至於遊戲嘛我比較好打發,有 steam 就夠了。

就這樣一點點的學習和磨合,慢慢覺得用上手了,重回用 Linux 之前的工作效率(呼~終於不用擔心被開除了……)

融入期

上手之後,對 Linux 的感覺是還行,雖然學起來費點勁兒,但起碼幹活兒夠用了,所以不少人會用兩台機器或者虛擬機,一個幹活一個娛樂。但要達到題主說的「只使用 Linux」,則需要更進一步,體會到 Linux 的優勢然後徹底融入。我的經歷與其說是體會,不如說是刺激。舉個栗子:

當時我發現只有我在用 IDE,其他同事不是 vim 就是 emacs,一開始我覺得大家只是習慣不同,用習慣了都差不多。直到我參與了 CodeReview 和結對編程這類活動之後,才發現不是差不多,而是差太多!原因很簡單,用 IDE 的大多時間有隻手在滑鼠上,鍵盤上只有五根指頭,加上滑鼠上那兩根也才七根,用 vim/emacs 的則是十個指頭全在鍵盤上。首先手速就有差距,再加上 vim/emacs 的編輯方式相當於微操,加成起來差得就不是一星半點了。

類似的栗子還有掛內存檔提高編譯速度、用腳本將各種工作流程自動化等等等等,讓我意識到——差距是全面的,很多東西不是別的系統做不到,而是遠沒有 Linux 支持得簡單直接。找到差距也有了目標,剩下的就是學習了。

在這個階段中,用戶對 Linux 的認識開始深入,慢慢欣賞到 Linux 各個優秀之處,思維方式也逐漸融入進去,隨之工作效率大幅提高,受益之後他們希望讓更多人知道 Linux 的好處(比如我現在回答這個題目)。

平淡期

這個階段是根據一些同事的特徵總結的:他們使用 Linux 十年以上,Linux 在他們看來更像一個相交多年的搭檔和老友,彼此了解和信任。他們不會跟人講 Linux 的好或不好,就像不會在背後議論老友的是非一樣。但如果你向他們請教一個關於 Linux 的問題,他們會熱心得幫助你,並微笑著跟你講解來龍去脈和一些典故,就像回憶往事。


一段時間之後你就不會修電腦了

——

藍屏怎麼辦,卡死怎麼辦,下載的東西不見怎麼辦,ie載入不出東西怎麼辦

昨天那個好看的壁紙怎麼沒了怎麼辦

啊 我很久不用windows了 真是抱歉啊


OS: Archlinux, 不過因為工作中需要打deb包所以被迫換成ubuntu了.

WM: stumpwm, 因為快, 功能少, 默認支持類似emacs的快捷鍵序列.

editor: Emacs

email client: Emacs (mu4e)

irc client: Emacs (erc)

然後一些雜項:

zsh + oh-my-zsh (不用zsh枉為人啊!!!)

firefox (我才不用一天崩潰十幾次, 傻快傻快還佔巨多內存的xx瀏覽器呢!)

byobu (用tmux做後端咯, 我懶, byobu幫我配置好了... 就跟oh-my-zsh一樣... 不過我的emacs真的都是我自己配置的!!!!)


單linux用了快十年了吧,體驗什麼的早就麻木了。唯有每次被逼用windows的時候都忍不住想艹 比爾家祖上十八代,這麼難用的東西讓人怎麼用嘛,才意識到我在使用一個多麼美好的操作系統。


2011 年開始學習 Ubuntu,2012 年開始嘗試 openSUSE 和 KDE ,2013 年開始完全轉至 openSUSE,從此再也沒用過 Windows 。

我用 Linux 學習和工作(主要是文檔編輯,編程和圖像處理)。用 LibreOffice 寫完了我的本科論文。Linux 上有更多更好的文本編輯器,自帶的 Gedit 或 Kate/Kwrite 就已經很棒了,也可以用經典的 Emacs 和 Vim 。如果是學習編程,安裝開發環境要比 Windows 容易的多,用軟體包管理器安裝幾個軟體包就行了。

然而開始的時候,會遇到很多困難,比如不知道XXX設置怎麼改。這就要求使用者必須有極強的解決問題能力,搜索和閱讀英文文章的能力。這個苦澀的階段可能持續幾個月或者一兩年,需要堅持投入。你想做的越多,需要學習的就越多。

整體而言,我自己使用 Linux 感覺非常舒暢,她比 Windows 或 macOS 都適合我。

終於可以告別:百度軟體管家, 360 安全衛士,QQ 電腦管家云云……沒有彈窗廣告,沒有流氓軟體。Windows 用戶之所以容易中病毒,主要歸咎於他們從不可靠的網站下載軟體安裝。而在 Linux 中,這種情況變得非常少見。軟體包管理器可以保證安裝的每一個軟體包都是可靠的,任何人都可以驗證其源代碼。即使有需要手動下載自由軟體,也可以直接從官方網站下載。而不需要為了使用盜版軟體而從一些小網站下載軟體,或者使用破解器,導致系統被病毒和廣告插件侵害。

自由軟體的磁碟佔用,讀寫,內存和 CPU 佔用都非常低,用賽揚 CPU + 4GB 內存的筆記本也從來沒覺得卡。

我自己需要的功能都有了。我不上 QQ,也不怎麼打遊戲。

基本上所有自由軟體都是可以免費獲取的。這和下盜版 Windows 和 Mac 軟體再破解可不一樣……

瀏覽器:Firefox

電子郵件:Thunderbird

音樂播放器:Amarok

視頻播放器:VLC

辦公套件:LibreOffice (可以打開和保存新舊格式的 MS Office 文件)

圖片處理:GIMP (Photoshop 的大部分功能都有)

矢量繪圖:Inkscape (比 AI 好太多,又小巧)

數碼板繪:Krita (其實 GIMP 也可以,就是筆刷和圖層效果不夠豐富)

編輯器:太多了,不一一列舉,我在用 Kate

特別推薦一下遊戲,很多遊戲都 Linux 上的翻版。Steam 遊戲很多也登陸 Linux 平台了:

SuperTuxKart (卡丁車遊戲)

Minetest (類似 Minecraft)

Megaglest (即時戰略遊戲,還有明朝和倭寇種族可選)

Torchlight 2 (火炬之光 2,Steam)

DOTA 2 (Steam)

ARK: Survival Evolved (Steam)

---- 長篇大論 ----

GNU/Linux 完全是另一個世界。這裡有很多文化,精神層面上的東西,而不只是實用主義,體驗至上。

準確的說,應該叫 GNU/Linux 操作系統家族。光有 Linux 內核根本沒法玩。再加上有了 GNU
工具集和編譯器也只能玩命令行。還有很多工具是從 OpenBSD 借來的,比如 OpenSSH 。X 和 KDE,GNOME,Xfce
等桌面環境加起來才算是一個基本桌面系統,然後再有各種開發者貢獻的自由軟體,以及操作系統維護者的質量管理,軟體包管理和用戶支持,這才算完成。按照這個標準誕生的操作系統有至少兩百多個,著名的有 Debian(爸爸),Ubuntu(兒子),Linux mint(孫子),Fedora,openSUSE,Arch Linux,Gentoo。還有企業版的 SUSE,Redhat (RHEL)。

為什麼我們需要 GNU/Linux 呢?她不只是另一個操作系統的同類商品,而是代表一種新思路:任何人都有使用,修改和發布軟體的權利。

要了解自由軟體的宗旨,可以參見:

  1. https://zh.wikipedia.org/wiki/%E7%90%86%E6%9F%A5%E5%BE%B7%C2%B7%E6%96%AF%E6%89%98%E6%9B%BC
  2. https://zh.wikipedia.org/wiki/GNU
  3. https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6

推薦 Linus Torvalds 的自傳 Just for Fun: The Story of an Accidental Revolutionary


歪樓~

辦公室台式機Windows,可以玩遊戲,筆記本Mac,出門續航能力傲視群雄,而且有QQ,真正工作用ssh到遠程的Linux伺服器。

要說必不可缺,可以不玩遊戲,出門在外可以看報,但是要是連不上Linux伺服器那我就分分鐘暴走了。


用ubuntu的時間不是很長,從12.04到14.04吧,不過現在馬上就要到15.04了?

一開始只用linux是為了控制自己不玩遊戲,後來也有過裝嗶的想法,但是到現在了,可以說linux真的很好用。

抖個機靈吧,有次在圖書館,旁邊一哥們要走了,關機,走人,很正常的順序嘛,然後,關機的時候windows賣了個萌:「系統正在安裝更新,請不要關閉電源.」 然後我就偷偷地笑了,那哥們簡直無奈,這也不是那也不是,那可是飯點啊。。。

Ubuntu從來沒要求過我什麼,頂多更新完內核的時候要重啟,當然,你可以選擇無限制延期。

在linux下的首要任務不是會敲代碼,而是要理解她。系統的所有組成部分都會是一個文件,每個文件都有自己的用處,而且你都可以看的清清楚楚,一開始的確會很困難,因為在windows下你只需要點來點去就可以了,然而,在這裡,你需要自己動手,才能豐衣足食。Linux is not for beginers.這句話說的很對,但是,什麼事情不是從零開始的呢?

下面說一下我的經驗,也算是步入正題。第一次寫這麼長,如需轉載,請連我的博客一起轉上:Wrfly"s blog (github不倒,我就不倒~)

1.安裝軟體

  • apt-get
    是我第一次接觸到的,因為一開始用Ubuntu,我真的不會安裝軟體,一個意外的機會,我看到了《笨兔兔的故事》這本書,如獲至寶,一天就看完了,很順暢,感謝作者!當然apt-get並不是萬能的,有些組件是意想不到的,你要安裝這個,必須要安裝完那個,要安裝那個,還要安裝那那個,煩嗎?安裝完了就不煩了。
  • 過了apt-get這個階段,就會是configuermakemake
    install一條龍了。linux自帶gcc,寫代碼很容易,編譯更容易,不用裝VS,或者VC++6.0這樣土得掉渣然而還被初學者奉為至寶的軟體。
    一般性的軟體都會有一個README文檔,這個是最重要的,也相當於軟體的說明書,好的README包括了所需組件,使用方法,安裝,卸載方法,最重要
    的,開源協議以及著作者簽名。
  • 下一個階段,我認為的,就是shell了,把所需要的組件什麼的以及安裝方法全部寫成命令,sh保存,放到github,寫得好的話,坐等star滿天飛~如果有興趣可以搜一下github上面的sh文件,你會得到更多。
  • 我比較奇葩,先接觸的apt-get,對於初學者而言,還是建議在軟體倉庫裡面找,或者是用新得立軟體包,你不需要在各種廣告橫飛的「XX」下載基地裡面挑的眼花繚亂,你只需要鍵入你需要的軟體名就可以了,這應該是第一步。

2.使用軟體

  • 雙擊?no,dash!ubuntu提供了一個類似於開始菜單的東西,我估計現在的win8,win10都是跟著Ubuntu學的,畢竟太好用了(我是說Ubuntu)。我這裡並沒有太好的建議給大家,工具因人而異,我喜歡用geany,因為輕量級,他喜歡用codeblocks,因為夠勁兒,還有人喜歡直接用vim,因為太快。沒法評價一個軟體的好壞,因人而異,各有所想。
  • 命令行方式啟動 這是第二個階段,如果你知道軟體的名稱,那麼用命令行的方式啟動是最好了(默認軟體自動後台運行,即,可以關閉terminal。)因為這會很快,不需要找來找去,雖然搜索速度很快,但是能用簡單的方法完成的任務,不需要多此一舉。
  • 寫個shell運行它 有時候自己安裝的第三方軟體不會自己添加到系統的PATH裡面,所以就需要我們自己運行。我第一次做的時候是一直cd到哪個軟體的目錄,然後 ./name 來運行,之後接觸了環境變數這一說,還有shell這一個神奇的東西,運行Burp Suit的時候再也不用cd...cd...cd...java -jar BurpLoder.jar 了。把自己寫的shell放在本地的PATH裡面,添加可執行許可權,無論在哪兒,輸入burp,tab鍵自動補全,完美後台運行Burp Suit。
  • 自己寫Desktop文件 這是我覺得最高端的方式了,具體的可以參看我寫的這篇ubuntu 自定義軟體

3.日常生活

  • 以前一直覺得用email很不方便,但是現在越來越覺著email經久不息這麼多年,是很有理由的。QQ強調的是即時性,而郵件則是正統性。如果你覺得郵件還是不方便的話,Pidgin也有支持QQ的插件可以用,雖然難看,但是,真的沒有廣告和彈窗。如果你需要在電腦和手機之前傳文件的話,沒有數據線也可以弄,有條件的自己搭一個Seafile伺服器,本地文件同步上去,還不用擔心被流氓翻看隱私,然後手機下一個客戶端,再從上面下載就好了,當然,會有點慢,會有點麻煩,會消耗流量,只是,我覺得這樣很酷。其實有數據線的情況下也不必這麼麻煩,直接插上,Android機完美匹配。
  • 辦公套裝,現在WPS的linux版本做得已經很不錯了,雖然有時候會崩潰,但是人家都給你保存啊,都有自動備份的,並且出現問題的幾率真的很小,幾乎不必擔心數據丟失。liboffice做的,可能跟國內的習慣不同吧,額,我也不知道國外是個啥情況,但是論壇上那些歪果仁都是用的他。繪圖什麼的,GIMP我覺得可是跟PS有的一拼,Inkspace繪製矢量圖,輕便,快捷。還有系統自帶的圖片瀏覽軟體,都是很不錯的。Shotwall photo manager,一款很不錯的圖片管理軟體。額,我是不是跑題了?總結一句吧,該有的都有,看你覺得夠不夠了。
  • 學習相關(敲代碼) 各種編譯環境幾乎原生,各種IDE都有linux版本,現在VS都開源了,哪裡還不好了?而且,用linux分分鐘搭一台伺服器出來,不帶卡的。mysql原生態支持,不必關心她在那兒,你只要知道,linux是開源的,共享的,他無處不在。很多軟體共享文件的,這也是為什麼linux系統可以做的那麼小,而windows動不動就幾個G,安裝完了一堆軟體發現C盤根本不夠用(別吐槽,C盤就是用來裝軟體的)。多說一句,敲命令行的男人可以拯救世界你信么?
  • 娛樂遊戲 前幾天剛接觸到一個好玩的,Stella,需要自己下載rom,但是2000+個rom也之有10+M!簡直了!裡面都是一些小遊戲,類似於,你小時候遊戲機裡面的。當然,如果還不夠,Steam應該可以滿足你了,裡面也有很多遊戲可以玩的,最出名的DOTA2.
  • 影音視頻 在線聽歌不行?誰說不行?不僅可以,而且還沒廣告!我知道的有一個深度播放器,聽說做的不錯,系統現在也出來了,deepin,感興趣的可以看一下。我一直用自帶的RhythmBox,電台,廣播,應有盡有。看視頻的話VLC就是個神器,在線也好,本地也好,無所不能。不帶卡的。

4.系統安全

  • linux是最安全的?差不多吧。至少我還沒中過「XX安全衛士」之類的病毒,整個電腦幹凈得很。我也不需要掃描木馬什麼的,如果非要做的話,也有很多掃描軟體,安裝calmtk,然後右鍵scan文件,不過目前為止我還真沒掃到過病毒。並且我也不需要整天掃描垃圾,簡直煩死人。
  • linux下的防火牆比windows下的我覺得也高出不少。抱歉我又在進行比較了。主要是屏蔽埠以及監聽流量,上次連接VPN的時候死活連不上,把防火牆關了就可以了,然後我自己添加了一個規則,完美。
  • 系統備份以及還原 有很多系統備份的軟體,而且我備份文件也是經歷過血的教訓的,不提了。你可以設置每天備份或者每周備份,初次備份時間可能會很長,但是之後的每一次都會很短,因為他會自動匹配文件,如果文件已經存在就不需要備份了,我很喜歡~ 然後就是系統還原,Timeshift是一個非常強大的工具,「只要文件還在,我就能給你恢復系統!」timeshift如是說。linux出故障是幾率很小的事情,no zuo no die,當然,die了也肯定有辦法滿血復活,就看你肯不肯下功夫了。前一個月用ubuntu,我三天兩頭重裝系統,新手,遇到問題最簡單粗暴地方法了。現在,我直接去google一下,或者Ask Ubuntu,再不行還有Stack Overflow呢!

只要動腦筋,肯定有辦法。

這是我初中的時候生物老師給我們講過的一句話,我把它適用在這裡。

最後,寫了這麼多,該上一張圖了吧~

=======2016-1-10=======

最近在翻譯一本書: Linux 101 hacks 也是關於Linux的, 感興趣的可以去捧個場 :)


「把XX給我發一份」

「我QQ傳給你吧」

「發郵件!」

嗯。。。是的,Linux千般好,也比不上某些流氓不資辭。。。

不說別的,就Mac自帶的KeyNote就甩什麼Libre Office/Open Office甚至是國人的WPS Office不知道多少條街。。。

看pdf還很好,看ppt簡直就是折磨。。。

還有某流氓輸入法,好不容易有for Linux還是和深度一塊搞的。。。

另外某重疊字母公司,好吧這個我已經無力吐槽了。。。

某數字公司倒是屁顛屁顛出for Linux。。。(實際上是for debian吧!)

總而言之,第三方軟體的缺乏使得Linux本身的易用性大大降低。。。

最近用OSX簡直不能更不開心!

homebrew什麼鬼!

這個破桌面什麼鬼!

只有只用過Windows的人才會覺得OSX的桌面環境狂拽酷炫吧!

說狂拽酷炫KDE甩你幾條街啊!

說高效訪問Awesome告訴你什麼事父愛如山!

真的,Linux的易用性在於,總有一款適合你。。。

就是這麼酸爽。。。

(但是沒有QQ/微信不能勾搭妹子好不開心。。。)


我是2007年巨硬的xp黑屏把我逼到Linux世界的,直到今年9月份。滿打滿算也用了6年的純Linux系統了。中間的主力發行版經歷過ubuntu、openSUSE、ubuntu、Chakra的變遷。

體驗如下(只講主流的桌面易用型發行版,按從安裝到使用的順序分享):

1.提供試用裝。主流的桌面易用型發行版都提供Live環境。也就是說,你從光碟或U盤啟動後,可以進入Live桌面,體驗這個發行版的審美是否合意。如果覺得不錯,點擊安裝程序安裝。

2.邊裝系統,邊娛樂。主流的桌面易用型發行版實現了Live環境和安裝系統合一。也就是說,你可以一邊裝系統,一邊用Live環境提供的各種娛樂軟體消遣,看個視(A/G)頻(V),上個網什麼的,不知不覺系統就裝好了。

3.省心。安裝之後都能開箱即用,該有的都有了,包括驅動。剩下的事情只是微調軟體系統,如刪掉不喜歡的軟體,換上喜歡的。

4.安心。所有軟體都在官方軟體源里下載,跟app store一樣。主流的包管理系統,不管是rpm系,還是deb系,還是pacman系,都支持命令行操作。

5.備份容易。因為是開源系統,文件歸類有同一規則,只要把/home,/etc,/opt神馬的備份後,下次重裝同一個發行版時,掛載或覆蓋回去就一模一樣了。

6.無碼。開源世界,神馬叫註冊碼?

7.上H網不中毒。設計優良的小眾操作系統都這樣。

8.硬體要求低。我的台式機是2007年的次主流配置(雙核athlon 4000+、2G內存、映泰的7025主板、集成顯卡、HDD)撐到了2014年初(註:2012年加了獨立顯卡,也是很低端的卡;2013年上SSD和4G內存)。2014年初,實在是感到老機有很多莫名其妙的小故障,估計快壽終正寢了,才換了新機。

9.世界充滿希望。剛開始用Linux時,會感到不方便,不過,社區對用戶反饋還是跟進得不錯,每次升級都能帶來小驚喜、小改進。比如,中文字體,以前真是殘缺不全,現在就很完整,美化做得也不錯。

10.逼你專心工作。如果你只是看個網頁、高清視頻、聽歌,寫個簡單文檔,用Linux系統太合適了。因為你壓根玩不了遊戲,哈哈~

11.裝逼。一開機是高清晰度的開機動畫,旁觀者各種眼瞎。進入系統,華麗麗的KDE桌面特技,旁觀者各種眩暈。再問問,這是啥,答曰:「Linux」,頓時感到無數的崇拜眼光聚焦在你身上。


習慣成自然。從大二開始,7,8年了,基本上95%以上的時間都只用linux。一開始喜歡各種折騰,因為很閑,還有點受情懷的影響。到後面有事情要忙了,也仍然只使用一個linux系統,因為有了自己的工具鏈,沒有什麼事情必須要回到windows下面去的。而linux擅長的東西windows下面又很難搞定,所以就沒有換的動力了。

主要的原因是不玩遊戲,專業是計算機。Windows還能有什麼吸引力呢?

另外,天生的鍵盤控眼裡,terminal完全無壓力,vim實在是神兵利器嘛


用Linux有十年左右了,從早期的藍點、RH9、Debian、Ubuntu(那會兒還免費領了幾張官方寄的安裝光碟來著)、LFS、Gentoo、Arch等等,到最終回到Debian,主流的發行版基本上都用過。中間大概有三年多的時間中毒過深時是純Linux(即電腦里只有一個Linux系統),還有大半年甚至是連X都不裝的純CLI環境。

而從三四年前起到現在,我的使用方式則變成了 Windows + VMware Player + Debian(no X) + SSH client + emacs(一般是不管用不用反正進了Windows就先把VMware打開放著,平時能休眠就不關機,所以完全沒有不方便的感覺)。在可預見的未來這種使用方式應該也不會變。我空閑時間裡寫點代碼都是在這種環境下,碰巧目前的工作環境也用的是這種開發模式。

我本身就不太沉迷遊戲QQ聊天,反倒是對摺騰所謂的技術問題很沉迷,用了Linux不僅沒有「干正事的時間更多」,反而在折騰發行版、折騰DE、折騰字體、折騰WM、折騰常用軟體、折騰不常用軟體、折騰Terminal、折騰emacs。。。等無聊的事情上浪費了太多時間,還好後來終於醒悟了。

也曾考慮過被很多人稱為最適合程序員的OS X,最終還是被我否定了,因為Debian我很熟悉,OS X上的UNIX環境對我而言完全沒有吸引力,而桌面方面顯然還是Windows更好用的。

所以我的體驗是:用 Linux 做開發平台很完美(畢竟我所有正事都是在 Linux 上乾的),但【只】用 Linux 作為日常系統,那就只能用「折騰」這個詞來描述了。


分頁阅读: 1 2 3