重開 Mac OS X 的 VNC Server

[客家話, hak-Hant-TW]

有些時節會用 ultravnc 連到某台舊的 Mac OS X Leopard 的機器操作 iTunes,可以用,毋過過一下就會斷掉了。斷掉的時間沒一定,較麻煩的是斷掉過後就連毋上去了,要到機器頭前去重新打開 (System Preferences->Share)。

網路上看到咩有人看到這隻問題,關鍵找到對應的重開指令,按仔就可以用 ssh 連入下指令重開,毋始走到機器頭前用 GUI 了。

/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent

ssh 到那台機器後用 root 權限下這隻指令,要等一下 (差毋多十過秒),等他走完就可以重新用 ultravnc 連入去了。

Posted in Mac. Tags: . No Comments »

Time Machine 備份掛點

[華語, cmn-Hant-TW]

Time Machine 跑一跑突然跳出來說無法備份,查了一下 /var/log/system.log 發現長這樣 (重點部位打馬賽克)

May 24 14:04:52 Panther com.apple.backupd[25334]: Starting standard backup
May 24 14:04:52 Panther com.apple.backupd[25334]: Attempting to mount network destination using URL: smb://whsyu@10.9.1.120/backup_panther
May 24 14:04:56 Panther com.apple.backupd[25334]: Mounted network destination using URL: smb://whsyu@10.9.1.120/backup_panther
May 24 14:04:56 Panther com.apple.backupd[25334]: Backup verification failed for image /Volumes/backup_panther-1/Panther_${MAC_ADDR}.sparsebundle!
May 24 14:04:56 Panther com.apple.backupd[25334]: Error 513 changing immutability for /Volumes/backup_panther-1/Panther_${MAC_ADDR}_2010-05-24-140456.sparsebundle
May 24 14:04:56 Panther com.apple.backupd[25334]: Unable to make /Volumes/backup_panther-1/Panther_${MAC_ADDR}_2010-05-24-140456.sparsebundle immutable!
May 24 14:04:56 Panther com.apple.backupd[25334]: Creating disk image /Volumes/backup_panther-1/Panther.sparsebundle
May 24 14:04:58 Panther com.apple.backupd[25334]: Error -5000 creating backup disk image
May 24 14:04:58 Panther com.apple.backupd[25334]: Failed to create disk image /Volumes/backup_panther-1/Panther.sparsebundle, status: -5000
May 24 14:05:03 Panther com.apple.backupd[25334]: Backup failed with error: 20
May 24 14:05:03 Panther com.apple.backupd[25334]: Ejected Time Machine network volume.

這個映像檔是放在遠端透過 smb 連線,所以 backupd 會自動嘗試掛載,然後似乎是因為映像檔檢查失敗所他嘗試要做一些處理來修復,結果修不好就噴錯誤訊息了。而且不只是噴錯誤訊息,連映像檔的檔名都被改了,看起來像是附加時間標記,應該是做到一半爛掉吧。

備份是放在一台 FreeBSD 的某個 zfs 磁碟上,因為有做每日的 snapshot,所以試著從之前幾天的備份撈看看,錯誤依然存在;先人工 fsck 再讓 Time Machine 讀,結果還是一樣,最後就決定直接去碰映像檔裡面看看有沒有什麼地方可以動的。

雖然說 .sparsebundle 在 Finder 下看到是一個映像檔,不過其實底層就跟 .app 一樣只是一個目錄,也因此要看內容很方便,只要切到目錄內即可。 經過了一些嘗試發現裡面有一個檔案叫 com.apple.TimeMachine.MachineID.plist 裡面有記錄一些前次備份的資訊,包括驗證結果等等 (從檔案內的 xml 標記來猜測)。 對照錯誤訊息的紀錄可看出 backupd 幾乎是瞬間判定驗證失敗,那就很有可能是直接參考這個檔案後立刻做出反應。 把這個檔砍掉之後開 Time Machine 再叫他備份一次,果然這次 backupd 就乖乖的重新跑 fcsk_ufs 來驗證,驗證完之後又可以正常備份了。

在測試的過程中 zfs 的 snapshot 幫了不少忙,因為在試這個檔案之前有先惡搞映像檔內的其他檔案過,結果當然是失敗了,不過一失敗後就立刻用 zfs rollback 把實驗前剛打的 snapshot 還原回來重測別的檔案,這個回溯幾乎是瞬間完成,省了不少時間跟指令。

Posted in Mac. Tags: , . 1 Comment »

Time Machine 備份間隔設定

[客家話, hak-Hant-TW]

參考這篇,當簡單。開 Terminal 用 root 身份下這道指令:

defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 7200

就變作 7200 秒、2 點鐘了 ( 預設是 3600秒、1 點鐘)。

Posted in Mac. Tags: . No Comments »

Apple 有意採用 AMD 的 CPU?

[華語, cmn-Hant-TW]

AppleInsider 在 Apple in advance discussions to adopt AMD chips 文中提到 Apple 正跟 AMD 談採用 AMD CPU 一事。如果確有其事的話,Bulldozer 可能就是 Apple 的著眼點,不過 Llano 或甚至是現有平台就有機會先出現,畢竟現行 iMac, Mac Mini 用的 Core 2 Duo 平台已經有點跟不上時代了。 (甚至可能的話連 Apple TV 都可以上)

這件事值得繼續追縱下去。

Posted in Mac. Tags: , . No Comments »

SIKULI

[華語, cmn-Hant-TW]

PTT 的 Mac 板看到一個神奇的 Script 工具程式,用抓圖的結果來當輸入內容 (這功能比啥輸入座標啦,移動滑鼠位置之類的 scripting language 來得人性化多了),整個就是很炫,而且是實用的炫。
http://groups.csail.mit.edu/uid/sikuli/index.shtml

聽說是在 MIT 的台灣人寫的!

Posted in Mac. Tags: , . No Comments »

手動 fsck Time Machine 映像檔

[華語, cmn-Hant-TW]

今天早上用 MacBook Pro 的時候覺得系統頓頓的,開 Activity Monitor 一看原來是有一個 fsck_hfs 的程序正在狂吃記憶體跟 CPU,接著查 log 發現他是在 fsck /dev/disk1s2 …… 啊咧我明明只有一顆硬碟那個 disk1 是從哪冒出來的啊?

再測試了一些東西之後我猜應該是和 Time Machine 有關,因為只要強制砍掉 backupd 這個程序之後 /dev/disk1 就會消失,所以很明顯的這個 /dev/disk1 是對應到 Time Machine 的磁碟映像檔, 在 Time Machine 開始備份之前會經過某道神祕的程序把磁碟映象檔「加」到 /dev 裡面,然後才開始備份,而這個 fsck_hfs 應該就是在這道神祕程序中被叫起來的,既然是卡在執行 fsck_hfs 這個程式的時候,那當然就要手動來跑一下看是什麼情況。

這個討論串裡有講到要手動加上 Time Machine 的 sparsebundle 映像檔 (從底層來看他實際上是一個目錄而非檔案) 的方法,首先要執行 hdiutil,假設此檔名為 $image_name,系統對應到 /dev/disk1 (hdiutil 會告訴你他對應到哪個節點):

hdiutil attach -nomount -readwrite $image_name.sparsebundle

然後再執行 fsck_hfs:

fsck_hfs -f /dev/rdisk1s2

這樣就可以看到他跑的過程了,看起來程式執行上是沒啥問題,可能是因為檔案超大所以吃爆多資源而且要掃很久才會有掛掉的錯覺,事實上他是很認真的在 fsck 的啊!

Posted in Mac. Tags: , , . No Comments »

五國語言

[客家話, hak-Hant-TW]

聽講 Mac OS X 10.6 本成的四國語言當機畫面升級變五國,這擺正經被我堵到了。

img_0223

英文、法文、西班牙文、德文、日文

Posted in Mac. Tags: , . No Comments »

Winclone

[客家話, hak-Hant-TW]

那日添手 Pachila 換他的 Macbook 的硬碟。小隻的換大隻、東西要全部搬過去大隻那邊。 Mac 的部份問題毋大、搬過去就可以開機。毋過 Boot Camp 裡肚的 Windows XP 就沒按好搬了。網路上尋了一下、看到 Winclone 這隻程式可以搬 Windows XP、按仔問題就簡單了。新的大硬碟開機以後重新切好 Boot Camp、接上舊硬碟用 Winclone 來尋舊硬碟裡背的 Windows 後做成映象檔。等他做好以後就巔倒過來用 Winclone 還產那隻映象檔到新硬碟的 Boot Camp 就完成了。

開機看看確實可以進去 Windows XP、按仔就毋使重新安裝 Windows 了。

Posted in Mac. Tags: , , . No Comments »

Snow Leopard 和通用拼音

[華語, cmn-Hant-TW]

Mac OS X 10.6 的中文輸入法有一個很重要的進展:終於有通用拼音輸入法可以用了!

只要在繁體拼音輸入法中把通用拼音的選項打開即可。目前打起來是沒有什麼太大的問題,聲符要不要標隨便打都可以,還不難用。不過還是有一些小困擾的地方:

  1. “顯示輸入按鍵” 在通用拼音模式的時候還是顯示漢語拼音的拆碼。
  2. me(ㄇㄜ)、ne(ㄋㄜ) 、nen(ㄋㄣ)、lyu(ㄌㄩ)、cou(ㄘㄡ)、yo(ㄧㄛ) 打不出來。
  3. 這不太算是 bug,不過如果所有的ㄘ都再加一個 ts 會更好,像是”曹” 可以用 cao 也能用 tsao 的話就很不錯。
  4. 這也不太算是 bug,通用拼音是有簡式的,而簡式通常不會用在人名路牌,但是用在輸入法應該是可接受,像是 siou(ㄒーㄡ) 可以簡寫成 siu 這種。

不過無論如何,有得用就是好事。之前在 Mac 上只能用香草擋一下,現在系統有內建就方便多了,也希望他們能儘快把第1、2點修好,這樣會更完整更好用。

Time Machine over Samba share

[華語, cmn-Hant-TW]

嘗試用遠端 samba 分享的目錄跑 Time Machine 的時候吃到沒辦法建立備份映像檔的錯誤,用 Console.app 看了一下錯誤訊息長這樣:

/System/Library/CoreServices/backupd[40100]: Error 45 creating backup disk image

直接連到那個目錄下發現了映像檔做到一半的痕跡,所以似乎是跑一半不知道什麼原因失敗,而不是完全連不到,那問題就比較好解決 – 用 hdiutil 手動來建立即可。檔案名稱的格式是”電腦名稱_macaddress.sparsebundle“。其實就直接參考 Time Machine 做爛掉的那個檔案名稱就好了,這樣比較省事。接著就開 Terminal 切換到那個目錄下執行這個指令:

hdiutil create -size 100G -fs HFS+J -type SPARSEBUNDLE Pighead_00112233445566.sparsebundle

這樣就替 MAC Address 00:11:22:33:44:55:66、名字叫 Pighead 的機器建好一個 100G 的備份映像檔了。要注意的是 sparsebundle 實際上是一個目錄,所以用 Terminal 看的話其實會看到 hdiutil 產生了一個目錄,這是正常現象,用 Finder 看他就會像是一個映像檔了。

設好之後再把 Time Machine 打開他就會直接用這個建好的映像檔備份。附帶一提,用這種方式建立的映像檔掛載後在 Finder 顯示的名稱會是 untitled,看不爽的話用一般的方式改名稱即可不會影響他備份的功能。

Posted in Mac. Tags: , , . No Comments »