ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ããã®å¿«é©ãã追æ±ãã
ã³ãã³ãç°å¢ã«ããã¦ã¯ãã¦ã¼ã¶ã¼ã®åãæ¿ãã¯é常ã«ç°¡åã§ããã
#aliceã®æä½ç°å¢ MacBook:/ alice$ su bob Password: #bobã®æä½ç°å¢ MacBook:/ bob$ exit exit #aliceã®æä½ç°å¢ MacBook:/ alice$
- su bobã§ãbobã¦ã¼ã¶ã¼ã«åãæ¿ãã
- exitã§ãbobã¦ã¼ã¶ã¼ããã°ã¢ã¦ããã¦ãaliceã¦ã¼ã¶ã¼ã«æ»ãã
ã³ã¹ãæå°éã§ç´ æ©ãåãæ¿ãããããå¿«é©ï¼
ä¸æ¹ãOSXã®GUIç°å¢ã«ããã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããããã
- ã·ã¹ãã ç°å¢è¨å® >> ã¢ã«ã¦ã³ã >> ãã°ã¤ã³ãªãã·ã§ã³ >> ããã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ããã¡ãã¥ã¼ã表示ãããã§ãã¯å ¥ãã§æå¹ã«ãªãã
ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ããã§åãæ¿ããã°ãç¾ç¶ã®GUIãªä½æ¥ç¶æ
ãä¿æããã¾ã¾ãä»ã®ã¦ã¼ã¶ã¼ã§ãã°ã¤ã³ã§ããããã¹ã¯ããããç«æ¹ä½ã®ä¸é¢ã¨è¦ç«ã¦ã¦ãå転ããªããåãæ¿ããæ§åã¯ãè¦ã¦ãã¦æ¥½ããã
ã§ããè¦ã¦ãã¦æ¥½ããã®ã¯æåã®ãã¡ã ããããã«åãæ¿ãæä½ãé¢åã«ãªãããã¦ã¹ã§ã¡ãã¥ã¼ãã¼å³å´ãã¯ãªãã¯ãã¦ãã¦ã¼ã¶ã¼ãé¸æãã¦ããã¹ã¯ã¼ããå ¥åããããã£ãï¼ã¤ã®æé ãªãã ãã©ãä½åº¦ãç¹°ãè¿ãã¦ããã¨é¢åã«ãªãã
ãããããã¦ã¹æä½ãé¢åããããã§ããã¢ã¤ã³ã³ã¡ãã¥ã¼ã«ã¯ã·ã§ã¼ãã«ãããå²ãå½ã¦ãããªãããã®ä¸ä¾¿ã解æ¶ããã®ã«ãã£ã¦ã¿ãã®ã以åã®ãã®æ¥è¨ã
ããããæ°å¹´çµã¡ãå¥ã®ä½æ¦ãæãæµ®ããã ã®ã§åã³è©¦è¡é¯èª¤ãã¦ã¿ãã
ã·ã§ã¼ãã«ãããã©ã
Spotlightã¨éã£ã¦ããã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ããã«ç´æ¥ã·ã§ã¼ãã«ããã¯è¨å®ã§ããªããã§ãå¼·ãã¦è¨ãã°ãcontrol-F8ãâãâãã§ã·ã§ã¼ãã«ãããã©ãã®ãã¨ã¯ã§ãããããããã¨ã¦ãç¬æã«æ¼ããçµã¿åãã§ã¯ãªãã®ã§ããã¾ããå§ãã¯ã§ããªãã
- ã·ã¹ãã ç°å¢è¨å® >> ãã¼ãã¼ã >> ãã¼ãã¼ãã·ã§ã¼ãã«ãã >> ãã¼ãã¼ãã¨æåå ¥å >> ãã¹ãã¼ã¿ã¹ã¡ãã¥ã¼ãæä½å¯¾è±¡ã«ããããã§ãã¯å ¥ ã®è¨å®å¿ è¦
ã·ã§ã¼ãã«ããã§èµ·åãã
ã¨ããã§ããã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ããã¯ã¹ãã¼ã¿ã¹ã¡ãã¥ã¼ã§ãããã¨ã¯åãã£ããã¹ãã¼ã¿ã¹ã¡ãã¥ã¼ã¯ãAppleScriptã§æä½ãããã¨ã¯ã§ããããã®AppleScriptã«Quicksilverãªã©ã®ãã¼ãã¼ãã©ã³ãã£ã¼ã§ã·ã§ã¼ãã«ãããå²ãå½ã¦ã¦ããã°ããã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããç´ æ©ãèµ·åã§ããã®ã ããã®AppleScriptãããã
tell application "System Events"
tell process "SystemUIServer"
click (menu bar 1's menu bar item 1 whose description is "user") end tell
end tell
- ã·ã¹ãã ç°å¢è¨å® >> ã¦ããã¼ãµã«ã¢ã¯ã»ã¹ >> ãè£å©è£ ç½®ã«ã¢ã¯ã»ã¹ã§ããããã«ããããã§ãã¯å ¥ ã®è¨å®å¿ è¦
ã¡ãã¥ã¼æä½ããã
GUIã¹ã¯ãªããã£ã³ã°ãããå°ãé å¼µãã°ãã¡ãã¥ã¼ãèªç±ã«æä½ã§ãããã¦ã¼ã¶ã¼åãé¸æãã¦ããã¹ã¯ã¼ãå ¥åãããã¨ã ã£ã¦å¯è½ã
click_menu_extra({"user", "alice"}) input_password("XXXX")
on click_menu_extra(menu_path) set mp to menu_path as list
tell application "System Events"
tell process "SystemUIServer"
click (menu bar 1's first menu bar item whose attribute "AXDescription"'s value is (mp's item 1)) repeat with i from 2 to mp's length
click (result's menu 1's menu item (my number_from(mp's item i))) --ã¯ãªãã¯
--select (result's menu 1's menu item (my number_from(mp's item i)))--é¸æã®ã¿
end repeat
delay 0.2 --é£ç¶ãã¦æä½ããæãã²ã¨å¼å¸å¿ è¦
end tell
end tell
end click_menu_extra
on number_from(str) try
str as number
on error
str
end try
end number_from
on input_password(str) tell application "System Events"
tell process "SecurityAgent"
delay 0.5 --é£ç¶ãã¦æä½ããæãã²ã¨å¼å¸å¿ è¦
keystroke str & return
end tell
end tell
end input_password
ãã®ä»ã®ã¡ãã¥ã¼ã¨ã¯ã¹ãã©ã調ã¹ã
ä¸è¨ã®æ¹æ³ã使ãã°ããã®ä»ã®ã¡ãã¥ã¼ã¨ã¯ã¹ãã©ã«ãç´ æ©ãã確å®ã«ã¢ã¯ã»ã¹ã§ãããã§ããã¢ã¯ã»ã¹ããã«ã¯ãã¡ãã¥ã¼ã¨ã¯ã¹ãã©åã調ã¹ã¦ããå¿ è¦ããããããã¯ä»¥ä¸ã®ã³ã¼ãã§ä¸è¦§ã§ããã
tell application "System Events"
tell process "SystemUIServer"
set frontmost to true
menu bar 1's menu bar items's description
--or--
--menu bar 1's menu bar items's properties
end tell
end tell
{"ãã¼ãã§ã¼ã³ menu extra", "remote desktop", "menu extra", "iStat menus Temperatures", "iStat menus Network", "iStat menus Memory", "iStat menus CPU", "time machine", "Sync", "AppleScript", "bluetooth", "ã·ã¹ãã ãµã¦ã³ãé³é", "AirMac Menu Extra", "text input", "ããããªã¼ã¡ãã¥ã¼ã å é»æ¸ã¿ .", "user"}
ã³ãã³ãã§ã¢ã¯ã»ã¹ãã
AppleScriptãç¹ã«GUIã¹ã¯ãªããã£ã³ã°ã¯åé·ã§ããããã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããã¯ãªãã¯ããã ãã§ããä¸è¨ã®ããã«å¤ãã®ã³ã¼ããå¿
è¦ãªã®ã ...ã
ã¨ããããã³ãã³ããå©ç¨ããã°ãã£ã1è¡ã§æ¸ãã
$ /System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession -switchToUserID `id -u 'alice'`
ã³ãã³ãã®ç´ æ´ãããã¨ããã¯ãç°å¢ã«ä¾åããªãã¨ããããè£å©è£ ç½®ã«ã¢ã¯ã»ã¹ã§ããããã«ããããã§ãã¯ç¡ãã§ããããã«ã¯ãããã¡ã¹ãã¦ã¼ã¶ã¹ã¤ããã¡ãã¥ã¼ã表示ããã§ãã¯ç¡ãã§ãã確å®ã«ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããèµ·åã§ããã®ã ã
AppleScriptã«çµã¿è¾¼ãã°ãå ã»ã©ã¾ã§ã®ã³ã¼ãã¯ããããªã«ã·ã³ãã«ã«ãªãã
fast_user_switch("alice") input_password("XXXX")
on fast_user_switch(user_name) do shell script "/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession -switchToUserID `id -u " & quoted form of user_name & "`"
end fast_user_switch
on input_password(str) tell application "System Events"
tell process "SecurityAgent"
delay 0.5 --é£ç¶ãã¦æä½ããæãã²ã¨å¼å¸å¿ è¦
keystroke str & return
end tell
end tell
end input_password
ã»ãã¥ãªãã£ãèãã
èªåçã«ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããå®è¡ã§ããããã«ãªã£ããããã£ãï¼ã¤å¤§åé¡ããããããã¯ããã°ã¤ã³ãã¹ã¯ã¼ããã³ã¼ãã®ä¸ã«è¦ãã¦ãããã¨ã
ã¡ãã£ã¨ããããããããªãããã¨ããèãæ¹ããããããããä»æã®OSXã§ã¯ããã°ã¤ã³ãã¹ã¯ã¼ãã¯æé«æ©å¯ãªã®ã ãããããåããã°ãä½ã§ãã§ãã¦ãã¾ãããã¼ãã§ã¼ã³ã«ç»é²ãããå種ãã¹ã¯ã¼ãããããã©ã«ãã§ã¯ãã°ã¤ã³ãã¹ã¯ã¼ãããã¹ã¿ã¼ãã¼ã«ãªã£ã¦ããããã®ãã°ã¤ã³ãã¹ã¯ã¼ããæåã¨ãã¦è¦ãã¦ãã¾ã£ã¦ãããã¨ã«ãå±æ©æãæãããï¼æããªããã°ãªããªãã®ã ï¼ï¼
ããã§ã以ä¸ã®ãããªå¯¾çãèããã
- å®è¡å°ç¨ã§ä¿å
- å®è¡å°ç¨å½¢å¼ã§ä¿åããAppleScriptã¯ãAppleScriptã¨ãã£ã¿ã§éããªããªãã
- ããããã£ã¨ãã¦ä¿å
- ã¢ããªã±ã¼ã·ã§ã³å½¢å¼ã®AppleScriptã¯ãããããã£å¤æ°ã®å 容ãã¹ã¯ãªããçµäºå¾ãæ°¸ç¶çã«ä¿åããã
ãããã®å¯¾çã¯æå¹ãï¼è©¦ãã¦ã¿ãã
-
- å®è¡å°ç¨ã§ä¿åããã°ã確ãã«AppleScriptã¨ãã£ã¿ã§ã¯éããªããªãã
- ã¨ããããããã¹ãã¨ãã£ã¿ã§éãã¦å 容ãè¦ããã¨ã¯ç°¡åã«ã§ããã
- ãã®å 容ã¯ãAppleScriptã¨ãã¦ã³ã³ãã¤ã«ããããã¤ããªãã¼ã¿ã§ããã
- ã³ã¼ãã®å 容ã¯æå³ä¸æã
- ãããããã¹ã¯ã¼ãã¨ãã¦å ¥åãããæååã®ä¸¦ã³ãã¯ãæ¯è¼çç°¡åã«å¤å¥ã§ãã¦ãã¾ãã
set pass to "ABCDEFG"
-
- ã³ã¼ãã«å«ãããããããã£ã¨ãã¦ä¿åããå ´åãåæ§ã§ãã£ãã
property pass : ""
display dialog "å ¥åãã¦ãã ããã" default answer ""
set pass to result's text returned
ãããã®æ¹æ³ããå ¨ã対çã«ã¯ãªããªã...ãï¼passã®å 容ãABCDEFGãã丸è¦ãï¼
以ä¸ã®çµæãã...
- ãã°ã¤ã³ãã¹ã¯ã¼ããæ°¸ç¶çã«ä¿æãããã¨ã¯ã諦ããã
æ¹éã¯æ±ºã¾ã£ãã
- ãå®è¡å¾ãèªåçã«çµäºããªããã¢ããªã±ã¼ã·ã§ã³å½¢å¼ã§ä¿åãã¦ã
- ã¹ã¯ãªããã®ã¢ããªã±ã¼ã·ã§ã³èµ·åæ¯ã«ãã¦ã¼ã¶ã¼åã¨ãã¹ã¯ã¼ããå ¥åãããã¨ã«ããã
- ã¹ã¯ãªããã®ã¢ããªã±ã¼ã·ã§ã³çµäºã¾ã§ãã¦ã¼ã¶ã¼åã¨ãã¹ã¯ã¼ããä¿æããã
- ããã¦ã2åç®ä»¥éã®èµ·åæä½ã§ã¯èªåçã«ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããå®è¡ããã
åºæ¥ä¸ãã£ãAppleScriptã
- faster_user_switching.app
global userName
global userPass
on run
set userName to ""
set userPass to ""
main() end run
on reopen
main() end reopen
on main() save_user_name() save_user_pass() fast_user_switch() input_login_password() end main
--ã¦ã¼ã¶ã¼åã®ç»é²ï¼ã¦ã¼ã¶ã¼åãå¤æ´ãããæã¯ããã®ã¹ã¯ãªããèµ·åç´å¾ã«deleteãã¼ãæ¼ãï¼
on save_user_name() if userName = "" then
set msg to "ã¦ã¼ã¶ã¼åãå ¥åãã¦ãã ããã"
set icon_name to note
repeat
activate
display dialog msg default answer userName with icon icon_name
set userName to text returned of result
try
user_id() exit repeat
on error
if userName is not "" then
set msg to "ãã®ã¦ã¼ã¶ã¼ã¯ç»é²ããã¦ãã¾ããã\nããä¸åº¦ãå ¥åãã¦ãã ããã"
set icon_name to caution
end if
end try
end repeat
end if
end save_user_name
--ãã¹ã¯ã¼ãã®ç»é²
on save_user_pass() repeat while userPass is ""
activate
display dialog "ãã¹ã¯ã¼ããå ¥åãã¦ãã ããã" default answer "" with icon note with hidden answer
set userPass to text returned of result
end repeat
end save_user_pass
--ã¦ã¼ã¶ã¼åããã¦ã¼ã¶ã¼IDãåå¾
on user_id() do shell script "/usr/bin/id -u " & quoted form of userName
end user_id
--ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããå®è¡
on fast_user_switch() do shell script "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -switchToUserID " & user_id() end fast_user_switch
--ãã°ã¤ã³ãã¹ã¯ã¼ãã®å ¥åå¦ç
on input_login_password() tell application "System Events"
repeat 20 times
delay 0.1
if exists window 1 of application process "SecurityAgent" then exit repeat
end repeat
if userPass is not "" then
tell process "SecurityAgent"
keystroke userPass & return
delay 1
keystroke tab using {command down} end tell
end if
end tell
end input_login_password
ã·ã³ãã«ã ã£ãAppleScriptããã»ãã¥ãªãã£ã¨ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¼ã¹ãèããã¨ãé·ãã³ã¼ãã«ãªã£ã¦ãã¾ãã®ã§ãã£ãã
å¤æ°ã®ã¦ã¼ã¶ã¼ãæ±ã
æ軽ã«ãç´ æ©ãããã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ããã§ããããã«ãªãã¨ã調åã«ä¹ã£ã¦å¤æ°ã®ã¦ã¼ã¶ã¼ã§ãã°ã¤ã³ãå§ããã2ã¦ã¼ã¶ã¼ã®åãæ¿ããªããä¸è¨ã®AppleScriptã§å¿«é©ã«ä½¿ããããããã3ã¦ã¼ã¶ã¼ã4ã¦ã¼ã¶ã¼ã«ãªãã¨ãã¹ã¯ãªãããã³ãã¼ãã¦è¤æ°ã®faster_user_switching.appãèµ·åããå¿ è¦ãããããã®é½åº¦ãã·ã§ã¼ãã«ãããåã¦ã¼ã¶ã¼ã«è¿½å è¨å®ããã®ãé¢åã§ããã
ããã§ãä¸ã¤ã®ã¹ã¯ãªããã§è¤æ°ã¦ã¼ã¶ã¼ã管çã§ããããã«ä¿®æ£ãã¦ã¿ããã¦ã¼ã¶ã¼ãé¸æããã¨ããæä½ã追å ã«ãªãã®ã§ãã·ã§ã¼ãã«ããä¸çºã§ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããèµ·åã§ããªããªããã3ã¦ã¼ã¶ã¼ä»¥ä¸ãåãæ¿ãã¦éç¨ãããç°å¢ã§ã¯ããã®æ¹å¼ã®æ¹ãæ±ãæããããããªãã
- select_user_switching.app
global userName
global userPass
global NEW_ITEM
global userList
global passList
on run
set userName to ""
set userPass to ""
set NEW_ITEM to "--追å ã»ä¿®æ£--"
set userList to {} set passList to {} main() end run
on reopen
main() end reopen
on main() select_user() fast_user_switch() input_login_password() end main
--ã¦ã¼ã¶ã¼ãªã¹ãã®è¡¨ç¤º
on select_user() if userList = {} then
set select_name to NEW_ITEM
set userName to ""
else
if userName is not in userList then set userName to userList's item 1
set res to choose from list userList & NEW_ITEM with title "ã¦ã¼ã¶ã¼ã¹ã¤ãã" default items userName --OK button name "åæ¿"
if res = false then
error
else
set select_name to res's item 1
end if
end if
if select_name = NEW_ITEM then
save_user_name() save_user_pass() else
repeat with name_pass in passList
if select_name = name_pass's item 1 then
set userName to name_pass's item 1
set userPass to name_pass's item 2
exit repeat
end if
end repeat
end if
end select_user
--ã¦ã¼ã¶ã¼åã®ç»é²
on save_user_name() set msg to "ã¦ã¼ã¶ã¼åãå ¥åãã¦ãã ããã"
set icon_name to note
repeat
activate
set res to display dialog msg default answer userName ¬ buttons {"ãã£ã³ã»ã«", "åé¤", "OK"} ¬ default button {"OK"} ¬ with icon icon_name
set userName to res's text returned
set MODE to res's button returned
try
user_id() exit repeat
on error
if userName is not "" then
set msg to "ãã®ã¦ã¼ã¶ã¼ã¯ç»é²ããã¦ãã¾ããã\nããä¸åº¦ãå ¥åãã¦ãã ããã"
set icon_name to caution
end if
end try
end repeat
if MODE = "OK" then
add_user_list() else
delete_user_list() error --以éã®å¦çãä¸æ¢ãããã
end if
end save_user_name
--ã¦ã¼ã¶ã¼ãªã¹ãã«è¿½å ããï¼æ¢åã®ã¦ã¼ã¶ã¼ã«ã¯ä¸æ¸ãï¼
on add_user_list() if userName is in userList then
return
else
set userList's end to userName
end if
end add_user_list
--ã¦ã¼ã¶ã¼ãªã¹ãããåé¤ãã
on delete_user_list() if userName is in userList then
set res to {} repeat with user in userList
if user's contents is not userName then set res's end to user's contents
end repeat
set userList to res
end if
end delete_user_list
--ãã¹ã¯ã¼ãã®ç»é²
on save_user_pass() activate
display dialog "ãã¹ã¯ã¼ããå ¥åãã¦ãã ããã" default answer "" with icon note with hidden answer
set userPass to text returned of result
add_pass_list() end save_user_pass
--ãã¹ã¯ã¼ããªã¹ãã«è¿½å ããï¼æ¢åã®ã¦ã¼ã¶ã¼ã«ã¯ä¸æ¸ãï¼
on add_pass_list() repeat with name_pass in passList
if name_pass's item 1 = userName then
set name_pass's item 2 to userPass
return
end if
end repeat
set passList's end to {userName, userPass} end add_pass_list
--ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ãããå®è¡
on fast_user_switch() do shell script "/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession -switchToUserID " & user_id() end fast_user_switch
--ã¦ã¼ã¶ã¼åããã¦ã¼ã¶ã¼IDãåå¾
on user_id() do shell script "/usr/bin/id -u " & quoted form of userName
end user_id
--ãã°ã¤ã³ãã¹ã¯ã¼ãã®å ¥åå¦ç
on input_login_password() tell application "System Events"
repeat 20 times
delay 0.1
if exists window 1 of application process "SecurityAgent" then exit repeat
end repeat
if userPass is not "" then
tell process "SecurityAgent"
keystroke userPass & return
end tell
end if
--ãã¹ã¯ã¼ããéã£ãå ´åã¯ããã¹ã¯ã¼ãå ¥åãã£ã¼ã«ãã«ãã©ã¼ã«ã¹ããã¾ã¾ã«ãã
delay 1
if not (exists window 1 of application process "SecurityAgent") then
keystroke tab using {command down} end if
end tell
end input_login_password
ãããªãå±æ
- faster_user_switching.app
- select_user_switching.app
ã©ã¡ãã®ã¢ããªããååèµ·åæã«ã¯ã¦ã¼ã¶ã¼åã»ãã¹ã¯ã¼ããå ¥åããå¿ è¦ããããã»ãã¥ãªãã£ãèæ ®ããçµæããã®ãããªä»æ§ã¨ããã®ã ããé »ç¹ã«ä½¿ãåºãã¨ååã®ã¦ã¼ã¶ã¼åã»ãã¹ã¯ã¼ãå ¥åããããé¢åã«æãå§ãããã©ãã«ããªããªãã®ãï¼â
ãã¼ãã§ã³ã¢ã¯ã»ã¹
- OSXæ¨æºã®ãã¼ãã§ã¼ã³ã¢ã¯ã»ã¹ãå©ç¨ããã°ããã¹ã¯ã¼ããå®å ¨ã«ç®¡çã§ããã¯ãã
- ãã¡ã¹ãã¦ã¼ã¶ã¼ã¹ã¤ããç¨ã®ãã¼ãã§ã¼ã³ã追å ãã¦ãããã§ãã¹ã¯ã¼ãã管çããããã«ããã°ãå¤å°ã¯ä¾¿å©ã«ãªããããããªãã
- ä½ããååã«ãã¼ãã§ã¼ã³ã解é¤ãããã¹ã¯ã¼ããå ¥åããæéã¯å¿ è¦ã«ãªãã
- ããã§ãã3ã¦ã¼ã¶ã¼ä»¥ä¸ã管çããselect_user_switching.appãªã便å©ãããããªãã
æå·åãã¦ããããã£ä¿åï¼èªåå°ç¨
-
- å ¥åããããããã£ãæå·åããã
- ãã¤èªåå°ç¨ã®AppleScriptã«ãã¦ããã
- 以ä¸ã®åããæã使ãã°ãæå·åã®éç¨ã¯é£èªåãããã®ã§ãç°¡åã«ã¯ãã¹ã¯ã¼ãã解èªã§ããªããªããããããªãã
- ã¨ããããããããèªåã¯èªåå°ç¨ã®AppleScriptãå«ãã§ããã
- éå»ãèªåå°ç¨ã§ä¿åãã¦ãã¾ã£ã¦ã丸ä¸æ¥ããã£ã¦ä½ã£ãAppleScriptã³ã¼ãã復å ã§ããªããªã£ã¦ãã¾ã£ããã¨ããè¦ãçµé¨ãããã
- ããã¦ä½æè ãããã¯ããã¹ã¯ã¼ãå ¥åã«ãã£ã¦ã³ã¼ãã復å ã§ããããã«ãã¦æ¬²ãããã®ã ã
- ããããããã¹ã¦ã®AppleScriptã³ã¼ãããªã¼ãã³ã«ãªã£ã¦ãã¦æ¬²ããã
- èªå以å¤ã®èª°ããä½ã£ãã³ã¼ãã®ä¸ã«ã¯ãç´ æ´ãããæãããããé ãã¦ããã
- ããããè¦ãããªããªã£ã¦ãã¾ãã®ã¯ãã¨ã¦ãæ²ããã
- ãã¼ãã§ã³ã¢ã¯ã»ã¹ã¯å®å
¨ã
- ä½ãããã¼ãã§ã¼ã³ã解é¤ããæéãå¿ è¦ã
- æå·åï¼èªåå°ç¨ãªãä¸åã®æéã¯ä¸è¦ã«ãªãã
- ããããã³ã¼ããè¦ããªããªãã®ãå«ãã
- æ¬å½ã«å®å ¨ã確ä¿ãããã®ããæªç¥ã
ã©ã¡ããé¸æãã¹ãããæ©ã¾ããã