Kanru’s 探險日誌

這裡應該會放一些我每日遊覽的站台及一些心得,就當作是我的學習筆記吧^^。

Archive for the ‘Linux’ Category

video-intel 2.5 & EXA

without comments

video-intel 自從 2.2 版就預設使用 EXA 加速,而這個新一代的加速引擎卻因為在文字的顯示上非常緩慢,掩蓋了 EXA 本身的優良特性,Debian BTS 上也怨聲載道。video-intel 2.5 Carl Worth 終於解決了這個問題,原來是因為使用過小的 buffer,導致每次 driver 都要等待上一次 composite operation 結束才能重新使用 buffer,在加大 buffer 之後,EXA 的 text rendering 速度甚至超過了 XAA!

全面轉換至 EXA,引入 GEM,video-intel 的效能只會越來越好 :-)

Written by kanru

September 1st, 2008 at 6:06 pm

Posted in Debian, Linux, Programming

Tagged with , ,

Awesome Window Manager

without comments

awesome 是眾多衍生自 dwm 的 window manager 的其中之一,是一種 tiling window manager。第一次接觸到 tiling wm 是 ion,但是因為設定不容易且用不習慣,一下就放棄了。幾個月前發現時常有人在 Debian Planet 上 awesome, awesome 的嚷嚷,花了點時間才搜尋到這個 wm 的首頁,稍微試用一下卻馬上就被吸引住了!目前的 stable 版本也就是我第一次使用的是 awesome 2.3 版,主打的是簡單的設定檔,良好的 EWMH 支持,XRandr/Xinerama 支持等,還有就是比 virtual desktop 更方便的 tag 用法,動態的 layout 等。噢,還有一個一定要提的就是 widget 的支援,awesome 提供基礎的顯示元件如 text, graph, image 等,可以利用 script 把資訊更新到 widget 上,可以輕鬆的自製 widget。

2.3 版用的還挺習慣的,widget 雖然需要用 script 去更新資料,但是也有許多人寫好許多模組利用 ruby, perl 或是獨立程式去更新資料。可是在我還在適應期,還沒開始自訂我的環境時,jd 宣佈開始 awesome 3 的開發,要全面使用 XCB 並引入 Lua 作為設定/程式介面。心養養的我就開始使用 git 版的 awesome,awesome 3 因為引入 XCB 幾乎全面改寫,而 Lua 使得 awesome 大部分的操作都便得動態且可以自訂,如 widget 就可以用 Lua 完成,client 的操作、tag 的切換、快捷鍵的設定,通通都可以透過 Lua 設定卻又維持一定的可讀性。因此,awesome 3 的定位變成了進階使用者為主,高度客製化的 framework window manager。

使用寬螢幕或是大螢幕時,常要調整視窗大小,不容易完全利用到整個螢幕的空間,compiz 等 3d wm 雖然特效絢麗,但是仍比不上 tiling wm 的方便有效率。awesome 推出沒多久就受到許多人的青睞,在這次的 DebConf8 就有數位 DD 使用 awesome 上台演說呢 XD

底下這張圖是 GGLucas 的四螢幕,充分展現了 awesome 在多螢幕環境的威力 :-)

GGLucass Awesome Screenshot

GGLucas's Awesome Screenshot

awesome 3 預計下禮拜就要釋出了,Debian 的使用者可以直接從 experimental 安裝 3.0~rc5

從官網節錄的一些特性:

  • 目前唯一使用 XCB 的 window manager
  • 良好的文件
  • 所有工作皆可用鍵盤完成
  • Multihead 支援,可用 XRandR, Xinerama, Zaphod
  • 實做 Freedesktop 標準:EWMH, XDG Base Directory, XEmbed, System Tray
  • 根據不同 tag 的 policy 自動排列視窗
  • 使用 tag 而不是 workspace,可以根據需要選擇要顯示哪些 tag 內的視窗,可以同時選擇多個 tag
  • 可以使用眾多的 Lua 擴充:dynamic tagging, widget feeding, tabs, …
  • D-Bus 支援

awesome 的客製化可以參考 Wiki 以及 Lua API doc

Written by kanru

September 1st, 2008 at 3:48 pm

Posted in Debian, Linux, 爬網探險

Tagged with

Evince Autoreload

with one comment

Evince 是個好用的文件瀏覽器,速度非常的快,是我平時最常用的 PDF 瀏覽器。有時候在編輯文件就會希望可以在轉成 PDF 之後,可以直接更新 Evince 內容。上網搜尋了一下,不只我有這樣的需求,而且已經有 patch 了,這個熱騰騰的 patch 是 6/12 才更新的。

http://bugzilla.gnome.org/show_bug.cgi?id=304249

Written by kanru

June 15th, 2008 at 2:13 pm

Posted in Linux, 小工具, 爬網探險

Tagged with , ,

E680i

without comments

從胖貓那裡拿到的新玩具,等不到 Neo 就先玩這個吧 :P

感謝 OpenEZX、Angstrom、OpenEmbedded、OpenMoko 計劃,我從 Angstrom 拿預編好的 2.6.23 kernel 跟 openmoko image 還有 gpe image 來測試,都可以正常開機,openmoko 的 image 還有 bootsplash,開機的時候還有音效(聲音正常運作),但是這版的介面怪怪的,時常會有多個好像是 title bar 的東西在螢幕中央跳動,然後我在 task menu 連點兩下之後,他就不見了 XD,然後游標就露出來…

GPE 倒是運作的不錯,不過因為是 minimalist 的 image,所以裡面什麼東西都沒有,只有一個 terminal,開啟之後還沒有螢幕鍵盤可以打 XD

先這樣吧,改天再繼續玩 :D

Written by kanru

February 23rd, 2008 at 9:37 pm

Posted in Linux

Tagged with , , ,

An update from Debian release team

without comments

http://lwn.net/Articles/267722/

重點是 Release goal:

  • Drop debmake from Debian
  • UTF-8 debian/changelog and debian/control
    • xcin 也在名單上…
  • Switch /bin/sh to dash

也許應該在過年前把 chewing 翻修一下…

Written by kanru

February 5th, 2008 at 1:12 pm

Posted in Chewing, Debian, Linux

Tagged with

CellWriter - 手寫工具

with 2 comments

在 GnomeFiles 上看到的專案,是可以進行手寫辨識的工具。CellWriter 可以在訓練之後辨識出你在寫什麼,基於 Unicode,辨識方法無關語言,所以也可以輸入中文,但是因為訓練困難(太多字),加上我是用滑鼠畫的… 就只 demo 一個字囉。

CellWriter screenshot1

CellWriter screenshot2

介面挺好用的,辨識效果也不錯,不過檔案格式效率不高,字數過多時訓練不易,還有很多可以加強的地方。

Written by kanru

January 27th, 2008 at 6:39 pm

TTYRec and TTYShare

without comments

ttyrec 是類似於 script 指令,可以用來紀錄 tty 下一切動作,然後可以用 ttyplay 來播放,所有的動作、時間都會紀錄下來,播放的時候就好像源源本本的在你面前操作一樣。是在教學的時候很有用的指令。

ttyshare 則是類似於 nopaste 服務的網站,讓你可以直接在網路上分享播放 ttyrec 的紀錄,非常有趣!

ps. 今天原本想上傳自己的 demo 的,結果傳不上去,怎麼了呢… Orz

pps. ttyshare 好像是日本人做的網站,ttyrec 也是日本人寫的喔。

Written by kanru

January 27th, 2008 at 12:12 pm

Posted in Linux, 小工具, 爬網探險

Tagged with ,

GNOME Applet for monitoring Debian bugs

without comments

臨時想要監控某個 debian bug 但是嫌訂閱 bug 麻煩嗎?利用這個 GNOME Applet 讓你方便紀錄 debian bts 的動態。

dba-applet screenshot

取得方法

% git-clone git://git.chris-lamb.co.uk/debian-bts-applet

ps. 我還沒測試過 :p

Written by kanru

January 27th, 2008 at 11:25 am

Posted in Linux, 小工具, 爬網探險

Tagged with , ,

Linux 上的 Quicksilver

without comments

Quicksilver 是 mac 上好用的輔助軟體,可以在圖形介面下享受命令列直接執行指令的快感,相關介紹請見 zonbleorcas 的 blog。

Gnome 下有人寫了 Quicksilver 的 clone,Gnome-Do,安裝的時候需要 mono,所以應該是以 .Net 完成的,使用起來應該跟 Quicksilver 差不多吧(沒用過快銀),連介面都非常相似,也可以自己寫 plugin =)

screenshot

ps. 聽說 Quicksilver 變成 opensource 了?不過網站怎麼跑到 127.1.1.1 去了.. Orz

Written by kanru

January 27th, 2008 at 11:14 am

Posted in Linux, 小工具, 爬網探險

Tagged with ,

gcc-4.3 & linux kernel

with 2 comments

答案就是:gcc-4.3 還不能拿來 compile kernel.. 因為會用到沒有定義的 libgcc function.

錯誤如下:

  CC      arch/i386/lib/msr-on-cpu.o
  LD      arch/i386/lib/built-in.o
  CC      arch/i386/lib/bitops.o
  AS      arch/i386/lib/checksum.o
  CC      arch/i386/lib/delay.o
  AS      arch/i386/lib/getuser.o
  CC      arch/i386/lib/memcpy.o
  CC      arch/i386/lib/mmx.o
  AS      arch/i386/lib/putuser.o
  AS      arch/i386/lib/semaphore.o
  CC      arch/i386/lib/string.o
  CC      arch/i386/lib/strstr.o
  CC      arch/i386/lib/usercopy.o
  AR      arch/i386/lib/lib.a
  GEN     .version
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o: In function `getnstimeofday':
(.text+0x1d927): undefined reference to `__umoddi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1d9e9): undefined reference to `__udivdi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1da0c): undefined reference to `__umoddi3'
kernel/built-in.o: In function `timekeeping_resume':
timekeeping.c:(.text+0x1db18): undefined reference to `__udivdi3'
timekeeping.c:(.text+0x1db3b): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e214): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e237): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2d3): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2fd): undefined reference to `__umoddi3'
make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Leaving directory `/usr/src/linux-source-2.6.23'
make: *** [debian/stamp-build-kernel] Error 2

參考:

Written by kanru

January 13th, 2008 at 7:01 pm

Posted in Linux

Tagged with ,