Boot Camp 사용시 시각 맞추기

OSXDEV

Jump to: navigation, 찾기

by gluebyte


Boot Camp를 사용하여 Mac OS와 Windows를 오갈 경우, 시계가 틀어지는 문제가 간혹 발생합니다. 하드웨어에 내장되어 있는 시계를 Mac OS에서는 그리니치 표준시(GMT)로, Windows에서는 현지 시각(예를 들어 KST)으로 인식하기 때문입니다.


애플에서는 이 문제를 해결하기 위한 시동 스크립트를 양 OS에 모두 설치를 했으나, 가끔 이 스크립트가 실행되지 않아 불편을 초래하기도 합니다. 게다가 바뀐 시각을 수정하고 나면, 새로 만들어지는 파일이나 폴더가 나타나지 않는 파인더 버그도 있습니다. 아래 글은 이 문제를 해결하는 방법을 설명해 놓았습니다. 아래는 Mac OS에 강제로 시각을 수정하는 스크립트를 설치하는 방법입니다.


[편집] 버전 역사

  • 1.0.4 (20070215)
    • 네트워크 활성 여부를 lookupd 대신 ping으로 검사.
    • Windows용 스크립트는 불필요하므로 삭제.
  • 1.0.3 (20061213)
    • 확실하게 동기화가 되도록 반복 확인을 추가:
      • 실행시 네트워크 활성 여부를 5초 간격으로 5번 확인함.
      • 동기화에 성공하면 확인 차원에서 5초 후에 다시 시도함.
  • 1.0.2 (20061004)
    • 한 줄로 단축한 시각 동기화 명령에 인증 문제가 있어서 다시 석 줄로 복귀. -_-;;;
  • 1.0.1 (20061001)
    • Mac OS용 스크립트 개선:
      • 실행시 네트워크가 활성화되지 않은 경우, 10초를 기다린 후 다시 시도함.
      • 시각 동기화 명령을 석 줄에서 한 줄로 단축, 패스워드도 한 번만 입력.
      • 시각이 수정되었을 경우 파인더를 재실행.
  • 1.0 (20060911)
    • 첫 버전.

[편집] 설정 방법

1. 응용 프로그램→AppleScript→스크립트 편집기를 실행합니다.

2. 아래의 내용을 복사하여 스크립트 창에 붙여 넣습니다:

on SyncTime()
        set PSWD to "my_password"
 	-- restart network time
 	do shell script "/usr/bin/killall ntpd > /dev/null 2>&1;echo" password PSWD with administrator privileges
 	set beforetime to hours of (the current date)
 	do shell script "/usr/sbin/ntpdate > /dev/null 2>&1;echo" password PSWD with administrator privileges
 	do shell script "/usr/sbin/ntpd -f /var/run/ntp.drift -p /var/run/ntpd.pid" password PSWD with administrator privileges
 	set aftertime to hours of (the current date)
 	-- relaunch Finder if time has been adjusted
 	if (beforetime is not equal to aftertime) then
 		tell application "Finder" to quit
 		delay 1
 		tell application "Finder" to activate
 	end if
end SyncTime
 
repeat 5 times
 	-- check if network is up
 	if ((do shell script "/sbin/ping -c 1 time.apple.com | /usr/bin/grep ' 0% packet' | /usr/bin/wc -l") as integer) > 0 then
 		SyncTime()
 		delay 5
 		-- sync again to make sure
 		SyncTime()
 		exit repeat
 	end if
 	delay 5
end repeat

주의: 두번째 줄에 있는 따옴표 안의 "my_password"는 여러분 관리자 계정의 패스워드로 바꾸십시오.

3. 스크립트를 저장합니다. 파일 포맷은 "응용 프로그램 번들"로 하고 "실행 전용" 옵션을 켜 주시고, 도큐멘트 폴더에 timesync.app라는 이름으로 저장하십시오. 예전 버전의 스크립트가 있다면 덮어 쓰시기 바랍니다.

timesync script save dialog box

4. 스크립트 편집기를 종료하고 시스템 환경설정을 실행합니다.

5. 계정→로그인 항목에 timesync.app 파일을 등록해 줍니다. 끝.