2010-03-12

解決按 Ctrl + Alt + Backspace 無法離開 X Window 的問題


不知從什麼時候開始,我的 debian testing 就已經無法用傳統的 Ctrl+Alt+Backspace 離開 X Window 了,今天 google 了一下,發現似乎 Ubuntu 9.10 也是如此,據說是有人覺得會誤按,所以把它改成預設不啟用了。



Howto Enable Ctrl + Alt + BackSpace in Ubuntu Jaunty 這篇文章說只要在 /etc/X11/xorg.conf 加入 DontZap 的設定就可以重新啟用這組快捷鍵



 Section "ServerFlags"

    # DontZap on for disabling Ctrl+Alt+Backspace killing X

    # DontZap off for enabling Ctrl+Alt+Backspace killing X

    Option "DontZap" "off"

EndSection


不過我在 Debian 上測試無效。



又 google 到 How to enable/disable Ctrl+Alt+Backspace in Ubuntu 9.10 (Karmic) 可在 hal 的設定中修改:



先找到下面的檔案:



/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi (inside the
<match key=”info.capabilities” contains=”input.keys”> section):


再修改設定:



<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>


不過 Debian testing (Squeeze) 找不到這個設定



於是只好靠指令



setxkbmap -option terminate:ctrl_alt_bksp


成功了。但是,難道要把它加到 ~/.xinitrc 這麼暴力?再找找看。



後來找到 #bug567808



在 /etc/default/keyboard 中



XKBOPTIONS="terminate:ctrl_alt_bksp" 


YES!解決了。



不記下來肯定等一下就忘記。 :D

2010-03-08

解決 mplayer 雙螢幕播放時外接螢幕無法顯示的問題

使用雙螢幕(顯示同樣內容)時,在預設狀態下,若使用 xv 輸出,mplayer 在外接螢幕上只會出現黑色區塊,要讓影片可以同時在兩個螢幕上顯示,要在 -vo xv 加上一個選項 adaptor=1 才可。

$ mplayer -vo xv:adaptor=1 video.flv

要知道 adaptor 設多少,可用 xvinfo 看,xvinfo 在 Debian 中是包在 x11-utils 中。

我的電腦中,0 代表 Adaptor #0: "ATI Radeon Video Overlay",1 代表 Adaptor #1: "Radeon Textured Video"。如果用 0 播放,就像原本的情況,如果用 1 播放,就正常。

延伸閱讀:

在 Linux 上安裝 flashplugin for firefox 與簡單測試記錄

由於 Linux 上 firefox 在用的 flashplugin (flashplayer-mozilla 10.0.42) 效能太差,今天看到 flashplayer 10.1beta3 釋出的消息,就衝了。


Adobe Labs 下載給 Linux 用的 tarball。


$ tar zxvf flashplayer10_1_p3_linux_022310.tar.gz


什麼?竟然只有 libflashplayer.so 一個檔案!只好手動安裝。


$ sudo mkdir -p /usr/local/lib/mozilla/flashplayer-10.1b3-mozilla


$ cp ./libflashplayer.so /usr/local/lib/flashplayer-10.1b3-mozilla/


$ sudo chmod 644 /usr/local/lib/flashplayer-10.1b3-mozilla/libflashplayer.so


$ sudo update-alternatives --install /usr/lib/mozilla/plugins/flash-mozilla.so flash-mozilla.so /usr/local/lib/flashplayer-10.1.b3-mozilla/libflashplayer.so 60


這邊稍微解說一下。Debian 的 /etc/alternatives 裡頭是一堆 links,這些 links 可能是某種類型的程式,或者有許多衍生版本的程式,比如說:x-window-manager、x-terminal-emulator、x-www-browser 就是前者,vim、awk 是後者。用 ls -l 去看,可以發現它們指向真正的程式所在。聰明的人可能已經猜到了,沒錯, 這是 Debian 管理同類型程式的一個系統,例如:當系統要呼叫終端機時,到底要呼叫 mlterm 還是 lilyterm?寫系統 script 的人怎麼知道使用者習慣用那一種 terminal 呢?在 Debian,只要寫 x-terminal-emulator 就可以了,我們可以用 update-alternatives 指定 x-terminal-emulator 會指向那一個程式。


所以上面的命令的意思,就是:iceweasel 需要 flashplugin 時,會讀取 /usr/lib/mozilla/plugins/flash-mozilla.so ,這個 link 會指向 /etc/alternatives/flash-mozilla.so,這個 flash-mozilla.so 要指向先前拷貝好的 /usr/local/lib/flashplayer-10.1.b3-mozilla/libflashplayer.so ,並指定優先權為 60。我的系統中另外還有 flashplayer 10.0.42 與 gnash 0.8.6,但因 10.0.42 與 gnash 預設的優先權只有 10,所以系統以後就會以這邊安裝的 10.1.b3 作為 flash-mozilla.so 的預設。


以後如果要改用其他的 flashplayer,可用下面指令來切換:


$ sudo update-alternatives --config flash-mozilla.so


如果要移除


$ sudo update-alternatives --remove flash-mozilla /usr/local/lib/flashplayer-10.1.b3-mozilla/libflashplayer.so


好,安裝完成,然後測試看那個 flashplayer 好用吧!


我的測試很簡略,模擬平常使用的方式,開啟 65 個之前在逛的網頁,加上 蕭邦冬風練習曲


測試環境:Pentium M 1.86 GHz + 1G Ram + Iceweasel 3.5.6 + Debian Squeeze


開啟瀏覽器後,等待頁面完全 loading 後,CPU Usage 穩定下來,約十幾,最多有時跳到二十幾。聽完一遍 蕭邦冬風練習曲後,再放一遍,第二次才用 top 監看 CPU usage (為了去除網路不穩的因素)


播完後,把前後的 CPU usage 去掉,然後平均


flashplayer 10.0.42 的平均 CPU 使用率是 59.7


flashplayer 10.1.beta3 是 49.6


gnash 0.8.6 是 58.6


結論: flashplayer 10.1.beta 3 的 CPU 使用效率稍有改善。(雖然 CPU 使用率還是高得我想!@#$@…)