ããã¯ABBYYã®äŒæ¥ããã°ã§ããããã®èšäºã§ã¯è£œåãšåœç€Ÿã«ã€ããŠã¯è§ŠããŸãããã1ã€ã®å®çšçãªåé¡ã®è§£æ±ºçã«ã€ããŠèª¬æããŸããMicrosoftDFSïŒDistributed File SystemïŒã䜿çšããç¶æ³ã§ã®Mac OS Xããã®ãããã¯ãŒã¯ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ã§ãã å€§äŒæ¥ã§ã¯ããã®ãã¯ãããžãŒã¯ããããå Žé¢ã§äœ¿çšãããŠãããABBYYãäŸå€ã§ã¯ãããŸããã å®éããªãœãŒã¹ã忣ããŠãããµãŒããŒã®ç°çš®ã·ã¹ãã ã§ã¯ãªãããããã¯ãŒã¯ãªãœãŒã¹ã®è«ççã«é
眮ãããããªãŒã衚瀺ãããŸãã
5幎åãä»äºçšã®ã©ããããããMacBook Proã«å€æŽããããšã決ãããšããããŒã ã¯è€éãªæ°æã¡ã§è¿ããããŸããã ããã¯ãã·ã¹ãã 管çè
ã®ããŒã ã«ã€ããŠç¹ã«æççã§ããã ç§ã¯éå»5幎éã«ããã£ãŠãã®ããŒã ãçããŠããŸããããç§ã¯éåžžã«ããããªå
眪笊ãæã€ããšã«ãªã£ãŠããã管çè
ã®èгç¹ããã¯Mac OSã®äœ¿çšã¯åãªãå
眪笊ãè¶
ããŠããŸããã ããããç§ã¯ãã¹ãŠã®åé¡ãèªåèªèº«ã«è² ããããšèšã£ãŠãã»ãšãã©ç§ã®èšèãå®ããŸããããæã
ãç§ã¯æã
ãç§ã®ç®¡çè
ãç§ã®ããã¯ã®åé¡ã§æ©ãŸããªããã°ãªããŸããã§ããã ããããç§ã¯DFSã®åé¡ãèªåã§è§£æ±ºããããšãã§ããŸããã
DFSãžã®ã¢ã¯ã»ã¹ã®åé¡ã¯é·ãéãã©ãŒã©ã ã§è°è«ãããŠããŸããããã¹ãŠã®é¢å¿ã®ãã人ã¯ãæ°å¹ŽéAppleããã®ãã®æè¡ã®éåžžã®ãµããŒããåŸ
ã£ãŠããŸããã ããããæ®å¿µãªãããç©äºã¯ãŸã ããã«ãããŸãïŒã¯ãããŒãã§ã¯ã©ãããïŒã
ãã®åé¡ã®æŠèŠãç°¡åã«èª¬æããŸãã宿çã«ãã¡ã€ã«ãžã®UNC圢åŒã®ãªã³ã¯ãèšèŒãããæçŽãåãåããŸãã
\\dfs\Common\Media\Pictures\New Year Party\Aram on his head.jpg
Outlookã®ææ°ããŒãžã§ã³ã§ã¯ã次ã®ãããªURLãªã³ã¯ãæåã«èªåçã«æ¿å
¥ãå§ããŸããã
file:////dfs/Common/Media/Pictures/New%20Year%20Party/âŠ
Mac OSã¯ãã®ãªã³ã¯ã«äœ¿çšãããããã³ã«ãç¥ããªãã®ã§ãç§ã«ãšã£ãŠããã¯äžæºã§ãã éãè¯ããã°ãOutlookã¯ãªã³ã¯èªäœãé
眮ããªãã£ãã®ã§ãSnow Leopardã®Mail.appã¯UNCãã¹ãèªåçã«
smb://server/share/path
倿ã§ããŸã
smb://server/share/path
ã åªããæ©èœã§ããããããå©ããã«ã¯ãéåžžã«å¹žéã§ããå¿
èŠããããŸãããœãŒã¹ãã¹ã¯DFSãªãœãŒã¹ãžã®ãªã³ã¯ã§ãã£ãŠã¯ãªããããªã³ã¯ã¯HTMLããã¹ãã«åã蟌ãŸããŠã¯ãããŸããã ããã«ãMail.appã®ç±æã¯ãæåã«çºçããã®ã£ããã§éåããŸãããããã£ãŠãéåžžã«é »ç¹ã«ãã®ãããªèªåãªã³ã¯ãå£ããŸãã ããããFinderã§ããµãŒããŒã«æ¥ç¶ããŠã£ã³ããŠãéãããã³ã§ãœãŒã¹ããã¹ããã³ããŒãããã¹ãŠã®ããã¯ã¹ã©ãã·ã¥ãçŽæ¥ã«ä¿®æ£ããŸãããœãŒã¹ãã¹ãå®éã®ã³ã³ãã¥ãŒã¿ãŒãžã®å®éã®ãã¹ã§ãããDFSãã¹ã§ã¯ãªãå Žåã®ã¿ãã¹ãŠãæ©èœããŸãã
ADmitMacãšåŒã°ãããã®åé¡ã«å¯Ÿããã°ããŒãã«ãªè§£æ±ºçãããããšãèªããªããã°ãªããŸããããããã¯å€ãã®è²»çšãããããä»ã®å€ãã®ããšãè¡ããŸãã
DiffissãšåŒã°ãã2çªç®ã®ç°¡åãªãœãªã¥ãŒã·ã§ã³ã¯ãåå¿è
ããã°ã©ããŒã®å®éšçãªäœæ¥ã«äŒŒãŠããŸãã ãã ãããã®è£œåã§ã¯ãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãŠã£ã³ããŠãéãããããŸã§DFSããªãŒãããã²ãŒãã§ããŸãããã®åŸãã¢ããªã±ãŒã·ã§ã³ãŠã£ã³ããŠãéãããšãã¢ããªã±ãŒã·ã§ã³ãåèµ·åããªãéãéãããšãã§ããŸããã ãã®ããã°ã©ã ã䜿çšãããšãDFSããŒããšå®ãµãŒããŒãšã®å¯Ÿå¿ãæèããã«ãDFSããªãŒããã©ãããšãã§ããŸãããæåããã®ãªã³ã¯ãéãããšã¯ã§ããŸããã ãã³ãã«ã¯ããŸãDiffisså
ãæ¬¡ã«Finderå
ã§æšã®äžãæ©ãå¿
èŠããããŸãã ãããããã°ããã®éãããã§ãå®å¿ã§ããã
æè¿ãç§ã¯
ããã§
ãã®èšäºãå¶ç¶å¶ç¶èŠã€ããŠãåé¡ã®åŸ¹åºçãªè§£æ±ºçãè¬ããŸãããã€ãŸããæçµçã«AppleãFinderã¬ãã«ã§ã·ã¹ãã èªäœã®DFSããµããŒããããŸã§ã«ã€ãŸããããã«ããã£ããããæŸèæãäœããŸããã ãšããã§ãOS X Snow Leopardã«ä»å±ã®Samba 3.0.28ã§ã¯ãDFSã§ã®äœæ¥ããµããŒããããŠããŸãïŒå®éã«äœ¿çšããŸããïŒã
æŸèæã¯2ã€ã®éšåã§æ§æãããŠããŸãã 1ã€ã¯ãå
¥åãšããŠDFSã«ãŒããµãŒããŒã®ååãšãœãŒã¹ãã¹ãåãåããå®ãµãŒããŒäžã®ãã£ã¬ã¯ããªãžã®UNCãã¹ãåºåããbashã¹ã¯ãªããã§ãã 2çªç®ã®è©³çްã¯ããŠãŒã¶ãŒã®ãœãŒã¹ãã¹ãååŸããbashã¹ã¯ãªãããå®è¡ããFinderã§ç®çã®ãã£ã¬ã¯ããªãéãå°ããªAppleScriptã¹ã¯ãªããã§ãã
ããããã®è©³çްãåå¥ã«æ€èšããŠãã ããã
ïŒïŒ/ bin / bash
ïŒãã®ã¹ã¯ãªããã¯ãDFSãã¹ããªãœãŒã¹ã«å€æããããã«èšèšãããŠããŸã
ïŒWindowsãããã¯ãŒã¯äžã®å®éã®å
±æãªãœãŒã¹ãžã®ãã¹
ïŒã¹ã¯ãªããã¯å
¥åã§åŸ
æ©ããŠããŸãïŒ
ïŒarg1ïŒDFSã«ãŒããµãŒããŒå
ïŒarg2ïŒå®éã®ãã¹ã«ãã£ã¹ããããUNCãã¹
ïŒã¹ã¯ãªããã¯ããŠãŒã¶ãŒèªèšŒãKerberosãä»ããŠè¡ãããããšãåæãšããŠããŸãã
if [ -z "$ 1" ] || [ -z "$ 2" ] ; ãããã
echo -e "ãšã©ãŒïŒã¹ã¯ãªããã«ã¯2ã€ã®åŒæ°ããããŸãã"
ãšã³ãŒ
100 çªåºå£
fi
DFS_SERVER = 1ãã«
ïŒããã¯ã¹ã©ãã·ã¥ããã©ã¯ãŒãã¹ã©ãã·ã¥ã«å€æããå
é ã®ã¹ããŒã¹ãåé€ããŸã
ïŒè¡ãæžãããã¹ãŠã®æåãå°æåã«å€æããŸã
DFS_PATH = $ ïŒ echo -n $ 2 | sed 's / \\ / \ // g' | sed 's / ^ * // g' | tr "[ïŒupperïŒ]" "[ïŒlowerïŒ]" ïŒ
real_share = ""
exit_code = "0"
ïŒrpcclientã䜿çšããŠDFSããŒãã®ãªã¹ããååŸããŸãïŒã«ãŒãã®æåŸã«ããåŒãåç
§ããŠã
ïŒãå®äºãã®çŽåŸïŒã ã³ãã³ããåŒã³åºããã®ã¡ãœããã¯ãåé¿ããããã«äœæãããŸã
ïŒãã£ãã«ã®äœ¿çšããã£ãã«ã®å®è£
ã«é¢ããŠã¯ãã«ãŒãã¯ãµãã·ã§ã«ã§å®è¡ããã
ïŒã«ãŒãã§å€æŽãã倿°ããã¹ã¯ããŸãã
èªã¿åãäž smb_path; ãã
ã³ã¡ã³ããèªã
ç¶æ
ãèªã
num_storesãèªã¿åããŸã
ïŒã©ãã«ãããã£ãŒã«ããåé¢ããå
é ã®ã¹ããŒã¹ãåé€ããæåãå°æåã«å€æããŸã
smb_path = $ ïŒ echo $ smb_path | awk -FïŒ '{gsubïŒ/ ^ [\ t] + /ã ""ã$ 2ïŒ; print $ 2}' | \
tr "[ïŒupperïŒ]" "[ïŒlowerïŒ]" ïŒ
num_stores = $ ïŒ echo $ num_stores | awk -FïŒ '{gsubïŒ/ ^ [\ t] + /ã ""ã$ 2ïŒ; print $ 2}' ïŒ
state = $ ïŒ echo $ state | awk -FïŒ '{gsubïŒ/ ^ [\ t] + /ã ""ã$ 2ïŒ; print $ 2}' ïŒ
ïŒæ°å€ãšç¶æ
ã倿°num_storesãšstateã«å
¥åãããŠããããšã確èªããŸã
ïŒç©ºã§ã¯ãªãããšã ããã§ãªãå Žåã¯ãããããé害ãçºçããŠããŸã
expr " $ num_stores + $ state " > / dev / null 2 > / dev / null
if [ $ïŒ ïŒ = 0 ] || [ -z " $ num_stores " ] || [ -z " $ state " ] ; ãããã
echo -e "DFSãã¹ãã®ãªã¹ããååŸäžã«ãšã©ãŒãçºçããŸããã"
exit_code = "200"
ç Žã
fi
ïŒããŒãã«é¢é£ä»ããããå®ãªãœãŒã¹ã®æ°ã¯è€æ°ã«ããããšãã§ããŸãã
ïŒãã®ãããªå ŽåãsmbclientåŒã³åºãã䜿çšããŠãªãœãŒã¹ãéžæããŸãã
for ïŒ ïŒ store = 0 ; store < $ num_stores ; store ++ ïŒ ïŒïŒ ; ãã
èªã¿åããµãŒããŒ
å
±æãèªã
ãã£ã
ïŒDFSãã¹ã®å
é ãããããã®ãªãœãŒã¹ãšäžèŽãããã©ããã確èªããŸã
ïŒåä¿¡ãããªã¹ããã
if [ " $ state " -eq "1" ] && [ [ " $ DFS_PATH " == " $ smb_path " * ] ] ; ãããã
if [ " $ num_stores " -gt "1" ] ; ãããã
ïŒããŒãããšã®ãªãœãŒã¹ã®æ°ãè€æ°ã®å ŽåãsmbclientãåŒã³åºããŸãã
ïŒåé¡ã¯2è¡ã§æ§æãããŠããŸãã
ããã èªã¿ ãªãã ; ãã
ãã [ ïŒ -z " $ buff " ] && [ [ " $ buff " == "//" * ] ] ; ãããã
real_share = " $ buff " ;
ä»ã«
ïŒ2è¡ç®ãèŠããªãå Žå
ïŒãªãœãŒã¹ãžã®UNCãã¹ãšããŠããšã©ãŒãçºçãã
echo -e "smbclientã®åŒã³åºããšã©ãŒïŒ $ buff "
exit_code = "300"
fi
done << ïŒ smbclient -k -c showconnect $ smb_path 2 > / dev / null ïŒ
ä»ã«
server = $ ïŒ echo $ server | awk -FïŒ '{gsubïŒ/ ^ [\ t] + /ã ""ã$ 2ïŒ; print $ 2}' ïŒ
share = $ ïŒ echo $ share | awk -FïŒ '{gsubïŒ/ ^ [\ t] + /ã ""ã$ 2ïŒ; print $ 2}' ïŒ
real_share = "// $ server / $ share "
fi
ïŒæ®ãã®UNCãã¹ãå®ãµãŒããŒãšãªãœãŒã¹ã«è¿œå ããŸã
ãã [ ïŒ -z " $ real_share " ] ; ãããã
smb_path_len = " $ {ïŒsmb_path} "
rest_of_path = $ ïŒ awk -v len = " $ smb_path_len " -v awk_string = " $ DFS_PATH " \
'BEGIN {print substrïŒawk_stringãlen + 1ïŒ}' ïŒ
real_share = " $ real_share $ rest_of_path "
fi
ïŒæåã®äžèŽãŸã§æ€çŽ¢ãããããã«ãŒããæããŸã
ç Žã
fi
done << ïŒ rpcclient -k --command = "dfsenum 3" $ DFS_SERVER | sed 's / \\ / \ // g' ïŒ
ïŒreal_shareã«å€ãå²ãåœãŠãããŠããªãå ŽåïŒã»ãšãã©ã®å Žå
ïŒãœãŒã¹ãã¹ããªã¹ãã§èŠã€ãããªãã£ããããšã©ãŒãçºçãããã
ïŒå
ã®ãã¹ãè¿ã
if [ -z " $ real_share " ] ; ãããã
real_share = $ DFS_PATH
fi
ïŒçµæãAppleScriptã«è¿ãã«ã¯ãåºåããå¿
èŠããããŸã
ïŒæšæºåºåãž
echo $ real_share
exit $ exit_code
ãã¡ãããã¹ã¯ãªããã¯å®ç§ã§ã¯ãããŸããããã¹ãŠã確å®ã«æ¹åãããŸãã äžè¬çã«ãç§ã¯ã¹ã¯ãªãããæžãããšã¯ãã£ãã«ãããŸãã; Mac OSãŠãŒã¶ãŒã¯éåžžããããå¿
èŠãšããªãã®ã§ãç§ã¯ãŸã ç§ã®æãæºãããŠããŸããã æè¡çãªè©³çްã¯ã³ã¡ã³ãããæããã§ãããåºæ¬çã«æ¬¡ã®ããšãè¡ããŸãã
- Sambaããã±ãŒãžã®äžéšã§ããrpcclientããã°ã©ã ã䜿çšããŠãå®ãµãŒããŒã«ãªã³ã¯ãããããŒãããŒãã«ãDFSã«ãŒããµãŒããŒããåŠç¿ããŸãã ããã§ã¯ãã¹ã¯ãªããã¯Kerberosãä»ããèªèšŒãåæãšããŠããããšã«æ³šæããŠãã ãããããã¯ãã³ã³ãã¥ãŒã¿ãŒããã¡ã€ã³ã«ãªã¹ãããããã¡ã€ã³åãšãã¹ã¯ãŒãã§æ¢ã«ãã°ã€ã³ããŠããããšãæå³ããŸãã ããããªããã°ãWindowsãµãŒããŒç°å¢ã§ã®ç掻ã¯éåžžã«å³ãããã®ã«ãªããŸãã
- 次ã«ãçµæã®ããŒãã«ãåæããŸãïŒäžèšã®èšäºã§ã¯rpcclientã®åºåã®æ§é ã«ã€ããŠèª¬æããŠãããããããã§ã¯ç¹°ãè¿ããŸããïŒã ããŒããè§£æããããšãå
ã®ãã¹ã®å
é ã«äžèŽããããŒããæ¢ããŸãã èŠã€ãã£ããããã«ãããã«æ€çŽ¢ã忢ããããŒãããã®å®éã®ãã¹ãäœæããechoã³ãã³ãã§è¡šç€ºããŸãã ããã¯ãäœæ¥çµæãã·ã§ã«ããAppleScriptã«è»¢éããæšæºçãªæ¹æ³ã§ãã
ãã®ã¹ããŒãªãŒå
šäœã«1ã€ã®ç¹åŸŽããããŸãã å®éãDFSã«ã¯ãè€è£œãããããŒã¿ã®ã³ããŒãç°ãªããµãŒããŒã«ä¿åã§ããçµã¿èŸŒã¿ã®è€è£œã¡ã«ããºã ãå«ãŸããŠããŸãã ãããã£ãŠãç°ãªããµãŒããŒäžã®è€æ°ã®å®ãªãœãŒã¹ã1ã€ã®ããŒãã«å¯Ÿå¿ã§ããŸãã ã¹ããŒãã§ã¯ãªãããã®ãã¡ã®1ã€ã ããåãããšã¯å¯èœã§ããïŒã³ãŒãã§äœã倿Žãããªãå ŽåãæåŸã®ãã®ãåãããŸãïŒãç§ã¯Sambaãè¡ãéžæã䜿çšããããšã«ããŸããããã®ãããªå Žåãsmbclientã¯ãã¹ãè¿ãåäžã®ã³ãã³ãã§å®è¡ãããŸãæ¥ç¶ãããµãŒããŒäžã®ãªãœãŒã¹ã«ã ã¡ãªã¿ã«ãSambaã¯ããŒããã©ã³ãã ã«éžæãããšæãããŸãïŒã³ãŒãã¯èŠããŸããã§ãããïŒã
æåã®ã¹ã¯ãªãããçè§£ããã®ã§ã2çªç®ã®ã¹ã¯ãªããã«é²ã¿ãŸãããã ã³ãã³ãã©ã€ã³ããïŒosascriptã䜿çšããŠïŒã€ã³ã¿ã©ã¯ãã£ãã«å®è¡ã§ããããã«æžãããŠããŸãã å®éãéå§ãã3çªç®ã®æ¹æ³ããããããã«ã€ããŠã¯ããäžã«ãããŸãã
-ãã®ã¹ã¯ãªããã¯ããªãœãŒã¹ãžã®DFSãã¹ã䜿çšããŠãWindowsãããã¯ãŒã¯ãªãœãŒã¹ãFinderã«æ¥ç¶ããŸãã
-ã¹ã¯ãªããã¯å€éšbashã¹ã¯ãªãããåŒã³åºããŠãDFSãã¹ããã¹ã«å€æããŸã
-å®éã®å
±æãªãœãŒã¹ãž
ãããã㣠DFSRootServerïŒ "dfs.mycompany" -ããã«ã«ãŒãDFSãµãŒããŒã®ååãæ¿å
¥ããŸã
ãããã㣠BashScriptPathïŒ "/ Users / Shared / Scripts / dfs_to_share"-bashã¹ã¯ãªãã ãžã®ãã¹
ãããã㣠isRunFromCommandLineïŒ true
-ãã®ãã³ãã©ãŒã¯ãThisServiceãæŽçã«äœ¿çšããŸã
-[ãµãŒãã¹]ã¡ãã¥ãŒããã¹ã¯ãªãããåŒã³åºããŸãã
-"run"ã¡ãœãããããåŒã³åºããŸãã å
ã®UNCãã¹ãåŒæ°ãšããŠæž¡ãããŸãã
åŠçäžïŒå
¥åïŒ
詊ããŠã¿ã
ã·ã§ã«ã¹ã¯ãªãã "/ bin / bash" ïŒ BashScriptPath ïŒ Â¬ ã å®è¡ ãã ããã« realPath ã èšå® ã ãŸã
"" ïŒ DFSRootServer ïŒ "'" ïŒå
¥åïŒ "'"
ãšã©ãŒæ errMessage çªå· errNumber
-ã¹ã¯ãªããã¯ããŸããŸãªç¶æ³ã§ããŸããŸãªãšã©ãŒã³ãŒããè¿ããŸããããã§åŠçããŸã
errNumber ã 100ã® å Žå
errMessage ã ãã¹ã¯ãªããã®å®è¡äžã®å
éšãšã©ãŒãã« èšå®ã ãŸãã
ãã以å€ã® å Žåã errNumber ã 200ã® å Žå
errMessage ã ããµãŒããŒããããŒãã®DFSããŒãã«ãååŸã§ããŸããããã« èšå® ããŸãã
ã¢ã¯ãã£ããªKerberosãã±ããããããã©ããã確èªããŠãã ããã
ãã以å€ã® å Žåã errNumber ã 300ã® å Žå
errMessage ã ãsmbclientã䜿çšããŠDFSãã¹ããååŸããéã®ãšã©ãŒãã« èšå®ã ãŸãã
ä»ã«
errMessage ã ãã·ã§ã«ã¹ã¯ãªããã®å®è¡äžã®äžæãªãšã©ãŒïŒãã«èšå®ã ãŸã ïŒ ããã¹ã ãšã㊠errNumber ïŒ
çµäºãã å Žå
isRunFromCommandLineã®å Žå
-ã¢ããªã±ãŒã·ã§ã³ãã³ãã³ãã©ã€ã³ããèµ·åãããå Žåã
-ã³ã³ãœãŒã«ã«ã¡ãã»ãŒãžã衚瀺ãã
ãã°errMessage
ä»ã«
衚瀺ãã€ã¢ãã° errMessage ãã¿ã³ { "éãã" }
çµäºãã å Žå
åž°ã
çµäºãã
詊ããŠã¿ã
ïŒ* Finderã«ç¹å®ã®ãã¹ã®ãã£ã¬ã¯ããªã匷å¶çã«éãæã䟿å©ãªæ¹æ³ã¯ã
ãå Žæãéããæ¹æ³ã䜿çšããŸãã ããã€ã¹ãèªåçã«ããŠã³ããã
FinderãŠã£ã³ããŠã§å¿
èŠãªãã£ã¬ã¯ããªãéããŸãã ãããããã®æ¹æ³ã«ã¯å
¥åãå¿
èŠã§ã
URLãã¥ãŒã®ãã¹ãªã®ã§ãPythonã䜿çšããŠå€æããŸã
URL衚çŸãžã®UNCãã¹*ïŒ
urlOfPath ã ãsmbïŒãã« èšå® ããŸã ïŒ ã·ã§ã«ã¹ã¯ãªãããå®è¡ ¬
ãpython -c 'import urllibãsys; print urllib.pathname2urlïŒsys.argv [1]ïŒ'ã ïŒ Â¬
realPathã®åŒçšåœ¢åŒ ïŒ
ã¢ããªã±ãŒã·ã§ã³ ãFinderãã« éç¥ ãã
ãªãŒãã³ãã±ãŒã·ã§ã³urlOfPath
çµãããã
ãšã©ãŒæ errMessage
衚瀺ãã€ã¢ãã° errMessage ãã¿ã³ { CloseButton }
çµäºãã
çµäºããã»ã¹
å®è¡æã« argv
ConnectButton ã Connectã« èšå® ã ãŸã
CancelButton ã ããã£ã³ã»ã«ãã« èšå®ããŸã
-ãã¹ããã©ã¡ãŒã¿ãŒãšããŠæž¡ããã³ãã³ãã©ã€ã³ããéå§ããããã©ããã確èªããŸã
ïŒ count of argv ïŒ ã 0ã« çãã å Žå
衚瀺ãã€ã¢ãã° ãUNCãã¹ãå
¥åããŠãã ããïŒã ããã©ã«ãã®åç ãã ¬
ãã¿ã³ { ConnectButtonãCancelButton }ããã©ã«ããã¿ã³1
çµæ ã ãªã¹ã ãšã㊠{ UNC_pathãbutton_pressed }ã« ã³ããŒããŸã
button_pressed ã ConnectButtonã§ã UNC_path ã ãã㧠㯠ãªã å Žå
isRunFromCommandLine ã falseã« èšå® ã ãŸã
ããã»ã¹ïŒ UNC_path ïŒ
çµäºãã å Žå
ä»ã«
ããã»ã¹ïŒ argvã®ã¢ã€ãã 1 ïŒ
çµäºãã å Žå
ãšã³ãã©ã³
runã¡ãœããã¯ãã¹ã¯ãªããã®å®è¡åŸã«èªåçã«åŒã³åºãããŸããåäžã®ãŠã£ã³ããŠã衚瀺ããããŠãŒã¶ãŒã¯ç®çã®ãªãœãŒã¹ãžã®ãœãŒã¹ãã¹ãå
¥åããããæ±ããããŸãã ã¹ã¯ãªããã®äž»ãªæ©èœã¯ããããã»ã¹ãã¡ãœããã«ãããŸãã ãµãŒããŒãžã®å®éã®ãã¹ãå
¥åãšããŠåãåããäžèšã®bashã¹ã¯ãªãããå®è¡ããçµæãè§£éããŠãFinderããã°ã©ã ã§çµæã®ãã¹ãéããŸãã
ãã®æåŸã®æ®µéã§ã1ã€ã®åé¡ãçºçããŸãã Finderã«ã¯äŸ¿å©ãª[ãµãŒããŒã«æ¥ç¶]ãã€ã¢ãã°ããã¯ã¹ããããŸãã æ®å¿µãªããããã®æ©èœã¯AppleScriptãä»ããŠå©çšã§ããªããããããã€ãã®ç°ãªããªãã·ã§ã³ã詊ããåŸãURLãå
¥åãããããšãæåŸ
ãããå Žæãéããã¡ãœããã«æ±ºããŸããã ãã®ãããæåã®ã¹ã¯ãªããã«ãã£ãŠè¿ãããæååãURL衚çŸã«å€æããäžéšã®æåãã³ãŒãã«çœ®ãæããå¿
èŠããããŸãã 幞ããªããšã«ãMac OS Xã«ã¯ãå¿
èŠãªããšãæ£ç¢ºã«å®è¡ãã䟿å©ãªã¡ãœãããæã€ã©ã€ãã©ãªãåããpythonã€ã³ã¿ãŒããªã¿ãŒãä»å±ããŠããŸãã çµæã®URLãFinderã«ãã£ãŒããããšãå¿
èŠãªãã£ã¬ã¯ããªãå«ããŠã£ã³ããŠãéæ³ã®ããã«éããŸãã
ãããã®ã¹ã¯ãªããã®äœæ¥ã詊ã¿ããšã1ã€ã®æ©èœã«æ°ã¥ãã§ãããïŒFinderãã€ã¢ãã°ããã¯ã¹ãä»ããŠãªãœãŒã¹ã«æ¥ç¶ãããšãçŽæ¥åå²ããããªãœãŒã¹ããµãŒããŒã«ããŠã³ããããFinderã§ãã®ãªãœãŒã¹ã®ãã£ã¬ã¯ããªããªãŒå
šäœããŠã©ãŒã¯ã¹ã«ãŒã§ããŸãã ãŸããèšè¿°ãããã¹ã¯ãªããã®çµæãšããŠããœãŒã¹ãã¹ãšãã®ãµããã£ã¬ã¯ããªã§åç
§ãããŠãããã£ã¬ã¯ããªã®ã¿ãå©çšå¯èœã§ãã 誰ããšããŠãç§ã¯ãã®è¡åããã奜ãã§ããããªãã¯ããªããæããã®ãæã«å
¥ããŸããããã以äžã®ãã®ã¯ãããŸããã ããã«æ·±ãããå¿
èŠããããŸãããã¹ã«åå ããŠãã®éšåã®ã¿ãæ¥ç¶ããããFinderãŠã£ã³ããŠã®ãµã€ãããã«ã§æ¥ç¶ããããµãŒããŒãéžæããããããéå±€ãäžãããšãã§ããŸãã
次ã«ãã¹ã¯ãªãããå®è¡ããããã®3çªç®ã®çŽæãããæ¹æ³ã«ã€ããŠèª¬æããŸãã Cocoaããã°ã©ã ã§ã¯ãããµãŒãã¹ãã¡ãã¥ãŒãå©çšå¯èœã§ããããã®ã¡ãã¥ãŒããã¹ã¯ãªãããåŒã³åºãããšãã§ããã°éåžžã«äŸ¿å©ã§ãã ããã¹ãå
ã®ãã¹ãéžæãããã®ã¡ãã¥ãŒããã¢ã€ãã ãéžæïŒãŸãã¯ãã®ã¢ã€ãã ã«å¯Ÿå¿ããæžã蟌ã¿ããŒãæŒããŸãïŒããŠãFinderã§ãã®ãã¹ãéããŸãã ãããè¡ãã®ã¯é£ãããªãããšã
ããããŸãããThisServiceãšããç¡æã®ããã°ã©ã ïŒãããŒã·ã§ã³ãŠã§ã¢ïŒããããã¹ã¯ãªããã[ãµãŒãã¹]ã¡ãã¥ãŒã«æ¥ç¶ã§ããŸãã ThisServiceã§ã¯ãã¹ã¯ãªããã«å
¥åãšããŠæååãåãåããããã»ã¹ãã¡ãœãããå¿
èŠã§ãããããã¹ã¯ãªããã2ã€ã®ã¡ãœããã«åå²ããã®ã¯ãã®ããã§ãã ç°¡åãªã»ããã¢ããã®åŸãããŸããããŸããã
ApptivateãšåŒã°ããå¥ã®äŸ¿å©ãªããã°ã©ã ããããŸããããã¯ãã·ã¹ãã å
šäœã®ãããããŒãå²ãåœãŠãŠãã¹ã¯ãªãããå«ãã¢ããªã±ãŒã·ã§ã³ãèµ·åã§ããããã«ãããã®ã§ãã ã¹ã¯ãªããã®èµ·åãããŒã®çµã¿åããã«æ·»ä»ããŸãããããã§ããã€ã§ãç»é¢ã«[ãµãŒããŒã«æ¥ç¶]ãŠã£ã³ããŠã®ããŒãžã§ã³ãååŸã§ããŸãã
ãšããã§ãSnow Leopardã«é¢ããéèŠãªèгå¯çµæã®1ã€ã§ãã ãã§ã«æå¹ãªKerberosãã±ãããããããã¹ãŠã®SMBããªã¥ãŒã ãç¡å¹ã«ãããšããã±ããã¯å€±ãããŸãã ãã®ããããªæ¯ãèãã¯ã5ååã«ãã¹ãŠãããŸããã£ãã«ãããããããæã
ãããã¯ãŒã¯ãªããžã§ã¯ãã«æ¥ç¶ã§ããªãããšã«çªç¶æ°ä»ããšããäºå®ã«ã€ãªãããŸãã ããã¯ãããã±ããã®è¡šç€ºãããã°ã©ã ïŒããŒãã§ãŒã³ããå®è¡å¯èœïŒãéå§ããããªã¥ãŒã ãæ¥ç¶ããã³åæãããã±ããã«äœãèµ·ããããèŠããšãã¯ã£ãããšèŠããŸãã ãã®çµæãç§ã¯åžžã«æå
ã«çœ®ããŠãApptivateããã°ã©ã ã§ãããããŒã䜿çšããããšã«ããŸããã
çµè«ãšããŠã説æãããã¹ãŠã®ãã®ã¯ã³ã³ãã¥ãŒã¿ãŒïŒMac OS X Snow LeopardãããŒãžã§ã³10.6.4ïŒã§ã®ã¿ãABBYYã®å£å
ã§ã®ã¿ãã¹ããããããšãèŠåããå¿
èŠããããŸãã æ°ä»ããäžæ£ç¢ºãªç¹ã«ã€ããŠã³ã¡ã³ããæžããæ¹åã§ããç¹ãææ¡ããŠãã ããã ãããŠãç§ãšãèå³ã®ãããã¹ãŠã®äººã¯æè¬ããã ãã§ãã