跳到主要內容

ASUS zenbook UX330U - Ubuntu 安裝筆記

最近剛換筆電,身為資工人,當然一定要裝上Linux 作業系統,Ubuntu自然是首選。
關於Ubuntu安裝過程就省略,本篇主要是紀錄一些安裝Ubuntu之後所遇到的問題,以及要如何解決。

Ubuntu安裝之道可以參考

我是安裝 Ubuntu 16.04的版本,以下的方法都是通用的 !

Ubuntu 16.04製作Live USB隨身碟的軟體Unetbootin
https://goo.gl/UX3kLZ

安裝Ubuntu 15.04
https://goo.gl/9JWwbh

安裝後遇到的問題 (我認為是大眾都會遇到問題)




  • 需安裝中文輸入法


我是採用國產中文輸入法 gcin,用了兩年,使用上感覺不錯,所以這次繼續支持。

gcin 安裝方法 :  https://goo.gl/6Xuqzw

安裝完之後,只需登出再登入後就能正確使用中文輸入法。

  • 筆電上的組合鍵失效


可能每台筆電會遇到的狀況不同,以我這台筆電來說,是調整螢幕亮度的組合鍵失效了。所以找了網上的一些方法,也找到了一個正確的解法(至少對我來說是可行的)。

參考網址 : https://goo.gl/SzXdIH

修改 grub (是Linux 採用的開機管理程式)

    1. sudo vi /etc/default/grub
    2. 將 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改成 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi_osi="
    3. sudo update-grub
    4. 重新啟動筆電
接下來要針對筆電內部的顯卡做設定,才能真正調控亮度,我的是intel的內顯
    1. sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf
    2. 貼上以下這段
      Section "Device"
          Identifier "card0"
          Driver "intel"
          Option "Backlight" "intel_backlight"
          BusID "PCI:0:2:0"
      EndSection
    3. 重新啟動筆電
經過上述的修改就可用組合鍵掌控螢幕亮度囉~

  • Power saving optimization

這個問題是大家在windows筆電上安裝Ubuntu會遇到的問題,所以在Ubuntu討論區也有各種的解法,甚至有製作了文件來解說解法,我找到了針對zenbook的修改方式。

參考網址 : https://goo.gl/WpVh53

其實完成了上面那個螢幕亮度的問題後,就可以達到滿好的省電效果,只是還可以繼續優化

除了上述的方式,也可以使用ubuntu的套件 PowerTop來 tune效能

參考網址 : https://goo.gl/6rmpl8

建議可以將設定寫成script文件,因為PowerTop似乎有bug,就是不能紀錄之前的設定,所以下次開機就要再重來,相當麻煩。

留言

這個網誌中的熱門文章

編譯入門 - gcc toolchain

程式編譯的過程是很複雜的,初學者在學習寫程式的時候,大部份是透過IDE來編譯程式的,所以將內部的編譯流程都隱藏了起來。其實過程是很複雜的,我打算先以觀察gcc 編譯程式的的過程以及中間的產物來開始學習。 以下資料是透過閱讀 「 程式設計師的自我修養 - 連結、載入、程式庫 」並在自己的電腦上驗證結果。 先透過一個最簡單的入門程式開始學起, Hello World !! 接下來我們使用 gcc 來編譯它巴 $gcc hello.c $./a.out Hello World! 上面看似簡單的編譯指令,其實中間包括了4個階段 前置處理 (Preprocessing) 編譯 (Compilation) 組譯 (Assembly) 連結 (Linking) 圖示 : 下面我會使用 gcc 一步一步的編譯 Hello World 這隻程式,將結果呈獻出來。

藉由select & poll來學習 Linux device driver programming

最近因為想學習撰寫一隻 Linux device driver,所以先藉由 Linux Device Driver Programming 驅動程式設計 ,這本書裡的select & poll 的範例程式開始學習。但是因為這本書當時再寫的時候,kernel版本大致分為 2.4 和 2.6,版本比較舊,有些函式已有變動,所以有做一些修改。(我的Kernel版本為4.2版) 驅動程式筆記與程式碼講解 函式加上 static ,讓命名空間限制在檔案內。不過在這裡就算不加static也不會影響kernel整體的符號表。這是只緊限於kernel module的時候,也就是動態載入的驅動程式來說。如果是希望其他module能夠呼叫的話,就必須要使用EXPORT_SYMBOL來明確匯出函式。 驅動程式內部能夠使用到 printf(),因為kernel space沒有直接對應的console (鍵盤,畫面)。但是還是有可代用的function printk()。它輸出的資料會跑到kernel buffer內。kernel buffer 可以用 dmesg 指令查閱,不過空間才只有 128KB(default),而且是環狀的形式(所以心資料會蓋過最舊的資料)。因此不能一直把資料保留在裏面,可以用syslogd 或是 klogd 之類的程式把資料寫到 syslog 裡(var/log/message),不過這種方法還是可能會漏掉訊息。 下面是訊息等級,在 kernel 4.2 版本,預設等級是 log level。但是在 kernel 2.6 版本預設等級是 4。 驅動程式的進入點並不是 main() ,因為驅動程式與一般應用程式是不同的,而且必須準備多個,其中至少要兩個進入點 insmod 與 modprobe 呼叫的初始化函式 rmmod 呼叫的結束函式 對於這隻driver來說就是 devone_init()與devone_exit()。 其他進入點還包含 系統呼叫 中斷服務程序 計時器程序 驅動程式碼

安裝QT可能會發生的問題,跟解決辦法

參考的官方文件 https://wiki.qt.io/Install_Qt_5_on_Ubuntu 安裝完後,執行QT creator,可能會發生的問題是 garygu@garygu-UX330UA:~/Qt/Tools/QtCreator/bin$ ./qtcreator qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb. Aborted (core dumped) 看起來是在run的過程中有缺少shared library,以下網站也有提到。 https://stackoverflow.com/questions/17106315/failed-to-load-platform-plugin-xcb-while-launching-qt5-app-on-linux-without 所以透過ldd 可以知道有哪些shared library是有缺少的。從not found的library下手安裝就行了。 garygu@garygu-UX330UA:~/Qt/Tools/QtCreator/lib/Qt/plugins/platforms$ ldd libqxcb.so  linux-vdso.so.1 (0x00007fff229e2000) libQt5XcbQpa.so.5 => /home/garygu/Qt/Tools/QtCreator/lib/Qt/plugins/platforms/./../../lib/libQt5XcbQpa.so.5 (0x00007ffb4854...