我正在尋找一種方式來開始與備用系統的時間比其設置的應用程序。基本上我使用的一個測試版程序有一個錯誤(它確實是一個錯誤),不再讓它在1月29日之前工作。設置我的系統時間前幾天固定工作的問題和應用程序現在工作正常但是我的其他應用程序現在不能正常工作。備用系統時間的應用程序
作爲一個普遍的問題(我可以看到我的自己使用這個用於其他事情),是否有可能啓動一個應用程序,並認爲有一個備用系統時間?
具體來說,雖然,我運行Mac OS 10.7.2,我嘗試推出MouseShare與備用系統的時間比被設定。
我正在尋找一種方式來開始與備用系統的時間比其設置的應用程序。基本上我使用的一個測試版程序有一個錯誤(它確實是一個錯誤),不再讓它在1月29日之前工作。設置我的系統時間前幾天固定工作的問題和應用程序現在工作正常但是我的其他應用程序現在不能正常工作。備用系統時間的應用程序
作爲一個普遍的問題(我可以看到我的自己使用這個用於其他事情),是否有可能啓動一個應用程序,並認爲有一個備用系統時間?
具體來說,雖然,我運行Mac OS 10.7.2,我嘗試推出MouseShare與備用系統的時間比被設定。
好的,我找到了一個解決方案。有一個很好的庫叫libfaketime,這是在'Unix & Linux'堆棧交換通過this後推薦給我的。
最簡單的方式來完成它在OSX:
$ cd $HOME/Library/
$ git clone clone git://github.com/wolfcw/libfaketime.git
$ cd libfaketime/src/
$ make -f Makefile.MacOS
$ export DYLD_FORCE_FLAT_NAMESPACE=1
$ export DYLD_INSERT_LIBRARIES=/Users/<USERNAME>/Library/libfaketime/src/libfaketime.dylib.1
$ export FAKETIME="@2012-01-01 01:01:01"
驗證它的運作(即日期是1月1日)
$ date
Sun Jan 1 01:01:01 CST 2012
一切都很好呢!
$ open /Applications/ShareMouse.app/
要善於28天17小時(即直到它看到的系統時間爲2012-01-29 17:00:00不要問我他們怎麼沒看到錯誤來了嗎?)
我無法修改應用程序的Info.plist
工作
通常這會被認爲是一個安全問題。解決這個問題的一種方法是在虛擬機上運行。
爲新的OSX埃爾卡皮坦(如README.OSX描述)有嚴格的功能禁用某些系統工具的方法,你需要禁用csrutil從OSX恢復模式,否則libfaketime不會運行。
不,我需要它是本地的。 – rudolph9 2012-01-30 13:38:03