跳到主要內容

迎接新生兒 CJScope ZQ-230 + Ubuntu GNOME 14.04.2

新生兒 CJScope ZQ-230

筆記型電腦發展一直很迅速,至這兩年才慢慢的被平板取代掉一部分的市場,如果只是上上網或玩玩小遊戲倒是很夠用了,想做圖或是寫程式的話,還是使用筆記型電腦比較好一些,個人覺得平板暫時還是無法完全取代筆記型電腦。

上一臺筆電為了追求輕薄選擇了 inhon 的 carbon book,全機使用碳纖外殼整體重量才 880 公克,實在是非常適合攜帶的電腦。可是卻有一個對我來說非常大的致命傷,RAM 只有 4GB 大小而且還是與內顯共用,全機一體成形記憶體燒在主機板上,完全沒有能夠加裝的空間,開啓 Chrome 瀏覽器不久就會面臨記憶體吃光光的窘境…

為了更能夠以筆電來工作,尋覓一陣子各廠牌的筆電,總是會有一兩樣規格的不符合需求。記憶體足夠的螢幕解析度太差 沒有 FullHD ,輕薄的筆電又是記憶體不足,什麼都不錯的又太過於厚重。各大廠在產品定位區隔上都掐的剛剛好!老天爺啊~怎麼就是十全十美的筆電呢?!

上天果然是有聽到宅男的呼喚,學弟在某一天突然帶來一臺沒看過的廠牌 CJScope,上網搜尋了一下這個品牌原來是客製化筆電的品牌(亮點:客製化),當週就立馬到他們的旗艦店去現場試機和討論,當天就拜倒在組裝的魅力下敗了一臺 ZQ-230。雖然沒有談成扣除掉 Windows 作業系統,自己挑了喜歡的硬體組合還是感到很滿足的啊!

安裝後的桌面截圖

選擇 Ubuntu GNOME 14.04.2 LTS

由於已經將日常的工作都轉到 Linux 平臺上,所以把 Windows 安裝在一般的硬碟,將 SSD 留做安裝 Linux 的空間以加快執行的速度。工作的桌機安裝的是 Ubuntu 14.04(Unity 桌面系統),家裡的桌機安裝的是 Linux Mint Cinnamon 17.1,HTPC 使用的是 Linux Mint MATE 17.1。一直想嘗試不一樣的桌面系統,所以在不同設備上安裝不一樣的桌面版本來嘗試。Linux 原本的設計就不是為了 Laptop,所以在電力消耗上是容易讓人頭疼,因為這一片文章 Ubuntu GNOME 14.04 “Trusty Tahr” LTS Review: Very very good! 後來決定選擇 Ubuntu GNOME 14.04.2 來試試。

硬碟分割

原本蠻擔心固態硬碟會因存取次數而有壽命上的問題,很多國外的文章都有提到現在的固態硬碟是今非昔比了,存取次數算一算都可以用上50年了。在分割的安排上除了存取次數太頻繁的,或是怕資料因為固態硬碟毀掉而蒸發的之外,全都安排放在固態硬碟中。

ZQ-230 可以安裝兩顆硬碟,一個是 M2 SATA 可安裝固態硬碟(SSD),另一個是 SATA3 的一般硬碟(HDD)。在分割區的安排是希望以提速為主,所以將 /boot、/root、/usr、/home(部分以 Link 方式到 HDD)都放在 SSD上,/tmp、swap 都放在HDD上。/var/log、/var/spool 和 /var/tmp 則是放在 ramdisk 上。

/boot   1GB (SSD)
/usr    40GB (SSD)
/       40GB (SSD)
/home   40GB (SSD)
/tmp    20GB (HDD)
swap    16GB (HDD)

安裝及設定

VIM

系統預設沒有安裝 VIM,有許多修改設定的方式都已經習慣使用 VIM,第一步當然是要先安裝它!

$ sudo apt-get install vim

Git

身爲一個程式人必備的東西啊~順便裝了我覺得不錯的視覺化界面 gitg。

$ sudo apt-get install git gitg

輸入法 ibus-rime

神級輸入法引擎 RIME 加上拼音,近來一直都使用 fcitx + rime 作爲輸入,可是 ibus 現在已經是內建的預設輸入法,先前不穩定的年代是使用 python 開發現在已經更換成 C++,速度上進步很多,加上一直有在更新調整,就決定來試用 ibus + rime 的組合 rime with ibs

$ sudo apt-get install ibus-rime
$ sudo apt-get install librime-data-luna-pinyin librime-data-terra-pinyin

OpenJDK -7

Java 7 之後已經是以 OpenJDK 為主要發展的軸線,有一些工具的執行仍需要有 Java runtime 的環境,所以安裝 OpenJDK 7。

$ sudo apt-get install openjdk-7-jdk

安裝 gtk theme 和 icon theme

Numix

$ sudo apt-add-repository ppa:numix/ppa
$ sudp apt-get update
$ sudo apt-get install numix-icon-theme-circle numix-gtk-theme 
$ sudo apt-get install numix-icon-theme

Moka Project

$ sudo add-apt-repository ppa:moka/stable
$ sudo apt-get update
$ sudo apt-get install moka-icon-theme faba-icon-theme faba-mono-icons 

安裝 Sqlite Browser

$ sudo add-apt-repository ppa:linuxgndu/sqlitebrowser
$ sudo apt-get update
$ sudo apt-get install sqlitebrowser

重新開機後的螢幕背光問題調整

在 ubuntu 14.04 的版本螢幕亮度在登出這次的 Session 後是不會被記憶住的,每次重新開機後,都會變成讓人眼睛會瞎掉的全亮模式,既傷眼睛又耗電。之前每次都是手動的去調整螢幕的亮度,可是每一次都要重新調整實在是有點累人。參考了 WEB UPD8 的文章1做了些修改來改善。

  1. 找出 ACPI 的界面控制是什麼,這個可以透過 Xorg 的 Log 來找。

    $ grep backlight /var/log/Xorg.0.log
    [     5.251] (--) intel(0): Found backlight control interface intel_backlight (type 'raw') for output eDP1

    可能會得到如上面的結果,在我的例子裡可以看到我的是 intel_backlight 將這個名稱記住,後面會使用上。

  2. 使用鍵盤上的硬體控制熱鍵(Fn + brightness keys)將螢幕的亮度調整到想要的範圍。

  3. 輸入下面的指令取得現在的亮度數值資訊。

    $ cat /sys/class/backlight/intel_backlight/brightness
    169

    Note: 這裡 backlight 資料夾中的 intel_backlight 是在步驟1中取得的 ACPI 控制界面名稱。記住這裡所得到的數值。

  4. 以 root 身份在 /etc/init/ 下建立 fixbrightness.conf 檔案

    $ sudo vim /etc/init/fixbrightness.conf

    貼上後面的內容

    description "Sets brightness after graphics device is loaded"
    
    start on graphics-device-added
    task
    exec /bin/echo BRIGHTNESS_VALUE > /sys/class/backlight/acpi_videoX/brightness

    Note: 這裡的 BRIGHTNESS_VALUE 以在步驟3中取得的數值替換。

  5. 重新開機,開機後就應該會是設定中的亮度不是全亮狀態了。

電源管理

ZQ-230 的電池容量很小,安裝完後馬上就發現系統的電量顯示,很有感的明顯的下降。使用時間約只有兩個半小時!!!這和官方標榜的九小時差異太大,即使接了兩顆硬碟比較耗電,但也不至於這麼離譜吧?!換到官方建立的 windows 中測試,也有四個小時左右的續航時間,應該就是校調的問題了。

StackOverflow 上有篇發問2討論探討了這個問題,所以文章一開始就提到 Linux 原本不是設計安裝在 Laptop 上使用的作業系統,對於電源的最佳化是需要再用其他套件調整。

安裝 intel p_state

Laptop 的 CPU 若全速執行當然是很耗電的,intel 後來使用動態頻率調整來降低電源的消耗。於是建立了 intel p_state 專案的程式碼來調整。後來在 Ubuntu 的套件中已經安裝 intel p_state 支援,但是預設是沒有被啓動。透過下面的修改,可以啓動對 intel p_state的支援。

  1. 編輯 grub 設定

    $ sudo vim /etc/default/grub
  2. 在檔案中找到 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 並且把內容修改爲 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=enable"

  3. 存檔並更新 grub 設定。

    $ sudo update-grub
  4. 重新開機套用設定。開機後檢查是否有啓動。

    $ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver

安裝TLP

TLP 是一個很好的電源管理程式,有啓動 intel p_state 可以讓 TLP 的電源管理變得更好。TLP 安裝後會自動啓動,也可以使用預設的設定就好。安裝方式:

$ sudo add-apt-repository ppa:linrunner/tlp
$ sudo apt-get update
$ sudo apt-get install tlp tlp-rdw

安裝 Powertop

PowerTOP 是個分析、監控電力消秏的節能工具程式,是由 Intel 於 2007 年以 GPLv2 授權釋出的開放原始碼專案。我們可以使用它找出 GNU/Linux 上秏電的套件,並透過停用不必要的功能以達到省電的效果。
可以參考凍仁的這篇文章,使用 apt-get 安裝即可。

$ sudo aptitude install powertop

軟體安裝

Ubuntu Software Center

在 Ubuntu Software Center 安裝一些常用的軟體:

  • System Load Indicator
  • Shutter
  • Filezilla
  • Geany
  • GParted Partition Editor
  • Meld Diff Viewer

手動下載安裝

  • 下載安裝 Dropbox
  • Google chrome
  • Netbeans

留言

這個網誌中的熱門文章

Word的合併列印如何出現「千分位」符號

今天樓下的同事突然問我一個問題,合併列印的時候如何顯示「千分位符號」(逗號),就是12 , 300。在Excel我們可以很容易的為儲存格裡的數字加上千分位的標記,但是儲存格實際儲存的還是只有數字,那個千分位符號是Excel給我們看的一種「格式」。 當我們在Word裡使用Excel做好的報表來合併列印的時候,Word會最真實的將這個數字欄位給讀出來,呈現在合併列印的欄位數值裡,無論在Excel理事不是有設定千分位符號,在Word合併列印後卻沒有出現,所以我們同樣的必須給他加上格式。 Word裡加上格式並不如Excel裡按一下就完成,加上逗號的千分位格式方法如後: 1.在Word裡插入合併列印的欄位變數。 2.在變數上按滑鼠右鍵,選擇「切換功能變數代碼」(也可以直接按Alt+F9),變數會由 << 經費 >> 變成 { MERGEFIELD "經費" } 。 3.加上格式就是把 { MERGEFIELD "經費" } 在}前加入數字格式參數 /##,###,會成為 { MERGEFIELD "經費" /# ##,### }(這裡指定五位數,以此類推) #:這個格式項目會指定要在結果中顯示的必要位數;如果結果不含該位數的數字,則 Word 會顯示一個空格。 0:這個格式項目會指定要在結果中顯示的必要位數;如果結果不含該位數的數字,則 Word 會顯示 0 (零)。 4.預覽內容,就可以發現千分位(逗號)出現,如果數值有零的話,最好可以換成 /# ##,## 0 ,避免空格出現。 數字格式參數請參考 Microsoft Office Online 。

在DOS下檔案名稱加上日期

由於要完成檔案自動備份的需求,以減少每日使用人工的麻煩,也可以避免人為疏失造成的遺漏,需要定時拷貝某個檔案至遠端,在檔名加上日期以避免檔案覆蓋的情形。由於近來接觸Linux較多,自然比較熟悉Linux的Shell語法,回到Windows裡卻想不到解決的方法。 開始使用電腦時,已經活生生的跳過了DOS的年代,雖然會使用Copy語法,卻不知怎麼加上系統日期,參拜估狗大師後得到了解答,使用%DATE%環境變數。 在DOS中使用date會顯示目前日期,但會要求輸入新的日期時間不符合需求,雖然加上"/T"不會詢問新時間,但因為date是指令無法使用在copy的語法中,所以我們使用%DATE%環境變數,所以在我們要加上日期的檔案上加上此環境變數:copy test.txt test_%DATE%.txt 結果並不如我們想像,使用echo看%DATE%的傳回值,會出現"2007/12/4",使用於copy語法裡系統回應「命令語法不正確」,我們必須去除「/」的符號,這就需要用到環境變數的擴充功能了! 用echo來測試: # echo %DATE:~0,4% : 取環境變數%DATE%的值,由第一碼開始取四碼(可以取出"西元年"的值)。 # echo %DATE:~5,2% :取環境變數%DATE%的值,由第六碼開始取二碼(可以取出"月"的值)。 # echo %DATE:~8,2% :取環境變數%DATE%的值,由第九碼開始取二碼(可以取出"日"的值)。 原先的 #copy test.txt test_%DATE%.txt 要更改成 #copy test.txt test %DATE:~0,4% %DATE:~5,2% %DATE:~8,2% .txt 拷貝後的檔案為test_20071204.txt

使用者只能 SFTP 登入自己的家目錄

使用者只能 SFTP 登入自己的家目錄 老師的電腦動畫課堂的期末作品,是開放讓學生透過 FTP 上傳自己的作品及網頁至實驗室的伺服器,由於 FTP 是明碼的封包傳輸於最近升級系統後,便考慮改用 SFTP(SSH File Transfer Protocol)來提供上傳的服務。 提供 SFTP 上傳的同時,希望使用者和以前一樣只能使用 SFTP 無法使用 SSH 登入伺服器。SFTP 為 SSH 的檔案傳輸服務,預設建立帳號的時候使用者同時可以使用這兩種服務。透過 SFTP only + Chroot 設定我們能限制使用者僅能 SFTP 並且無法離開自己的家目錄去到處閒晃。 安裝 OpenSSH 如果安裝的是 Ubuntu Server 應該在安裝過程會安裝 openssh-server 套件,沒有的話可以利用下面的指令安裝。 $ sudo apt-get install openssh-server 新增一個給 SFTP 使用的群組 sftpaccess $ sudo groupadd sftpaccess 修改 OpenSSH 設定檔 編輯 /etc/ssh/sshd_config 設定檔,在約 77 行的地方找到 Subsystem sftp /usr/lib/openssh/sftp-server 註解此行並修改為 Subsystem sftp internal-sftp 。 $ sudo vim /etc/ssh/sshd_config #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp 在檔案的尾端加上下面的片段 Match group sftpaccess ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 建立新的使用者並加入 sftpaccess 群組 在設定檔中,我們設置了 sftpaccess 這個群組套用要做 ChrootDirectory 的設定,所以我們將要限制的使用者,加入這個群組中。 $ sudo useradd