Monthly Archives: May 2011

Android 更換記憶卡

有夠簡單,只要把記憶卡內容對拷就可以了,譬如使用 rsync 的話:

rsync -av /media/23E0-1302/* /media/3C7E-A120/
          (原記憶卡)          (新記憶卡)

就這樣,一行解決,沒有什麼認卡號或 Partition UUID 的問題。

不過如果你有另外切 ext3/4 之類的檔案系統分割區玩一些奇奇怪怪的應用,那可能就要再考慮分割區的問題了(我沒這樣玩,所以別問我該怎麼做)。

用 Vala 查檔案的 Extended Attribute

其實 GNOME Shell 提醒了我一件長久以來一直很想做的東西

想把這個東西做出來,我至少必須先確認一件事情:我可以為檔案設定 metadata,即所謂的 extended attribute,如此我預想中的使用者介面才能夠存取多樣化的物件屬性。

現在可以確定的是,在 Linux 底下,我可以設定 xattr 無誤。

[yhh@haruka ~/test]$ attr -s .TYPE -V "C Source Code" hello.c
Attribute ".TYPE" set to a 13 byte value for hello.c:
C Source Code
[yhh@haruka ~/test]$ attr -l hello.c
Attribute ".TYPE" has a 13 byte value for hello.c
[yhh@haruka ~/test]$ attr -g .TYPE hello.c
Attribute ".TYPE" had a 13 byte value for hello.c:
C Source Code
[yhh@haruka ~/test]$

剛剛又用 Vala 寫了一個 PoC 小程式來驗證使用 GIO 存取 xattr 的可行性,筆記一下:

int main (string[] args) {
  var file = File.new_for_path ("hello.c");
  FileInfo file_info;
 
  try {
    file_info = file.query_info ("*", FileQueryInfoFlags.NONE);
  }
  catch (Error e) {
    stderr.printf ("Error: %s\n", e.message);
    return 1;
  }
 
  stdout.printf ("Has .TYPE attribute? %s\n", 
                  file_info.has_attribute ("xattr::.TYPE").to_string());
  stdout.printf ("File Type: %s\n",
                  file_info.get_attribute_string ("xattr::.TYPE"));
 
  return 0;
}

執行結果:

[yhh@haruka ~/test]$ valac --pkg gio-2.0 testGFileAttrib.vala
[yhh@haruka ~/test]$ ./testGFileAttrib
Has .TYPE attribute? true
File Type: C Source Code
[yhh@haruka ~/test]$

與 GNOME 3 相處的第 2 天

繼續昨天的進展,雖然我可以跑 Fallback Mode,但是我還是嘗試讓自己多與 GNOME Shell 彼此熟悉。我內心其實期望 GNOME 3 能像 KDE 4 那樣愈來愈成熟、好用。

  • 滑鼠想移到 Firefox 4 選單時,常常滑過頭而觸發 GNOME Shell 的 Hot Corner。兩者的位置(偏畫面左上方)太近了。
  • 原先 GNOME 2 的時刻面板工具可以顯示當前天氣、溫度,GNOME Shell 反而取消了這個實用的設計。
  • 右上方選單預設電源管理動作為暫停 (Suspend),想要關機的話得按住 Alt 才會顯示隱藏選項,或者更迂迴一點要登出回到 GDM 後,才有關機選項。我倒是覺得,以我這個筆記型電腦使用者來說,這設計蠻好的,這樣我移動到另一個地點再開機的速度快得多。
  • 就算設定好了 IBus 的環境變數,但是在 dconf-editor 裡若 org.gnome.desktop.interface.gtk-im-module 若為空值而非 ‘ibus’,則仍無法叫出輸入法。
  • 承上,dconf-editor 裡有蠻多隱藏選項可以調的。譬如說,GNOME Shell 預設的配置擺明了是 Application Oritented,而非 Document Oritented,你的操作多是由「叫出一個程式」開始,而非從「開啟一個檔案」開始,配合不給使用者一個 taskbar 好快速切換程式的新設計,我真的有一種感覺:我是回到 Windows 3.1 時代了嗎!?不過若修改 org.gnome.desktop.background.show-desktop-icons 為 True 後,桌面就可重現檔案與幾個預設的資料夾,讓我可以慣用的方式來操作電腦。

放棄 GNOME 3,跳槽至 KDE

Arch Linux 日前正式把 GNOME 更新至 3 版。去年在 COSCUP & GNOME.Asia 上見到新的 GNOME Shell 時,我就不是很喜歡這樣的設計,前陣子 GNOME 3 正式推出時,我抓了 Live CD 來親身試用,不習慣,昨天跑了 pacman -Syu 讓系統自動升級 GNOME 後,我用了不到半天,仍舊感到諸多的難以適應:

  1. 使用者分心不分心,不應被強制約束,有些時候,分心能激發聯想與創意,並不是壞事,不能夠什麼事情都以生產力來衡量,否則我們都要陷入摩登時代了。
  2. 快速多工切換有時反而是生產力所需。我就是需要一個 taskbar 或 panel 監督其他程式狀態,不給我,要我用類似 Exposé 的介面切過去、選擇另一個需要知道狀態的 task、再切過去、再切回來,我只覺得這樣更浪費我的眼球專注力與時間。
  3. GNOME 2 預設使用兩個面板佔去太多空間,但是實用;GNOME 3 只有一個面板,但是看過去空蕩蕩的一片空間,卻什麼都擺不了。我真是快抓狂了。

我決定先跳到 KDE,至少我還能保有習慣的工作方式與步調。