2011-07-29 5 views
0

내 Mac에서 네트워크의 SMB 공유에 연결하는 데 문제가 있으며 그 직후에 응용 프로그램을로드하는 중입니다.AppleScript로 볼륨 마운트를로드하고 응용 프로그램을 시작한 다음 Mac이 일시 중단 상태에서 벗어난 경우 다시 시작합니다.

대부분의 경우, 평소처럼 로그인 할 때 볼륨이 마운트되도록 Mac을 켜면 모든 것이 작동하며 로그인시에도 응용 프로그램 (XBMC)을 실행합니다.

많은 문제를 해결 한 후에도 잠글 수는 없지만 네트워크 위치를 사용할 수 없다고 생각하면 일부 자동 마운트가 실패합니다. 따라서 Mac을 다시 시작하지 않으면 Mac에서 볼륨 마운트를 만들 수 없습니다. 그런 다음 다시 작동합니다.

이제 볼륨 마운트를 3 번 ​​생성하고 XBMC를로드하려고 시도하는 AppleScript를 원합니다. 3 회 시도한 후에도 볼륨을 마운트 할 수 없으면 Mac을 강제로 다시 시작하십시오. 그러면 다시 시작한 후에 스크립트가 처음부터 다시 실행됩니다.

어떻게 이것을 AppleScript로 만들 수 있습니까?

두 번째 문제 :

내 맥 활동 1 시간 후 정지로 이동하도록 설정 내가했다. 유일한 문제는 Mac이 잠시 중단되면 잠자기에 XBMC가 원격 저장 콘텐츠를로드 할 수 없다는 것입니다.

따라서 Mac이 일시 중지되지 않고 다시 시작될 때 스크립트를 실행할 수 있습니까?

내 게시물 전체를 읽은 사람 덕분에, 나는 그것이 약간의 호언 장담임을 깨닫습니다.

감사합니다.

답변

0

첫 번째 질문에 사용해보십시오. 당신의 "정지"질문에 관해서는 대답을 알지 못합니다. 그러나 나는 발사를 들여다 보았다. Mac을 다시 시작할 때 실행되는 launchd plist 파일을 작성할 수 있으며 launchd plist는 명령 줄 도구 osascript를 사용하여 applescript를 실행합니다.

set remoteDiskName to "Disk Name" 
set remoteIPAddress to "192.168.1.xxx" 
set user_name to "userName" 
set pass_word to "password" 

repeat 3 times 
    set success to mountSMB(remoteDiskName, remoteIPAddress, user_name, pass_word) 
    if success then exit repeat 
    delay 1 
end repeat 

if success then 
    -- load XBMC 
else 
    tell application "Finder" to restart 
end if 

on mountSMB(remoteDiskName, remoteIPAddress, user_name, pass_word) 
    if remoteDiskName is in (do shell script "/bin/ls /Volumes") then 
     return true 
    else 
     set theAddress to quoted form of ("smb://" & user_name & ":" & pass_word & "@" & remoteIPAddress & "/" & remoteDiskName) 
     set mountpoint to quoted form of ("/Volumes/" & remoteDiskName) 
     try 
      do shell script "/bin/mkdir " & mountpoint & "; /sbin/mount_smbfs " & theAddress & space & mountpoint 
      return true 
     on error 
      try 
       do shell script "/bin/rm -r " & mountpoint 
      end try 
      return false 
     end try 
    end if 
end mountSMB 
+0

감사합니다. 한 가지 더. Mac을 시작할 때이 스크립트를 자동 실행하려면 어떻게해야합니까? 글쎄, 로그인했을 때? 평소처럼 로그인 항목으로 설정 하시겠습니까? – Wolferien111

+0

원저자가 말한대로 launchd보세요. plists를 엉망으로 만들고 싶지 않다면 App Store에서 Lingon을보고 구입하십시오.이 앱 스토어는 당신을 위해 더러운 작업을 처리합니다. – Clark

+0

@Wolferien 예. – fireshadow52