2010/12/17

[軟體][Linux] Gimp 2.7.3 的改變 (先前都沒注意到)


這個畫面裡面看得到兩個特點:
1. Gimp 單一視窗在 2.7.3 變成選項了,所以可以使用這個選項讓你的視窗變乾淨點,這樣編輯也會快樂一點。
2. 我的 gnome panel 把 gimp 的 menu 吃掉了,所以選單的部份現在合併到 panel 上面去,這樣軟體操作的視窗會變大一點也乾淨點。(這個選項真棒,不過,我是使用 MacBuntu 的安裝 script 之後跑出來的,還不知道是更新哪個部份會出現,暫列到 todo 上去)

沒有列出來的特點:
gimp 現在的 save as file format 只有 xcf 了,如果要另存成別的檔案格式需要使用 file -> export 的選項才有辦法匯出。

--
參考資料:
http://graphicssoft.about.com/od/gimptutorials/a/exporting-files.htm
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=118712
MacBuntu

2010/12/11

[Programming][Linux] Ubuntu 桌面自動跳正妺時計

簡單的說,我想要的效果就像下面這樣:

Ubuntu 用 minik 美人時計當桌面

不過我並不想要每一分鐘都會去換一次,那樣有點傷。
所以我就讓它隨數跳的休息,起碼有 30 秒這樣。

以下是初步可以使用的 script:

#!/bin/bash

PIDFN="/tmp/minik.pid"
[ -f "$PIDFN" ] && kill `cat /tmp/minik.pid`
echo $$ > $PIDFN

while [ 1 ]; do
# http://gameflier.lovelytime.com.tw/photo/2108.JPG

STR=`date +"%H%M"`
OUTPUT="/tmp/.girls.$STR.jpg"
wget "http://gameflier.lovelytime.com.tw/photo/$STR.JPG" -O /tmp/.tmp.girls > /dev/null 2>&1
rm -f /tmp/.girls.*
mv /tmp/.tmp.girls $OUTPUT
gconftool-2 --type string -s /desktop/gnome/background/picture_filename \
"$OUTPUT"
let RND=($SECONDS%10)*6+30
sleep $RND
done

你可以在這邊下載 script 的內容,再讓它加入 start up (始動應用程式) 裡面就可以。
http://dl.dropbox.com/u/1117561/minik.sh

>> 2011.01.25 更新:
加入 pid file 避免重複執行。

2010/12/09

[軟體][Linux] VirtualBox 4.0 Beta 1 釋出, Ubuntu 使用者嘗鮮說明

注意:這篇說明是寫給 VirtualBox 4.0 Beta 1 在 Ubuntu 上面的嘗鮮者,所以需要具備一些細節的知識。

不建議非技術人員或生產人員輕易嘗試,可能會毀掉你的 epc 或工作的環境。

動機:

  • USB 2.0 EHCI 控制器和 RDP 服務器移入到 Extension Pack,不再包含在發佈版本當中,保證了 VirtualBox 是完全的開源軟件。USB 1.1 OHCI 控制器一直是核心部件,兩者的區別在於傳輸速度。(使用打印機和網銀 USB key 需要注意。)
  • 全新設計的用戶界面,增加了 NAT 端口轉發的 GUI 設置界面。
  • 增加 Open Virtualization Format Archive (OVA 格式)的支持。
  • 支持在 32bit host 上的虛擬機使用 1.5GB/2GB 內存。
  • 增加 ICH9 的 3 個 PCI 設備的支持。
  • 支持虛擬機使用 Intel HD Audio 音頻設備。(Windows 7 Guest 不再需要額外找 Realtek AC97 驅動。)
  • 增加 iSCSI、VMDK、VHD 和 Parallels 鏡像的異步 I/O 特性;允許 VHD 和 VDI 的大小縮放。
  • 增加自動更新 Guest Addition 功能
  • 引入 copy-and-paste 的特性。
  • 編程語言:API 增加標準 Java 語言的本地和遠程的支持。
  • 增加 Scale Mode 適應分辨率不高的全屏程序。


確認有足夠的動機之後,我們就開始來安裝,要做的事情如下:

  • 安裝 libstdc++5
  • 安裝 virtualbox 4.0 beta 1 的 deb
  • 安裝 extension pack
  • 修改 usb dev 的 rule
安裝 libstdc++5 的部份很簡單,因為 ubuntu 10.04 已經都換到 libstdc++6 了,所以套件倉庫已找不到這個套件了,我們要另外加來源才能安裝。(當然不建議手動安裝,修改 symbolic link,所以還是用 deb 來安裝)
把這行加到 /etc/apt/sources.list 的最後
 deb http://cz.archive.Ubuntu.com/ubuntu jaunty main universe  
然後再 sudo apt-get update; sudo apt-get install libstdc++5

就可以安裝好 libstdc++5 了。

安裝 virtualbox 4.0 beta 1 的部份也很簡單,先下載  deb 的包裝。記得要找自已的版本代號, 10.04 是 lucid , 10.10 就是 maverick 。
然後是 sudo apt-get purge virtualbox; dpkg -i  virtualbox-4.0_4.0.0~beta1-68572~Ubuntu~lucid_i386.deb
再來是安裝 extension pack ,這邊應該是 oracle 有搞一點專利或保留的部份。一樣先下載檔案,然後在桌面上雙點就可以。(我不知道為什麼 console 底下 chmod +x 不能執行,這邊好像有玄機,所以改天可以再去查一下)
跑到這邊,應該沒事了,你的 virtualbox 已經可以跑了。不過 usb 在 virtualbox 3.2 的版本還可以動作的,到這個昇級完了又不能動了,一樣是老問題,所以先檢查 group 設定,確定這個使用者有在 vboxusers 裡面,以前有寫過,所以就不多提。
不過這次,光這樣還不行,不知道是我的情況比較特別,還是真的是 vbox 的開發人員的疏失,在 usb dev 的 rules 裡面看到了錯誤,所以再修正:
--- /etc/udev/rules.d/10-vboxdrv.rules 2010-12-09 10:18:13.000000000 +0800
+++ /home/anton/10-vboxdrv.rules 2010-12-09 10:15:44.000000000 +0800
@@ -1,5 +1,5 @@
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
-SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
-SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
-SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
-SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb_device", ACTION=="add", RUN=/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" vboxusers
+SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN=/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" vboxusers
+SUBSYSTEM=="usb_device", ACTION=="remove", RUN=/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN=/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"

簡單的說,就是這條 rule 的 RUN 參數指定的時候雙引號沒有括好,所以這條 rule 一定會失敗,失敗了 vbox 就加不了這個 node ,也就不能好好使用 usb device 了。
--
參考資料:
linux toy 上的新聞:http://linuxtoy.org/archives/virtualbox-400-beta-1-%E5%8F%91%E5%B8%83.html
英文指南:如何處理錯誤訊息(Extension 跟 libstdc++5)
ubuntu 上面安裝 libstdc++5 的指南

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...