[轉]Linux桌面使用之道

http://blog.csdn.net/redguardtoo/archive/2011/05/08/6403839.aspx

 

=============================================================================================

 

我在個人電腦使用Linux桌面已4年(工作中使用Linux的時間要長的多),深深體會到了Linux桌面的好處.

從某種角度來看,Linux桌面要比Windows桌面好用得多.前提條件是,

  1. 使用者有一定的理性思維
  2. 堅持適合自己的原則
  3. 方法和工具

我使用的Linux發行版是Arch Linux ,其特點(缺點?)是軟件更新快,最新的軟件包未必經過長時間的嚴謹測試.所以Arch Linux絕不是發行版中最不折騰人的,我能和它和諧,和其他發行版就不用說了.

第一原則,不折騰

對我而言,使用軟件的目的是工作和娛樂.軟件只是幫助我實現目的的手段而已,和實現目的無關的資源消耗越少越好.

堅持該第一原則,日常操作就可以很有效率.

選擇軟件的標準

選軟件就是投資

我的標準是選軟件要成本小收益大.收益如前所述,就是工作和娛樂.所以只需考慮削減成本了.

具體措施,就是隻用少量軟件做儘可能多的事.

Arch Linux的流行作風是一日一更新.我使用的軟件數量少,要更新的也少.

那麼我是否需要一日一更新呢? Arch Linux有這個選項並不等於我必須這麼幹.今天我剛升級完1.3版本,明天1.4又出來了,爲什麼我不多等一天,直接升級到1.4呢?

我的作法就是大多數軟件我短期內不升級.最常用的軟件我會根據需要理性升級.例如,firefox的安全升級我總是及時跟進,Linux的kernel我一年才升級一次.

依據投資收益的原則,我偏愛命令行軟件,因爲它們不依賴於圖形界面庫,升級的壓力小很多.同類的命令行軟件,我會優先考慮依賴的第三方庫比較小的.例如用C寫的軟件優於用python寫的軟件.

我有個根據編寫軟件的語言來判定軟件是否輕小的主觀標準,c < perl < python, ruby, ….. < c++, java.

以下是我用的主力軟件,其中的編輯器,瀏覽器,Shell,桌面,都是功能強大,定製度高,可編程.

編輯器

我用Emacs,考慮到它可以做任何事,可以認爲它是輕量級的.

Vim也用,萬不得已用nano,結束了.

瀏覽器

沒多少選擇,firefox,如上所述,firefox是我更新頻繁的軟件.

Shell

我用bash,在我的.bashrc中有如下一行,

export HISTSIZE=200000

確保我輸入的所有命令都不會丟失,因爲我說過,我偏愛命令行軟件,但是要記住常用命令行會消耗我很多腦細胞,這是不符合投資收益原則的.所以我讓shell替我記住.我只要記住按Ctrl+R可搜索歷史就好了.

桌面

Gnome,KDE是絕對不會考慮的.我安裝了Xfce4以給我太太用.我使用更輕量級的musca,安裝包大小才100K.

其他

網絡管理我用Netcfg(命令行) 而不是wicd,因爲wicd的依賴多而且曾經摺騰過我,播放視頻我之用mplayer (命令行),等等.

軟件的使用也需維護

安裝軟件在包管理系統的幫助下很簡單.麻煩的是最新軟件有時候不穩定,這通常是因爲軟件的配置文件更新引起的.

將/etc目錄下的默認配置文件備份

Linux的軟件默認配置文件在/etc/目錄下. 我使用分佈式版本控制軟件git 管理/etc目錄,分佈式版本控制系統好處很多,最大好處就是數據到處有完整備份,非常安全.具體細節請參考wikipedia .

同類軟件mercurial,bzr也可,要考慮的因素是第三方服務器是否支持(對分佈式版本控制軟件來說,第三方服務器不是必需的).

在Arch Linux上每次更新完系統或者安裝最新軟件包後,可以考慮手動將/etc目錄下的文件用git備份(Debian可自動備份).

sudo git add /etc/
sudo git commit -am "backup"

一旦某個軟件工作不正常了,可以檢查其/etc下默認配置文件的修改紀錄,將配置文件恢復到上一個正常工作的版本.

sudo git log /etc/mysql/my.cnf #check history
sudo git checkout commit_ref(version) /etc/mysql/my.cnf #restoren file

/etc/目錄下的臨時文件不需要備份,以下是我的.gitignore

*~
*.pacnew
*.pacsave
*.swp
*.pacorig
*.swp
mtab

將用戶目錄下的用戶定製配置文件備份

我也是用git,配置文件備份到github 的服務器上.這裏必須用第三方服務器同步配置,因爲我使用多臺電腦.

具體操作可寫成長篇大論,這裏不展開了.

將軟件版本降級

最新版本的軟件可能不穩定,這時降級是必要的.

請參考Archwiki ,實際上很簡單,安裝名爲downgrade的軟件,然後讓它幹所有的體力活就行了.

yaourt downgrade

雲備份

電子圖書,多媒體文件用專業的雲備份服務更好,我推薦Dropbox .

順便說一下,國內的服務不要用,安全原因,不言自明.

備份操作系統

不用經常作,又有云備份,又有分佈式版本控制系統,怕什麼.

備份整個硬盤是用Clonezilla ,只是備份操作系統的話用以下命令,

tar zcvpf mylinux.tgz --exclude=/proc/* --exclude=/lost+found --exclude='mylinux.tgz' --exclude=/mnt/* --exclude=/home/username/* --exclude=/sys/* /

我建議用前者,因爲省事.

閱讀官方文檔

照着ArchWiki 安裝軟件,一般不會有問題.

加入社區

緊急客戶支持還是用IRC 比較好,沒用過IRC的可以裝firefox插件Chatzilla 體驗一下.

虛擬機的用處

我虛擬機軟件使用VirtualBox,虛擬機爲Windows XP,該操作系統我會定期更新安全補丁.軟件只安裝了IE和firefox.該操作系統我只用來操作網絡銀行.每次操作完畢,我會重置虛擬機狀態到操作前的snapshot.

救急工具箱

即使採用了上述做法,一年中也會有一次倒黴.就是我要用的某個版本的某個軟件出問題了.沒人能幫忙,不能降級,改軟件配置也沒用,也沒有可用的錯誤信息.

問題看起來很難,事實上5分鐘就能搞定.這往往是因爲某軟件需要的第三方庫的版本出問題了.

比如說firefox不能啓動,運行如下命令調試,

strace -o err.txt firefox

讀一下err.txt就可以知道是哪個庫出問題了.相信我,這是不需要任何編程知識的,猜加google就可以了.

你知道哪個庫文件出問題了(保險起見,ldd firefox確認一下).比如/usr/lib/libpng.so.14找不到,簡單的解決辦法是用另一個版本的庫文件代替.

如果/usr/lib/libpng.so.15是存在的,我們可以用該庫頂替libpng.so.14,

sudo ln -s /usr/lib/libpng.so.15 /usr/lib/libpng.so.14

通常這樣就行了.

萬一冒名頂替不行,我們就必須根據丟失的庫文件查找需要安裝的軟件包(pacman沒用的),

pkgfile libpng

pkgfile屬於軟件包pkgtools,所以你必須安裝pkgtools,

yaourt -S pkgtools-git

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章