2012年2月26日日曜日

パブリックフォルダをマウントしようとすると出てきたダイアログ

環境:MacOS10.6 Snow Leopard

いつからか、LANの別のMacにあるパブリックフォルダをマウントしようとすると「”[ユーザ名]のパブリックフォルダ”のオリジナルの項目が見つからないため、操作を完了できません。」というダイアログがでるようになってしまっていた。

このダイアログが出てきて[OK]ボタンを押したら、別に何事もなかったかの様にパブリックフォルダをマウントするのだが、何が起こったのかよくわからないため気持ちが悪い・・・。

LAN内にあるMacは2台でMac mini→MacBook Proでは上記のダイアログがでるのだが、MacBook Pro→Mac miniでは出てこない。

色々とシステム環境設定の項目の差を調べていて分かったのは、
システム環境設定→セキュリティの[ファイアウォール]タブの[詳細...]ボタン→シートの下の方にある「ステルスモードを有効にする」のチェックボックスが入っているかどうかだった。

「ステルスモードを有効にする」にチェックが入っているMacのパブリックフォルダをマウントしようとすると「・・・オリジナルの項目がみつからない・・・」のダイアログが出てくるということが判明した。

デフォルトの設定は多分オフだと思うのだが(忘れた...)、実害がなければオンにしておいた方がいいのだろうか?

詳しくないので、このチェックをオフにした場合のリスクがどの程度のものなのかがよく分からない。

まあ、家庭内のLANから外にだすようなノート型マシンであればオンにしておいた方がいいかもしれない。

2012年2月17日金曜日

新規フォルダにまとめる.scpt

(*

動作説明:
このスクリプトを実行すると選択している複数のファイルを新規フォルダにまとめることができます。
スクリプトの実行中に出るダイアログボックスで新規に作成するフォルダ名を入力することができます。
ファイルを何も選択していない状態で実行するとダイアログで警告をだし、処理が終了します。

使い方:
このスクリプトをAppleScriptエディタ.appの書類ウインドウにコピー&ペーストして「ユーザー・スクリプト・フォルダ」(~/Library/Scripts)に保存してください。
メニューバーのスクリプトメニューから実行できます。
Takayuki Ueno

*)

tell application "Finder"
try
set objList to selection --選択項目のListを取得
set obj1 to item 1 of objList --代表ファイルを取得
set placeObj to container of obj1 --代表ファイルの保存場所を取得
make new folder at placeObj --新規フォルダ
set newFolder to result
set newfolderName to name of newFolder
move objList to newFolder --選択したファイルを新規フォルダ内に移動
display dialog "フォルダ名を入力してください。" default answer newfolderName buttons {"OK"} default button 1 with icon note
set ans to result
set pushB to button returned of ans --ifでどのボタンが押されたかを判定するのに利用
set intext to text returned of ans --変数に入力された文字を格納
set name of newFolder to intext
on error
display dialog "ファイルが選択されていません。" with icon caution
end try
end tell

ファイルを選択(指定文字列を含むもの).scpt

(* 
動作説明
最も手前にあるFinderウインドウの中からダイアログで指定した文字列を含むファイルのみを選択することができます。
もし、Finderウインドウが1つも開いていないときは、デスクトップ上で選択を行うこととしています。
このスクリプトを実行するまえに事前にファイルを選択している場合は、そのファイルの表示されている名前をダイアログウインドウに自動入力します。
日本語環境では、「実際のファイル名(フォルダ名)」と「表示されている名前」が違うものが存在します。
例)
ホームフォルダの"Documents""書類フォルダ"
Finder環境設定で拡張子を常に隠す設定にしていると、"名称未設定.txt""名称未設定"
このスクリプトでは表示されている名前を利用します。
使い方:
このスクリプトをAppleScriptエディタ.appの書類ウインドウにコピー&ペーストして「ユーザー・スクリプト・フォルダ」(~/Library/Scripts)に保存してください。
メニューバーのスクリプトメニューから実行できます。
Takayuki Ueno
 *)

tell application "Finder"
try
set objList to selection
set wCount to count of Finder window
if objList ≠ {} then --選択されたファイルがあるかどうかで条件分岐
set objName to displayed name of item 1 of objList
--複数選択されたファイルの代表としてitem1のファイル名を変数に格納する。
else
set objName to ""
end if
display dialog "選択したいファイルに含まれる" & return & "共通の文字列を入力して下さい" default answer objName buttons {"キャンセル", "OK"} default button 2 with icon note
set ans to result
set targetText to text returned of ans
if wCount ≠ 0 then
set tergetList to (document files that displayed name contains targetText) of Finder window 1
else
set tergetList to (document files that displayed name contains targetText) in the desktop
--Finderウインドウが1つも開いていなときデスクトップ上のファイルが選択されているとしている
end if
--上記の処理で指定した文字を含むファイルのリストを変数に格納
select tergetList
end try
end tell

文字ビューアに何も表示されなくなったが、治せた。

環境はMacOS10.6.8 Snow Leopard

何が原因かは分からないが、入力メニューの文字ビューアに文字がまったく表示されなくなった

試しに別ユーザでログインをしてみると、正常に表示することができた。 つまり、ホームフォルダ内のファイルに問題が起こったことが分かる。 真っ先に疑うのが初期設定ファイルということになるが、どの設定ファイルか分からなかったのでとりあえずネットで検索をしてみる。

調べてみるとどうやら、~/Library/Preferences内にあるcom.apple.CharacterPaletteIM.plistというファイルらしい。 これをゴミ箱に入れて、ログアウト(shift+command+Q)をし、再度ログインしてみる。 そして、メニューの入力メニューから文字ビューアを選択してみると正常に表示された。

確認のために~/Library/Preferences/com.apple.CharacterPaletteIM.plistが自動的に作成されたかを確認してみると、ちゃんと作成日が現在の時刻のものができている。 これで問題は解決。

ちなみに「ことえり」の入力メニューにある「仮名表を使って入力」で出る日本語の50音パレットの設定ファイルは~/Library/Preferences/com.apple.com.apple.50onPaletteServer.plistというやつ

2012年2月16日木曜日

MobileMeからiCloudへの移行を考える

今はまだMacOS10.6 Snow Leopardを使っているからMobileMeのままにしているが、そろそろiCloudへの移行を考えている。 10.7 LionはとりあえずMac App Storeから購入し、外付けの古いHDDにインストールをして様子を見ている状態。

仕事で利用しているアプリケーションは10.7 Lionに対応したアップデータがでたり、代替できるものを見つけたり、バグを我慢して無理やり使ったりとなんとか見通しがついてきた。

どうしようも無いものはまだOS9と10.4の動くPowerBookG4 867MHzが生きているので、それで何とか出来る。

問題はMobileMeからiCloudになることでなくなる機能だ・・・

まだ6月までは時間があるが、10.6でiCloudを利用できるアップデータをAppleが出すという保証はない。

自分にとってのiCloudになることのデメリットはキーチェーンの同期iDisk。 iCloudで容量の購入はできてもネットワークストレージとして自由にファイルを置くことが出来なさそう。 災害対策として、子どもの成長記録である写真や動画のファイルをアップロードしておきたいところだが、それが出来ない。 写真や動画を上げる先にはPicasaやFacebookやSkyDriveなどを検討してみたが、写真をそのままの解像度で上げることが出来なさそう。 Dropboxが一番便利そうだが、容量を増やそうとすると有料になる。 MobileMeに払っていた金額を考えれば安いともいえるが、せっかくなら無料でなんとかできないものかとも考えてしまう。

もう一つの問題はキーチェーンの同期。 2台でオンラインサービスのIDやパスワードを共有したい。 さらに秘密メモの機能で購入ソフトのライセンスや各サービスに登録したときのメールアドレスやパスワードを忘れたとき用の質問なども記録・保管していたので、それが共有できなくなるのが痛い。

2012年2月15日水曜日

ファイルを選択(拡張子を指定).scpt


(* 
動作説明:
最も手前にあるFinderウインドウの中からダイアログで指定した拡張子のファイルのみを選択することができます
ダイアログには現在選択されているファイルの拡張子が自動入力されます


使い方:
このスクリプトをAppleScriptエディタ.appの書類ウインドウにコピー&ペーストして「ユーザー・スクリプト・フォルダ」(~/Library/Scripts)に適当な名前を付けて保存してください。
メニューバーのスクリプトメニューから実行できます。
Takayuki Ueno

*)

tell application "Finder"
--activate
try
set objList to selection
set wCount to count of Finder window
if objList ≠ {} then --選択されたファイルがあるかどうかで条件分岐
set extName to name extension of item 1 of objList
--複数選択されたファイルの代表としてitem1の拡張子(name extension)を変数に格納する。
else
set extName to ""
end if
display dialog "選択したい" & return & " ファイルの拡張子(.を含まない)" & return & "を入力して下さい。" default answer extName buttons {"キャンセル", "OK"} default button 2 with icon note
set ans to result --ダイアログの結果を変数に格納
set targetExt to text returned of ans
--ダイアログで入力されたテキスト(拡張子を示す文字列)を変数に格納
if wCount ≠ 0 then
set tergetList to (document files that name extension is targetExt) of Finder window 1
else
set tergetList to (document files that name extension is targetExt) in the desktop
end if
--指定した拡張子のファイルのリストを変数に格納
select tergetList
end try
end tell



2012年2月13日月曜日

AppleScriptを使って複数のファイルを選択

Finderでフォルダの中にある複数のアイコンを選択する方法には、マウスでドラッグしたり、shiftキー(または⌘キー)を押しながらマウスでクリックしたりするのが基本だけど、フォルダ内にごちゃ〜っとあるファイルを選び出して、それを移動したりするのは結構手間がかかったりする。

例えば、「ダウンロード」フォルダの整頓。

この中にはZipで圧縮されたファイルやオンラインウェアなどをダウンロードしたときのdmgファイルなど知らない間に溜まってしまうことが多い。 これを整理するためにフォルダ分け・ラベル付け・ゴミ箱行きとするには、まずファイルを選択状態にする必要があるのでこの作業を楽にする方法を考えてみる。

ありがちな複数のファイルの選択とは・・・

  1. 同じ拡張子の付いたもの選択したい。
  2. ファイル名に同じ文字列を含んだファイルを選択したい。等
具体的には・・・。
  • ダウンロードした説明書のPDFがたまってきてしまったとき
  • オンラインウェアやドライバのディスクイメージがたまってきたとき
  • 定期的にカード会社や携帯キャリアから利用明細のCSVファイルなどをダウンロードしていてたまってきたとき
  • デスクトップにメモとして残しておきたいスクリーンショットがたまってきたとき
こういったことは数が多くなってくるとかなり面倒になる。
この面倒な作業を簡単にするにはAppleScriptが便利。

ということで

上記のような状況でファイルを選択するAppleScriptを考えてみることにした。

つづく・・・。
__________________________________________________________

Amazon.comにあるAppleScript関係の書籍
__________________________________________________________