星期三, 7月 17, 2013

安裝玉山銀行 WebATM 之後的 Mac 無法在 VM Guest 用讀卡機

玉山銀行的 WebATM 首先能在 Mac 使用晶片讀卡機,做得漂亮!可惜一但安裝,虛擬機器的讀卡機就會因「忙碌」而連不上,即便是關閉瀏覽器甚至重開機都無效。
究其原因,有一個「pcscd」持續地佔住讀卡機,即使原先不在,只要一插上就歸它管,而且這個程序殺了一秒鐘又會再起來,所以想「暫停」得費點工夫:
  • ps -ef | grep pcscd | grep -v grep | awk '{print $8 "\t" $2}' -> 取得 path 與 processId
  • sudo chmod -x path
  • sudo kill processId
當虛擬機器不再使用,想要恢復 WebATM 時:
  • sudo chmod +x path
[2013/08/13 補充]
後來發現兩個缺點:一是因為找不到原來的 path 而無法恢復,二是在 Consloe 會有很多錯誤訊息,所以那只是個治標不治本的爛方法呀!依據錯誤訊息為線索,在我的機器上可以找到 /Library/LaunchDaemons/org.opensc.pcscd.plist 以及 /Library/LaunchDaemons/org.opensc.pcscd.autostart 兩個內容一模一樣的檔案,而且那個找不回來的 path 都出現了。所以想「暫停」的步驟可改成:
  • sudo launchctl unload /Library/LaunchDaemons/org.opensc.pcscd.plist
  • (可省略)sudo rm /Library/LaunchDaemons/org.opensc.pcscd.plist
恢復:
  • (可省略)sudo cp /Library/LaunchDaemons/org.opensc.pcscd.autostart /Library/LaunchDaemons/org.opensc.pcscd.plist
  • sudo launchctl load /Library/LaunchDaemons/org.opensc.pcscd.plist
  • (如果前一次用的是舊方法暫停,再加上)sudo chmod +x path
[2015/08/24 補充]
Yosemite 已不再使用 pcscd,所以招術失靈,請參考這篇

沒有留言:

張貼留言