Ubuntu 行為規範(第二版)

星球

Blog:Breezy Dream

歡迎光臨小弟的Blog,這裡是小弟把自己的意見、看法甚至是心情丟上來的地方,也是和大家一起分享好東西的地方!歡迎大家一起進入我的微風之夢!
最後更新: 2016/4/23 2:12:00
RSS | RDF | ATOM

Kubuntu Xenial Xerus 正式釋出 | Linux 生涯的小回顧…

2016/4/23 2:12:00 | Breezy Dream
是說今天是 Ubuntu 系列發行版 Xenial Xerus 正式推出的日子,因為受夠了 Wily 的各種問題,因此不像以往釋出後都會觀望等大家把地雷踩光大約一個月多再升級,這次等待已久今天一看到消息就立刻開下去更新了。


由於升級 Kubuntu 我可以算是(被炸的)經驗豐富,這次升級之前做了萬全的準備,因此升級的過程算是十分順利,在國網中心的穩定的套件來源下,很快就完成更新了。更新過程和更新完後也都沒遇到什麼障礙,幾乎可以算是無痛了吧。

看到噗浪上有分享(沒有,我沒有打錯字)從 7.04 用到現在過了九年,這才驚覺從我第一個用的 ubuntu 版本 5.10 到現在,已經整整過了超過十年的歲月了。真的成為 ubuntu 十年用戶了啦……

以下簡單回顧一下我接觸 Linux 的歷史,這應該可以算是我人生最重要的轉折之一了:
  1. 第一個接觸的非微軟出品作業系統: FreeBSD 大約是 2003 年,會有這個機緣,也是因為開始認識什麼是「自由軟體」。
  2. 第一個接觸的 Linux 發行版: RedHat 9 ,約 2003 ,距今約 13 年。
  3. 第一個接觸的 Linux 桌面環境: GNOME , RedHat 9 的預設桌面環境。
  4. 第一次使用 KDE 作為桌面環境: Mandrake 10 的預設桌面,根據記憶應該是 KDE 3.2 ,大約 2004 年,距今 12 年左右。
  5. 在往後雖然也有短暫嘗試其他桌面環境或短暫用過 GNOME ,不過時間都不長,之後都是很穩定的待在 KDE 。 所以這 12 年來幾乎所有的時間都是使用 KDE 為主。
  6. 第一次接觸的 Ubuntu 版本:  5.10 Breezy Badger ,距今約 10 年。沒錯,本網誌的名稱確實是受到 Ubuntu 這版的版本代號影響而取的。
至今十年過去了,我每天靠 Linux 工作,工作以外的時光也是用 Linux ,不知不覺也已經過了 13 年了呀……

Download Kubuntu 16.04 LTS from here

ThinkPad X220 EFI 開機問題

2014/5/29 3:26:00 | Breezy Dream
由於使用於 X220 的系統是直接繼承自 X61 ,故其使用的是傳統的 BIOS 開機。為了達成快速開機,順便認識一下這個未來趨勢,花了很多很多的時間在轉換 UEFI 上,怎麼都搞不定。後來發現其實最後是有安裝成功的,不過 X220 有奇怪的問題會造成無法開機,在這邊記錄一下其行為與眾不同的地方。

  1. X220 不會從 /boot/efi/efi/*/*.efi 開機,也就是說一般 ubuntu 安裝好的 /boot/efi/efi/ubuntu/grubx64.efi 不會被使用,你必須手工把 /boot/efi/efi/ubuntu 更名成 /boot/efi/efi/boot ,且把 grubx64.efi 改名成 bootx64.efi ,這樣就可以讓 X220 正常開機了,不知道是 bug 還是 featured ,不過原因不明。
  2. X220 不會從一個使用 GPT 分割表的硬碟使用 Legacy 模式開機(就是傳統的 BIOS 模式),假如你使用了 GPT 分割表,就不能不使用 UEFI ,不然 X220 會打不開……
  3. BIOS 選項中,在「Config」→「USB」裡面,有一個選項叫作「USB UEFI BIOS Support」,按照字面意思是啟動或關閉對於 USB 裝置上的 UEFI 是否啟用支援(我有理解錯誤嗎?),但是如果你嘗試著把它停用的話,你會發現無論你開機順序怎麼設定,他都不再從 USB 裝置開機,包含使用傳統 Legacy Mode 的 USB 可開機裝置。
問題依舊存在於 X220 目前最新版本的 BIOS 當中。
以上,就是 X220 龜龜毛毛的 UEFI 開機流程。 題外話,開啟 Security Chip 會讓開機變慢 5 ~ 10 秒,如果沒有特殊需求且希望加快開機,可以把 Security Chip 關掉。

目前從按下開關到進入 KDE 可以開始使用只要 28~35 秒! \(^ ^)/


gcin icon on unity

2014/2/12 17:18:00 | Breezy Dream

老問題了,不過常常給人用 Unity 都會碰到這樣的狀況。 在 Unity 中使用 gcin or hime 的時候都會碰到常駐圖示無法正常顯示的問題。 需要修改一些設定才能夠讓 Unity 的 panel 出現所有的常駐圖示。 記錄一下。

$ gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"

Re-enable Hibernate of Ubuntu 啟用休眠功能

2013/10/20 4:05:00 | Breezy Dream
筆電的環境中常常使用到的除了睡眠(Sleep/Suspend to RAM)以外,就是休眠(Hibernate/Suspend to Disk)了。 不過由於 Ubuntu 的休眠有許多失敗案例,所以 Ubuntu 12.04 起預設是把 Hibernate 的功能關掉的,故如果想使用 Hibernate ,可以手動重新把它打開! 其實我本來也很少使用 Hibernate ,因為原本的硬碟過慢,等待休眠和從休眠中恢復都很耗時。 直至這兩天更換了一顆新的硬碟,想來重新試試 Hibernate 時,才發現 Ubuntu 預設將之停用了。

◎注意:使用 Hibernate 功能有一個先決條件就是你的 SWAP (置換空間/虛擬記憶體)必須大於你的實體記憶體,否則 Hibernate 將會失敗。

首先,先使用你慣用的文字編輯器開啟 /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla 檔案(需 root),如不存在請建立它,並加入以下內容:

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

接著將其儲存,並開啟 /etc/default/grub ,找到 GRUB_CMDLINE_LINUX_DEFAULT 變數,並在其中指定 SWAP 分割區位置,假設你的 SWAP 分割區實體是 /dev/sda2 則:

GRUB_CMDLINE_LINUX_DEFAULT="splash quite"

改成

GRUB_CMDLINE_LINUX_DEFAULT="splash quite resume=/dev/sda2"

接著儲存後退出文字編輯器,然後更新 grub 設定。

$ sudo update-grub

如此一來,應該就可以正常使用休眠功能了。

最後附上陪伴我很久的 5K250 160G 硬碟照片一張,他仍舊非常稱職好用,只不過 160G 真是太小了,裏面已經滿到不行。 等到確定新硬碟資料都無問題之後,準備將其轉給手邊其他機器使用。
5K250-160

X61 的風扇轉速

2013/9/6 22:05:00 | Breezy Dream
ThinkPad 一直都有很優秀的散熱設計,一般情況下都可以兼具良好的散熱能力和安靜,不過 X6 系列算是歷代 ThinkPad 當中散熱設計比較敗筆的其中之一。 相對於其他 ThinkPad 比較溫暖一點。
由於我很習慣把電腦擺在腳上打,故原本的風扇轉速調整不是很符合我的需要,常常要是做一些負重比較重的事情溫度上到 70℃ 腳就會被弄得很不舒服,因此需要加重一下風扇的馬力來壓壓溫度,儘量避免溫度到 65℃ 以上,因此我都是用 thinkfan 來控制風扇。 不過以 sysfs api 提供的風扇控制當中, ThinkPad 的風扇轉速分成七個級距,實際上 X61 的風扇只有四段轉速,因此需要釐清一下哪個級距分別對應到哪一段,比較好決定要在什麼溫度底下開多少。 以下是從 ThinkWiki 查到的資料:
  • 0: 關閉
  • 1~2: ~3400 rpm
  • 3~5: ~3800 rpm
  • 6~7: ~4500 rpm
  • disengaged: ~6700rpm
配合 thinkfan 調整一下,兼顧一下平時溫度不高的情況可以不用開風扇,腳總算是舒服多了,平常也安靜多了。 畢竟風扇也是要吃個差不多 3W 電,溫度低時不開其實也好。

PPA of NGINX @ Ubuntu

2013/9/6 5:04:00 | Breezy Dream
最近以來一直跟 nginx 是好朋友,因為他的效能比 Apache 好上不少,又可以做反向代理和負載平衡。於是我後來架的機器都以 nginx 為首選了。


Ubuntu 套件庫內的 nginx 預設不是最新的,不過 NGINX 有 ppa 可以直接用這個取得最新版本就好了。

Ubuntu 8.04 LTS 到 10.04 LTS 的升級 & 更換 grub2

2012/2/8 16:39:00 | Breezy Dream

今天終於完成了幫家裡的伺服器從 8.04 升級到 10.04 的工作,一般來說相信用過一陣子 Ubuntu 的人大概都已經熟知如何做版本間的升級了,但是 LTS 版之間的升級可能會比較少人知道一點。 如果你也有只鎖定 LTS 版升級的電腦,方法可以看這邊。

Ubuntu Logo

首先確定有安裝 update-manager-core ,沒有的話請先安裝:
$ sudo aptitude install update-manager-core
接著請打開 /etc/update-manager/release-upgrades ,把 Prompt 改成 lts ,表示你要鎖定 LTS 版進行更新:
# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
# never - Never check for a new release.
# normal - Check to see if a new release is available. If more than one new
# release is found, the release upgrader will attempt to upgrade to
# the release that immediately succeeds the currently-running
# release.
# lts - Check to see if a new LTS release is available. The upgrader
# will attempt to upgrade to the first LTS release available after
# the currently-running one. Note that this option should not be
# used if the currently-running release is not itself an LTS
# release, since in that case the upgrader won't be able to
# determine if a newer release is available.
Prompt=lts

假如你未來不打算只跟 LTS ,你也可以將 prompt 改成 normal ,這樣未來你就可以透過這個升級程式直接進行網路升級。好的,接下來就可以開始升級工作了:
$ sudo do-release-upgrade --proposed

整個升級過程會非常的漫長,我甚至還遇到升級到一半整個當掉的情形,想當然 upgrade-from-grub-legacy 爾就是整個大亂(現在想起來真是災難一場)。 必須要注意的是,升級完了以後請檢查一下 /boot/grub/menu.lst ,看新的核心是否擺在最前面,如果不是的話請手動更改,免得下次開機時系統企圖使用舊的核心開機會開不起來。

此外,歷經 8.04 LTS 到 10.04 LTS ,在開機的部份已經有非常多的變革,包括 grub2 / plymouth / udev 等等,其中新版的 10.04 LTS 預設是採用 grub2 ,不過如果你是從舊版升級,通常升級程式不會自動幫你改,你可以透過以下方式改為 grub2 。

$ sudo aptitude install grub2
這個動作會安裝 grub2 並移除舊版的 grub ,安裝好新版的 grub2 以後,要執行以下指令,以完成升級工作和轉換設定檔的格式:
$ sudo upgrade-from-grub-legacy
未來新的 grub 設定都會存放在 /boot/grub/grub.cfg 這個自動產生的檔案當中(也就是按照遊戲規則,這不是給使用者修改的檔案),所以舊的 menu.lst 就沒有用了,所以要來清理一下垃圾:
$ rm /boot/grub/menu.lst*

基本上這樣就可以順利的轉換到 grub2 囉!

鍵盤滑鼠動彈不得

2012/2/8 16:39:00 | Breezy Dream

修了整整一個禮拜的電腦,今天終於有時間來寫篇網誌了! 這回來補篇上個禮拜升級完伺服器時遇到的怪異問題。

如果你也有遇到開機開到 gdm 隔一下下鍵盤滑鼠就瞬間失效,怎麼也不聽使喚的話,則你也可以試試這邊的方法。

據其他人遇到相同問題的情況,這個狀況通常是發生在 PS/2 的鍵盤和滑鼠身上,也就是你可能會發現你另外再搬 USB 的鍵盤滑鼠接上去以後,是可以正常運作的,而且在 Ubuntu 所提供的修復模式是不會有問題的。 不過即使你不開 X ,鍵盤和滑鼠還是會 freeze 住,此時你連想切換到文字模式都沒辦法。

此問題的詳細原因我沒有去探究,不過這裡提供我在網路上找到確實可行的解決辦法。 首先第一種是在開機選項加上 acpi=off ,不過在我的電腦上這樣會造成網路介面沒有辦法啟動,所以我嘗試了另外一位朋友說的,移除「irqbalance」,這麼一來一切就正常了。
$ sudo aptitude purge irqbalance
當然你還是可以嘗試在開機選項加上 acpi=off ,以 grub2 來說,也就是先開啟 /etc/default/grub ,並將 acpi=off 加入到 GRUB_CMDLINE_LINUX_DEFAULT 中:
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi=off"
儲存後再更新一下 grub 設定:
$ sudo update-grub
如此一來就算大功告成! 這個方法也可行,不過我不確定會不會像我一樣衍生出其他問題就是了。

Ubuntu Lucid Lynx & Trackpoint

2012/2/8 16:39:00 | Breezy Dream

是的! 每版都在改的 Ubuntu Lucid Lynx 這版又改了! 相信剛升級到 Ubuntu 10.04 Lucid Lynx 的 ThinkPad User 都會發現小紅點的中鍵滾輪又不會動了吧! 沒錯,之前放 .fdi 的這個辦法又不管用了 (LOL)

IBM ThinkPad

新的方法很簡單,只要把以下內容填入 /usr/lib/X11/xorg.conf.d/20-thinkpad.conf 這個檔案:
Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TrackPoint"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection

存檔後再重新啟動 X 即可,說真的從本來的 fdi 改回這個方式,有沒有一種又改回來一點的感覺呢? 現在的作法好像就是把 xorg.conf 的裝置部份弄成幾個獨立的 xorg.conf 的檔案,存在 /usr/lib/X11/xorg.conf.d 底下。

至於小紅點速度和其他參數的調整,之前那個工具還是可以用的! 64 位元系統用戶只要抓 tarball 原始碼下來編一編就可以囉! 只是不知道這個工具怎麼不把小紅點中鍵滾輪的設定也給包進去呢? 還是我們可愛的中鍵滾輪設定實在是太變化莫測所以沒辦法涵蓋嗎? LOL

總之,我親愛的小紅點總算是可以正常使用了……

Stable 的 Google Chrome for Linux 與一些想法

2012/2/8 16:39:00 | Breezy Dream

在經過漫長的測試與等待,歷經了好幾版的測試過程,雖然 Google Chrome 的版本跳的飛快(人家老牌 Opera 也才滿 10 ),一下子就來到了 5 ,很開心的是,在這版 Google Chrome 5 的正式版本,除了原本的 Windows 以外 for Linux 和 Mac 的版本都同時脫離了 Beta 階段。 首個 stable 版本的 Google Chrome for Linux 終於誕生囉!

Google Chrome Logo

關於 Linux 版,如果你之前已經安裝過 Ubuntu/Debian 最新版本的 Google Chrome Beta (Chromium 不算) 並且不希望在繼續跟 Beta 版的朋友 ( 也就是直接上 6.x beta ) ,可以直接透過以下方式更換成最新的穩定版本:
$ sudo aptitude install google-chrome-stable

如果你是之前沒有安裝過 Google Chrome 的 Linux 用家,可以直接前往 Google Chrome 的官方網頁進行下載! 在往後版本的更新上,其中 Ubuntu/Debian 的用戶更是免煩、免驚、免害怕! 因為在您安裝完 Google Chrome 的 Ubuntu/Debian 安裝包後,它會偷偷的在 /etc/apt/sources.list.d 裏面寫入一個更新來源,因此未來 Google Chrome 也會和其它的軟體一併更新! 無需再去下載 .deb 安裝! (至於 .rpm 的部份我就不是很清楚了)

小的最近其實已經改投 Google Chrome 的懷抱了,雖然 Firefox 在 Linux 上獲得普遍的支持,但很無奈的是 Linux 平台卻不是 Mozilla 所關注的重點,導致 Firefox for Linux 長期效能低落。 換個角度看, Google Chrome 和 Linux 由於被作為 Chrome OS 的核心技術,反而 Google Chrome 就針對了 Linux 平台做了不少的最佳化,導致 Linux 平台上 Google Chrome 無論各方面的效能表現都大大超越 Firefox ,說來還真是有些諷刺。

雖然 Google Chrome 在作為一個現代瀏覽器的角度,還是需要東拼西湊才能把一些被視為基本功能的東西補齊 (例如 RSS 和自動捲動) ,但是現在 Google Chrome 在效能上的表現和針對各種網頁標準的支持,卻已經構成了讓我離開 Firefox 的極大誘因。

最後當然還有一點就是個人偏好的因素,相較於 Gecko 我個人本來就比較偏好 KHTML(WebKit) 排版引擎,一來 KHTML 本身體質就比較快速,二來一直以來 KHTML 針對標準網頁技術的支援也一向都比 Gecko 的腳步更快,雖然 KHTML 最近發展腳步遲滯,但其衍伸 WebKit 卻獲得廣泛的支持與應用。 上圖是使用 Peacekeeper 的瀏覽器 Benchmark 網站所測得的結果,測試環境是 Kubuntu 10.04 64-bit ,當然這不能代表一切,但也足以作為一部份的效能參考。

當然我們不能也無法否定 Firefox 或 Mozilla 在瀏覽器以及開放標準上的歷史意義, Firefox 的確是帶我們走入更自由更開放網路世界的重要關鍵之一,在這段時間以來我們也可以看到 Mozilla Firefox 的不斷成長與堅持,而且在未來我們還是需要像 Firefox 這樣的角色。

基於現實的理由我暫時離開了 Firefox ,但我由衷的希望看到 Firefox 進一步的成長並改善現時的情況,期待看到 Firefox 4.0 。