Tips4

TopImage02.jpg

Tips 4

更新日: 2008-12-05

Default Screenshot Formatの変更

Default Screenshot Formatの変更

2005-07-11

で紹介さてている"スクリーンキャプチャーのフォーマットの変え方"の内容を補完する情報が
に投稿されていましたので紹介します。
TidBITSに記事に"Tiger は Command-Shift-3/4 を使ってのスクリーンキャプチャーのデフォルトのファイルフォーマットを PDF から PNG に変えてしまう"と書かれているように、今までのPDFからPNGがTigerでのDefault Formatになったようです。
このFormatを変更したい時は次をTerminalから実行します。

defaults write com.apple.screencapture type image_format


image_formatとして可能なものはQuickTimeがSupportする、
、です。

上記変更を有効にするには、Rebootが基本ですが、macosxhintsには
という方法が紹介されています。
私はScreenShotはSnapClipを愛用していますが、OSX標準のScreenShotを使っているUserさんにはこのTipsは便利かと思います。

macfreakは画像処理には詳しくないのですが、先日TidBITS#784の
で紹介されていたDigital Photoの編集はJPEGではなくTIFF Formatが望ましいと紹介されていました。
JPEGは高い圧縮率でFormatを保存する便利さがありますが、そのAlgorithmが写真を崩壊に向かわせる欠点があると記載されています。macfreakはJPEGに慣れていますのでついついJPEGで扱う事が多いです。

Webpagesを翻訳するJavaScript bookmark作成

Webpagesを翻訳するJavaScript bookmark作成

2005-07-09

先日macosxhintsに"A JavaScript bookmark to translate webpages"という面白い投稿を見つけました。これはGoogleの翻訳Javascriptを走らせるためのBookmarkをBookBarに作成しておき、翻訳したいときは該当WebPageを表示している状態でそのBookBarをClickするだけです。
翻訳の精度はもうひとつかなと思いますが、ちょっと便利なので紹介します。

手順
1.SafariのBookmarks Barに新しくBookmarkを作成する。(名前は翻訳とでもしてください。どのSiteでもかまいません。)
2.[Bookmarks]-->[Show All Bookmarks]で上記で作成したBookmarksを選び、URLに翻訳したい言語に対応した下記のStringを選択して入力
日本語に翻訳
javascript:void(location.href='http://translate.google.com/translate?hl=ja&u='+location.href)
英語に翻訳
javascript:void(location.href='http://translate.google.com/translate?u='+location.href)
独語に翻訳
javascript:void(location.href='http://translate.google.com/translate?hl=de&u='+location.href)


日本語に翻訳は、macfreakが日本語ならjaだろうと一部修正したものです。
上記以外の言語に翻訳したい場合は、
のSourceをみてください。各国の略語を調べてjaの替わりに、その略語を指定してみてください。


Boolean search in Spotlight

Boolean search in Spotlight

2005-07-01

Spotlight検索でand/or...のBoolean検索が可能か、もし可能ならそのOperatorは何を使うのかのAppleの正式情報は無いようです。
先日これについてAll Aboutの
にSpotlight"検索条件で使える記号と使い方"という記事を目にしましたので早速試して見ました。
ここで記載されているBoolean検索で私が確認できたのは、検索語句を半角Spaceで区切るAND検索だけでした。同Siteの内容を下記に引用します。

A B :検索語句 A と B を 半角スペースで区切ると、両方の語句を含むアイテムの検索になります。
AとB :A または、 B の語句を含むアイテムを検索します。「AまたはB」 としても可。自然文検索になります。
A&B :スペースの場合と同様、AとBの両方の語句を含むアイテムを検索します。
A|B :接続語でつなげる場合と同様で、AまたはBの語句を含むアイテムを検索します。
A(!B) :Aを含むが、Bを含まないアイテムを検索します。半角括弧の入力がポイントです。
A(B|C) :AとBが含まれるアイテム、またはAとCが含まれるアイテムを検索します。


私のOSX10.4.1の環境だけの問題なのか確認はできないのですが、AppleのDiscussionsのSpotlightに関する投稿を読んでもRaw Queryに関するBoolean検索(
を参照)の文法については触れられていますが、Spotlight検索FieldでのBoolean検索についてはApple正式発表はないようです。

これは、検索一般の仕様からして必須の機能であると思われますのでAppleのSpotlight Version Upを待ちたいと思います。

AppleScript File用のSpotlight Importer?

AppleScript File用のSpotlight Importer?

2005-06-05

SpotlightでIndexingの対象にしてほしいFileの種類は人それぞれです。私の場合は各種情報は殆どNoteTakerというOutlinerを利用しますので、Spotlightの恩恵に享受することが少ないのです。これはNoteTakerのDataBase File形式がone item One Fileという構成でないためSpotLightに適応困難なApplicationであるといえます。
そこでせめてSpotLightのIndexingの対象にして欲しいのがAppleScript Fileなのです。

AppleScript初心者のmacfreakは必要に迫られてAppleScriptを作成する場合は、その都度必要なSample Codingを探し回るという状態です。こんなときにAppleScriptのKeyword検索でSample Codingを見つける事ができれば助かります。

そんなNeedを感じていましたのでmaxosxhintsの
を読んだ時はひょっとして、SourceCode.mdimporter(/Library/Spotlight/SourceCode.mdimporter/)を利用してAppleScriptのSpotlight Indexingができるのではないかと思い試行してみました。結果は見事に失敗でした。

またこれと類似の情報として
という記事も掲載されましたので、この記事に記載のRichText.mdimporter( /Library/Spotlight/RichText.mdimporter)を利用してみましたが、これも同様に失敗しました。
どうやらPHPはC/C++/ObjCのSource Fileに近似しているためPHP FileのUTI(System Declared Uniform Type Identifiers) Importerとしてたまたま利用できたようです。
また未確認ですがSourceCode.mdimporterを利用してpublic.perl-script、public.python-script、public.ruby-script、public.php-script のSpotlight Indexingに成功したという報告も掲載されていますので、同様なNeedのある方は参考にして下さい。
そのうちにmdimporterに詳しい方がAppleScript用のUTI mdimporterを作成してくれる事を待ちたいと思います。

(注)Appleが定めるUTI(System Declared Uniform Type Identifiers)の一覧は
を参照して下さい。

(追伸)UTI Importerの例として.conf FileをIndexingの対象にする
をInstallしてみました。
これによりhttpd.conf、cupsd.conf等の.conf Fileの内容がIndexingされたことを確認しました。

Download元URL(Where From情報)の取得

Download元URL(Where From情報)の取得

2005-05-31

Safari2.0のMiniTipsを2つ紹介します。
Safari2.0から、DownLoadしたDisk Image(xxx.dmg)をGet Infoすると何処からDownloadしたのかを示すURL(Where From情報)が記録されるようになりました。今まで私はDownloadCommentというPluginを使っていましたが、このPluginはDownLoadしたFileが圧縮されていた場合解凍後のFileには適用されないという弱点がありました。
ところがSafari2.0から解凍後の.dmg Fileに登録されますので大変重宝します。

なお、この情報をCopyしたいときはGetInfo Windowからできないのが難点です。
Copyしたいときは、当該.dmg FileをTerminalから mdlsして表示されるkMDItemWhereFromsの内容をCopyして下さい。

SafariのHistory検索


Safari2.0からBrowing Historyの検索が可能になっています。
これも結構重宝します。方法は簡単です。

  • 1.BookMark Bar左端のiConをClickして全てのBookMarkを表示させる
  • 2.BookMark Windows最下部の検索Field内左端の▼をClickして[In History]を選択
  • 3.検索FieldにKeyword入力

私はこれを機会にFinderで選択したFolder/FileのmetaDataをTerminalに表示するMacroをKeyboardMaestroで作成して使用しています。AppliScript、Automator初心者ですので拙いものですが、自分の記録として残します。この機能をContextualMenu Pluginで作成してくれたらありがたいのですが。
下記を利用してKeyboardMaestroのMacro作成

  • ・File PathをClipboardにいれる(AutoMator利用)
    • Get Selected Finder Items
    • Copy to Clipboard
  • ・FilePathをUNIX仕様に変換(AppleScript)
    • set a to the clipboard
    • set p to POSIX path of a
    • activate "system profiler"
    • set the clipboard to "mdls " & (ASCII character of 34) & p & (ASCII character of 34)
  • ・Terminalを起動してClipboardの内容をPasteして実行

(追伸)当HomePage BBSのMyCometG3さんのAdviceと取り入れ下記のようにしました。

tell application "Finder"
set theFile to the selection as string
set theScript to "mdls " & (quoted form of POSIX path of theFile)
end tell
tell application "Terminal"
activate
do script with command "Sleep 1"
do script with command theScript
end tell

マーカー機能をFavorite Style Popupに登録

マーカー機能をFavorite Style Popupに登録

2005-05-28

TextEditにあるFavorite Style Popup iConは、その他のEditorでも共通のToolとして使用できるのが特徴です。
このStyle iConをCustomizeして文章のFont、Tab、Indent、Color、Background Color等をお好みのものに登録することで作成する文章に変化をつけることができます。
ここで紹介するTipsは文章の一部をBackground Colorとして強調する所謂マーカー機能を追加するものです。
これはmacosxhintsの
で紹介されています。

手順は、下記のとおりです。

1.
 をDownLoadする
2.DownLoadしたMEM_Styles_v1.rtf をTextEditで開く
3.例示されているマーカーされた文字でお好きなもの(ex.the white-on-black word)を選択する
4.Style Popup iConをClickして[Others...]を選ぶ
5.[Adds to Favoritrs]ボタンを押し、名前(Ex.M:Black)を付けて[Add]する

文字Colorをお好きなものに変えたい場合は、一度MEM_Styles_v1.rtfの中のマーカー部を選択して文字Colorを変えてからそれを上記の手順で登録して下さい。
Editorで文字に色をつけるのは、簡単ですがマーカー機能は手順が複雑ですのでお好きなマーカーStyleを登録しておくと、一般的なEditorで共通に使用できますので重宝します。

Smart Folderの利用例

Smart Folderの利用例

2005-05-27

SpotlightのmetaDataを上手に利用することにより、自分の求めるFileやContentsの検索ができるようになります。
しかしこのmetaDataはその名前からしてProgrammerご用達のToolのような気がして敬遠してしまいます。
しかし、これを上手に利用している情報を入手して使うことは簡単です。
macosxhintsを読んでいてこれは使えそうなものを見つけましたので紹介します。

・iPhotoでAlbum選択から除外された(削除可対象Photos)Photosを集めたSmartFolder作成

  • iPhotoに写真を取込んで、必要なものをAlbumに取込んで整理するところまでは誰もがするのですが、取込まずに放置した写真をすぐにゴミ箱にすてる人は少ないのではないでしょうか。
  • 私も例に漏れず取込まずに放置した写真が山のように多くなってきていますが、いざこれを整理しようとするとハタと困ります。
  • このような時にAlbum選択から除外された(削除可対象Photos)Photosを集めたSmartFolderをiPhotoに作成しておけば実に重宝します。
  • にその方法が記載されています。
  • SmartFolderに指定する条件は ""とするだけです。

・直近(10分前)InstallしたApplicationとその場所を検索

  • 以前というSoftが当HomePageのBBSで話題になったことがあります。
  • このSoftは"Install前とInstall後のVolume全域Scanして新しく追加されたFileを抽出する"という方法で、新しくInstallされたApplicationがInstallしたFileを抽出してUninstallの便に供するという機能を提供するものでした。
  • これと同じ発想で、直近の10分前から更新されたFileを抽出するSmartFolderをFinderに作成しておきます。Installの前のSmartFolderの状況をCopy(Select AllしてCopy)して保存(JEdit等に)しておいた後、Installを実施して再度SmartFolderの内容と比較することにより新しく追加されたFilesを見つけるという訳です。
  • このTipsはmacosxhintsのに紹介されていたものです。
  • 手順はFinderでSmartFolderを作成して、条件を次のように指定します。
  • 1.[Kind]から[Others...]を選択して表示されるAttribute表示から[Raw Query]を選ぶ。
  • 2.条件を次のように指定
  • (注)600は秒数です。お好きな時間を設定下さい。

なお、主要なMetaDataの解説は、
を参照し、Operatorの使い方は
を参照して下さい。

/Private DirectoryをVisibleと属性変更(Tiger)

/Private DirectoryをVisibleと属性変更(Tiger)

2005-05-21

Tigerでは従来のOSXにあった/.hidden FileによるVisible、Invisibleの指定方法がなくなり、Fileの属性によりそれを判断するように変更されました。
hidden FileをFinderで表示する方法はTinkerToolとかいろいろあって皆さんも利用されている事と思います。
私が標題の機能を求めたのは次のような理由からです。

UNIX初心者のmacfreakは、Command Lineが苦手ですので、System FileのCustomizeをPseudoとJEditの組合せで行うのを常套手段としています。ところがこの組合せでもSystem Fileの属性がInvisibleの場合は、Open/Close DialogにそのSystem FileのDirectoryが表示されないという問題があります。そのためFileをDockのJEditにDrug&Dropする必要がありますが、これはとても使い勝手が悪くてイライラします。


実は、本日macosxhintsの
を読んでいて、標題の属性を変更する方法を知りました。
次のCommandを実行します。(V:Invisible、v:Visible)

$ sudo /Developer/Tools/SetFile -a v /private

これだけでFinderには常に表示されますし、Open/Close Dialogから/Private配下のFileを見る事ができるようになります。
UNIXに詳しい人にはこのTipsはお笑いネタですが、macfreakには実に重宝するTipsなんです。


Menu Barに日付曜日を追加表示(Tiger Tips)

Menu Barに日付曜日を追加表示(Tiger Tips)

2005-05-20

Tigerを導入してから私が利用しているMini Tipsを紹介したいと思います。
元ネタは全てmacosxhintsから得たものです。

Menu Barに日付曜日を表示
DefaultではMenu Barには時間が表示されますが、日付と曜日が表示されません。私は日付と曜日は是非利用したいので今までは 
というSoftを利用してそれを実現していました。ところがOSXのMenu Bar時間表示に日付と曜日を追加する方法があることを知り、早速使って見ました。Layoutは各自のお好みですが、私は" May 20 Fri 18.16" という表示にしました。

方法は
に記載されていますが略記します。
・表示したい日付曜日LayoutをClipBoardにCopy

1.International Preferencesを開く
2.[Formats] tabを選択
3.Dates Sectionの[Customize]ボタンを押す
4.Show Popupから任意のもの(ex.Full)を選択
5.WorkAreaを表示したいLayoutにする(不要なものを削除、表示内容を選ぶ)
6.でき上がったLayoutをCommand+Aで選び、Command+CでClipboardにCopy
7.[Cancel]ボタンを押して設定を無効にする

・Clipboardの内容を時間表示に追加する

1.Times Sectionの[Customize]ボタンを押す
2.Show Popupから[Medium]を選択
3.Workareaの挿入したい箇所にClipboardの内容をPaste
4.WorkAreaに挿入したいCharacterを挿入
5.[OK]を押す

Widget Folderの脆弱性とその保護

Widget Folderの脆弱性とその保護

2005-05-14

Hal Tanaka氏から標記の情報をいただきました。
Tanakaさん いつもありがとうございます。
『Hello Macfreak

Tigerの新機能であるDashboardは面白い機能ですが、Widgetsフォルダに登録された
WidgetsはDashboard起動時に自動的にアクティブになるといった、セキュリティ上の
問題があります。



Widgets folderの保護方法が記載されていましたので紹介します。
You can also monitor any additions to this folder (introduction of new Widgets) through

the use of Mac OS X's built-in Folder Actions via the following process:

1.Control-click (accessing the contextual menu) anywhere in a Mac OS X Finder window
or on any folder and select "Enable Folder Actions."
2.Navigate to the ~/Library folder and select the "Widgets" folder.
3.Control-click on the "Widgets" folder and select "Attach a folder action."
4.Select the script "add - new item alert.scpt" (located in the folder /Library/Scripts/Folder Action Scripts/
which should appear immediately by default) and press the "Choose..." button.

一連の操作を行うことで、Widgets folderに変更が加えられる時点でalertが表示されるようになります。

また、
を併用することWidgetsの選択的実行が可能になります。』


(macfreak)Widget Folderに脆弱性があることは全く知りませんでした。悪意あるWidgetがWidget Folderに入れられるとDashboard起動時に自動的にアクティブになるといった、セキュリティ上の問題があるのですか。なんだかActiveX 並の危険を感じます。
新しいWidgetを導入する時は、評価が定まったものを選ぶよう注意が必要なのですね。
またWidget ManagerもWidgetの管理の為には結構重宝しそうです。

Excluded DirectoryをSpotlight索引の対象にする

Excluded DirectoryをSpotlight索引の対象にする

2005-05-13

Defaultの状態では、SpotlightはHidden Directory、System Directory、Developer Directoryを索引作業から除外しています。強制的にこれらのDirectoryの索引作成には 
 の実行が必要になります。
TerminalからmdxxxというSpotlight関連のCommandを実行するとFiltering rulesに基づいている旨表示されますが、一体これは何処で規定されており、その修正方法があるのか興味があります。
macosxhintsに上記興味にHintsとなる
という記事が掲載されました。

これによりますとFiltering RuleはどうやらSpotlight's mds binary(/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds)の中で規定されているようです。
Excluded DirectoryのFull Listは
に掲載されています。

これだけで終わってしまうのならあまり面白くありませんが、/.Spotlight-V100/ Directoryには_rules.plistという除外を調整するFileが存在しています。
どうやらこのFileを修正することにより、Index作成の対象にしたいFileを前述のFiltering Ruleにかかわらず適用してくれるようです。
そこで次の手順で_rules.plistを修正しました。

  • 1. rootでLogIn
  • 2. /.Spotlight-V100/_rules.plistを任意のFolderにCopy
  • 3. 元の_rules.plistを複製
  • 4. Property list Editorで1のFileに対して対象としたいDirectoryを追加
  • Include行を選択してNewChildでstringを追加してゆく
  • 5. SaveAs..でFile Format:XML Property List Fileを指定してSave
  • 6. 5のFileを/.Spotlight-V100/に移す
  • 上記処理後の/.Spotlight-V100/_rules.plistの内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EXCLUDE</key>
<array/>
<key>INCLUDE</key>
<array>
<string>/System/Library</string>
<string>/Developer</string>
<string>/Classic System Folder 9.2.2</string>
<string>/Classic</string>
<string>/sbin</string>
<string>/bin</string>
<string>/Library</string>
<string>/System</string>
<string>/usr</string>
<string>/etc</string>
<string>/var</string>
<string>/private</string>
</array>
<key>NOTE</key>
<string>Specify paths to include or exclude, preceeding rules which target user-homes with ~/</string>
</dict>
</plist>

  • 7.上記の後を実行して Reindexを実行

上記で注意することは.plistの修正はProperty list Editorを使ってください。
Jeditで修正後Property list EditorでBinary保存という方法は今回うまく行きませんでした。

上記処理で問題なく指定したDirectoryの索引が作られ検索が可能になりました。しかしこれで対象としたDirectory配下の全てが索引の対象となるわけではありません。Finder.appやApp Package Folderの中身等が検索に失敗するのです。Filtering Ruleの詳細が明らかにされないとどうやらこのあたりは謎のままです。
また_rules.plistの内容を修正するより
 の実行の方が簡便ですが、どのDirectoryを mdimportしたのか忘れてしまい後で確認する方法がないのが問題です。手間ですが_rules.plistの内容を修正することにより後で確認でき、索引の再構築の時などには安心して実行できるのがMeritsです。

(追伸)PartitionのAで作成されSpotlightの索引は、AからPartition BにCarbon Copy ClonerでCloneを作成したときは一体どうなると思いますか。
大変興味があったので実験してみました。結果はPartion BにCloneで複製されたSpotlight索引は無効と判断されます。
そのため、今後CCCでOSX TigerのCloneを作成した時はsudo mdutil -E /を実行して 索引の再作成を実行する必要があります。そのためにも上記で解説した/.Spotlight-V100/_rules.plistのCustomizeが生きてきます。

Finder検索(Command+F)を名前検索にする(Tiger)

Finder検索(Command+F)を名前検索にする(Tiger)

2005-05-12 

TigerでのFinder検索は従来どおりの名前検索の方が使いやすいと思いませんか。
勿論Kindの指定からnameを選択したらいいのですがこれも煩雑です。
これを実現するTipsがmacosxhintsに
として紹介されています。

手順はいろいろあるのですが、私は次の手順で行いました。

1. 次をDesktopに保存
/System/Library/CoreServices/Finder.app/Contents/Resources/
default_smart.plist
2. 元のFileをdefault_smart.plist.tigerと名前変更する
3. 1のdefault_smart.plistの内容を次のSite(http://www.macosxhints.com/dlfiles/default_find_plist.txt) からAll選択CopyしたTextに入替える
(注)内容のWhat_File_you_need_By_OmiElGatoという文言を、お好きなText(例.what?)に入替えてもいいです。
4. Property list Editor(/Developer/Applications/Utilities/Property List Editor.app/)
を起動して入替えた3のFileをOpenしてSaveAs..でFile Format:XML Property List Fileを指定してSaveする
(注)これは.plist Fileをbinaryで保存するために行う
5. 4のFileを/System/Library/CoreServices/Finder.app/Contents/Resources/default_smart.plistに保存


これでFinderのCommand+Fの検索は従来どおりのContains, Begins With, Ends With, Is の選択ができるようになります。
私はKeyboardMaestroでMacroを作成して、選択した語句をControl+FでFinderのContain検索するMacroを作成して利用しています。この目的は

  • ・mdimportしておいたSystem Fileを予めOthers...に登録しておいて、常にOthers...を選択する
  • ・いちいちFinderをActiveにする手間が省く
  • ・自動的にName Fieldにも選択した語句をPasteする

ことにより語句を選択してControl+FでFinderの名前検索を実行するようにしています。

Launchd(Tiger)

Launchd(Tiger)

2005-05-11 

Hal Tanaka氏からLaunchdの解説Siteの紹介をいただきました。
Tanakaさん いつもありがとうございます。

『Hello Macfreak
OSX 10.4 TigerのTask Controllerである、Launchdについて小生もstudy中ですが、以下の3つの情報を
まず読まれるとよいのではと思います。
1.

Liftoff With launchd
Since Mac OS X rarely requires you to reboot, you’ll hardly ever notice it, but Tiger takes less time to start up, thanks to launchd. Launchd provides faster startup through a unified framework for starting, stopping and managing daemons, and incorporates inetd, init, mach_init, System Starter and related services. Administrators have a single mechanism for auditing, configuring and setting resources limits on services.
2.
3.


(macfreak)上記の3.Mac OS X 10.4 Tiger : Page 5を読むと、今回Appleが採用したlaunchdの意義が分かります。
UNIXの世界においてこの試みが評価されることを期待したいですね。
Mac UserとしてはBoot時間の短縮というSpeedUpを享受できることは、大変有り難いことです。

再配置可能な修飾キー(Tiger)

再配置可能な修飾キー(Tiger)

2005-05-01

OSX Tigerでの私の最大の懸案事項であったCaps Lock KeyをControl KeyにRemapする方法を見つけました。
今まではuControlというSoftwareを利用していましたが、なんとOSX TigerではこれをSystem Preferenceから実現できるのです。
これはAppleのというPageに次のように記載されています。

Remappable Modifier Keys
Remap modifiers such as control and caps lock for super elite emacs use.

具体的にはSystem PreferenceのKeyboard&Mouseの画面の[Modifier Keys...]を押すとCaps Lock、Control、Option、Command の各KeyをRemapできます。
Third PartyのSoftを利用しないでModifier KeyをRemapできるというのは私には本当に助かりました。
この環境でないと私はMacを使えないほど手に馴染んでいるものですから。
私と同様なKeyboardの設定でお使いの方は参考にしてください。
これでTigerを常用OSとするための基本的な条件の最大の懸案事項が充足されました。

(本日Tiger用にVersionUpしたSoft)







EGbridge15.0.2
DictionaryViewer1.1.2





言語環境(システム環境設定)の不思議

言語環境(システム環境設定)の不思議

2005-01-23

私はOSXの言語環境を[English][日本語]の順に登録しています。
もともとこの環境にしたのはOSXの10.0の頃FinderのFolder名をTerminalから扱う時、日本語表記Folder/File名ではスム−ズにいかなかったことに起因しています。
叉macosxhints等の記事を読む事が多いのでシステム環境設定も英語表記にしておいた方が理解しやすいという副次的な効果もあります。
しかし一度この環境でKeyBoard Maestroで沢山のMacroを作成してしまうと、OSXの言語環境を日本語にすると作動しないという問題がありますので、OSXの初期のころからず−とこの英語環境で過ごしてきました。

しかしこの英語環境で過去何度か日本版Softで日本語の文字化けに悩まされました。私はProgrammerではないので理由は定かに理解していませんが、私が常用する英語版Softではこの問題の発生がないのは元々言語環境をInternationalを基本にDesignされているからではないかと想定しています。

普段はこの環境で何も問題はないのですが日本語版Softで文字化けするのを常用したいときには困るわけです。今まではそのようなSoftの使用を断念してきました。

実は今回Mac OS 9の時代に愛用していたT.clipというSoftのOSX試用版を使いたくなったのです。

は英語環境のOSXでは文字化けして使い物になりません。そこで次のように環境を変更してみました。

  • 1.システム環境設定の言語環境を[日本語][English]の順に変更
  • 2.Finder(/System/Library/CoreServices/Finder.app/)のGetInfoの言語を[English] Onlyに設定
  • 3.常用しているApplicationのGetInfoの言語を[English] Onlyに設定

上記のようにOSXの言語環境を[日本語]を最優先にしておき、ApplicationのGetInfoの言語を[English]だけにするのです。こうすることによりApplicationのMenuは英語表記ですので既存のMacroの実行も支障がありませんし、FinderでのFolder/Fileの名称も英語表記のままとなり従来の使い勝手となんら変わらない環境を維持できます。おまけにT.ClipXのような英語環境では文字化けするSoftも、この環境では日本語の文字化けが生じません。

私と同じくOSXを英語環境優先で使用していて、日本語の文字化けする日本語版Softで困っている方は一度お試しください。

Boot時の各種Error

Boot時の各種Error

2004-10-29

私はSystemLogはTrouble時以外はほとんど見る事がないのですが、本日なんとなくLogMasterでSystemLogを見てみました。
このL
というLog Viewerはとても使いやすいのでお勧めです。
Boot時のLogには次のように幾つかのErrorが記録されています。
Error内容はよく分からないのですが、私なりに対応策を講じてみました。

Oct 29 14:37:44 localhost SystemStarter: The following StartupItems failed to properly start: 
Oct 29 14:37:44 localhost SystemStarter: /Library/StartupItems/BroadbandOptimizer

これは
というInternet接続Performanceを向上させるためのTCP/UDP各種転送用Memory BufferのSizeを拡張するSoftですが、どうやらVersionが古いので新しいものにVersion Upしました。

Oct 29 14:37:44 localhost SystemStarter: /Library/StartupItems/Sharity
Oct 29 14:37:44 localhost SystemStarter: - execution of Startup script failed

これはSharityのStartUp Scriptの実行に失敗しているようなので、現行のWindowsXPへの接続ではSharityを使わなくても文字化けはしませんので、SharityをUninstallしました。

BIND関係でも幾つかのWarningがでているので次の対応をしました。

Oct 29 09:09:28 localhost named[421]: starting BIND 9.2.2
...
Oct 29 09:09:28 localhost named[421]: named.root:2: file does not end with newline

これは次のFile内容の最終行が改行で終わっていないというWarningのようですので改行を追加
/private/var/named/named.root

Oct 29 09:09:28 localhost named[421]: none:0: open: /private/etc/rndc.key: file not found

これはrndc.keyというFileが見つからないというErrorですので、Internetで調べますとつぎのCommandの実行が必要なようです。


Oct 29 10:57:14 localhost SystemStarter: The following StartupItems were not attempted due to failure of a required service: 
Oct 29 10:57:14 localhost SystemStarter: /System/Library/StartupItems/BIND

私の場合はBINDのStartupItemsは/Library/Startupitems/BIND/に置いていますので、それを削除してOSX DefaultのこのStartUp有効にしました。
それに伴い/private/etc/hostconfigのDNSSERVER=-YES-と指定。

次の2種類のErrorは原因究明できていません。

Oct 29 19:50:43 localhost kernel: Sound assertion "!success && ( 0x20 == address )" failed in "AppleOnboardAudio/K2Platform.cpp" at line 285 goto Exit
Oct 29 19:50:43 localhost kernel: Sound assertion "!success" failed in "AppleOnboardAudio/AppleTopazPlugin/AppleTopazPlugin.cpp" at line 131 goto Exit

このErrorはSoundに関連するHard Troubleのように感じます。新規Install状態のPantherでもこのErrorが出るのです。

Oct 30 09:32:50 localhost syslogd: /dev/console: Input/output error

このErrorはUserのLogin前に、何らかの情報をSyslogdに書込もうとするも書込む対象Userのconsole.logが定まっていないためと思われる。

OpenSSHのKeyの管理

OpenSSHのKeyの管理

2004-10-17

ここ1週間ほどはOpensshのKeyの管理について勉強していました。
これは先般紹介したrsyncをcronからScheduleして実行するためにpasswordlessの接続が必要になるからです。
UNIXには疎遠な私ですのでなかなか私に分かるように解説してくれているSiteが見つからず、Internet上を探し回りました。そこで素晴らしいSiteを見付けました。
それは"
です。このSiteはOriginalの
の翻訳したものです。


この記事にはsshの仕組について私にもよく分かるように解説されています。

  • SSH Serverについて
  • Public KeyとPrivate Keyの役割
  • passphraseの役割り
  • RSA&DSA認証の手順
  • Passwordlessの導入

しかし結論的に私の環境でこれを実現していません。
私の環境はHomeDirectoryをSystem Volumeとは別のVolumeに置いているのが原因だと思われますがsshを実行すると

An invalid name was supplied
Configuration file does not specify default realm

というErrorでいわゆるDSA認証に失敗するのです。当初はSSH Serverの設定の問題だと判断して/etc/sshd_config をいろいろ試行錯誤しましたがどうしてもこのErrorを解消できませんでした。
ところが、新しいUserを作成してHomeDirectoryをSystemと同じVolumeにおくと、同じ設定でもこのErrorが発生しないで上手く行くのです。

そこでOpensshのMailing Listの中に私と同様なTroubleに遭遇した人がないか調べてみました。
全く私と同じErrorに遭遇したCaseを見つけました。それはです。

しかしこのTroubleに対して有効な対策の指示はありませんでした。
これがOpenSSHのMac OSX版の問題なのかは不明ですが、私のようにHomeDirectoryをSystemとは別Volumeに設定しているMac UserでOpenSSHのpasswordlessの設定に成功した方がいらしたら、お教えください。

ClassicからPanther USB Printerの共有

ClassicからPanther USB Printerの共有

2004-09-18

G5を導入した後も、USB PrinterはG4に接続しています。G5のCocoa Appl.からG4のPrinterに印字するのはG4のSystem PreferenceのSharingでPrinter共有を有効にしておくだけで利用できます。G5でCocoa Appl用紙設定Dialogの対象PrinterにG4のPrinterが表示されますのでそれを選択することで問題なくPrintできます。
問題はG5のClassic ApplからG4のPrinterに印字する方法です。


macosxhintsの"10.3: Share a Panther printer with OS 9"を参考に実行してみました。


手順は次のとおりです。

前提としてG4,G5の双方のNetworkでAppleTalkをActiveに、G4のPrint SharingをONにしておく。
1.G4(USB Printerを接続している)での作業
Terminalから次を実行して、G4 PrinterのCUPS nameを知る
lpstat -v
ex.device for BJ_S600-2: ///dev/null の場合はBJ_S600-2がCUPS nameです。
(注)PantherをInstall時、Easy InstallでGimpPrint driversをInstallしていない場合は、Pacifistを使用してInstall DVDからGimpPrint driverをInstallしてください。
2.G5(Printerを接続していない)での作業
PrinterSetup Utilityを起動
Addボタンを押して表示されるDialogのTop Columnで"IP Printing"を選択して
Printer AddressにはG4のIP Addressを入力
Queue Nameには1.で知ったG4 PrinterのCUPS name(ex.BJ_S600-2)を入力
Printer Modelには"Generic"を選ぶ
Classicを起動する
AppleMenuからセレクターを起動し"LaserWriter 8"を選択


作業はこれだけです。この状態でClassic Applを起動して用紙設定を選ぶとLaserWriter 8の用紙設定画面が表示されPrintを選ぶとG4のIP Addressが表示されるPrint Dialogがでます。
この方法は、USB PrinterをPostScript Printerと偽装させる方法だと思われます。


ただし私の場合はClassic ApplからはがきをPrintしたかったのですが、はがきの用紙を追加する方法が分からない状態です。
GimpのFAQには 

Q. OK, my printer is printing now, but how do I change the print settings like paper type and resolution?


A.You can access the settings for the Gimp-Print driver whenever a print sheet is open. Just click on the popup menu that says "Copies & Pages" and choose "Printer Features".

ところがCocoa ApplのPrint Dialogの"Copy&Pages"のPopupには用紙設定のmenu Itemが表示されないのです。


GimpPrint driversは接続しているPrinter専用のものではありませんので、高度な機能は望めませんが取り合えず共有Printerとして利用したい場合には上記の方法は簡単ですのでお勧めします。


Automator in Tiger

Automator in Tiger

2004-08-25

Tigerの新機能の中で私が一番興味があるのは、標題の自動実行ScriptのAutomatorです。
今までKeyBoard MaestroやQuickeysというMacro作成Softには大変お世話になりましたし、Prefab UI BrowserというUser InterfaceをAppleScriptで扱うSoftも触ってきました。
これらの機能を越えるものがOSの基本機能として提供されるということは、MacOSでのHyperCardに匹敵するものとして期待していいのでしょうか。


しかしAutomatorの内容はなかなか秘密のVeilに包まれていて解説記事にお目にかかれなかったのですが、ボチボチAutomatorについての解説記事も散見されるようになりました。



AutomationのActionはAppleScriptに基ずくのか?
AutomatorのActionはXcode Projectsであり、それ故にOSXがSupportするどんな言語やFrameworkでも作成可能です。そのためAppleScriptも含まれますし、CocoaおよびCarbon Framework、ObjectiveC,C++,Java,Shell,Perl,
またこれらの混合でもいいのです。


Actionはどのように作成されるのですか?
Automation Actionはその作成に必要なFilesや関連要素を含むTemplatesの組合せで構成されるXcodeで成り立っています。XcodeでNew Projectを選択したときには様々な種類のProjectsのListが提供されますが、TigerではこのListに新しいTemplatesが加わるのです。例えばAppleScriptを使用して、あるいはCocoaを使用してAutomation Actionを作成するもの等です。
AppleScript Based Action Templateは、基本的にそれがAutomator Workflowに追加されるときに表示されるActions PreferenceのUI部品のsetで構成されるAppleScript Studio Projectです。このTemplatesはActionの起動時に実行される"On run"Handlerを含んでいます。そしてこのTemplateの素晴らしいことは、ButtonやListやその他のUI部品がAppleScriptのCoding不要でその値をAction Run Scriptに送ることができるのです。このTemplatesはCocoa Bindingを使用してMain Scriptに伝えるAppleScript RecordにそれぞれのUI 部品情報を格納します。


Cocoa Based Action Templateは伝統的なApplication開発者が使用する標準的な.m、.hFileを使用します。このTemplateはActionのPreferenceを表示するためのUI情報を含んでいます。


Scriptersや開発者はAutomatorをどのように利用するのですか?
この質問はAutomatorの概要とその能力と限界を知るうえでとても興味ある質問です。
AppleScript Studioを使うScriptersにとっては、Automation Actionを作成することは何も新しい事でもないし、Application全体を作成するわけでなくTask実行のAppleScriptを含むProjectを作成する点でやや簡単であるといえます。
伝統的な開発者にとっては、Automatorは大変興味深いものといえます。かれらはAutomatorをSoft本体の販売促進Toolの一つとして考えられ、本体と連動して使用できるAction SetをReleaseすることでApplicationの使用を促すことができるのです。
Actionを書くのにはAppleScriptの他、別の言語を利用することができます。Applicationの各機能をActions Groupに分解することができるのです。例えばApplicationの替わりにSuit of Actionsとして売り出すことも可能です。
このようにApplication機能を分解したり、ApplicationにAppleScript Supportと付加することでAutomatorと共存可能なことにすることにより開発者は利益を得る事ができるようになります。


何故私はAutomatorを使いたいのですか?
Automatorの取り扱いやすいInterfaceはプロだけでなく一般消費者の興味を引くものと思われます。
"scripting for the rest of us"の考え方は大変魅力的ですし、問題意識をもつComputer Userに訴えるものといえます。


AutomatorはAppleScriptに替わるものですか?
いいえそうではありません。AutomatorはAppleScriptにさらに深みと有効性をもたせることになります。そしてAutomatorはTask自動化の重要性を人々に認識させることになるでしょう。これがApplicationのAppleScript対応を促し、今まで使った事の無い人にもAppleScriptを身近かにするものと思います。


上記の解説を読んで感じるのはAutomationのActionを作成するのは、Xcodeの経験とAppleScript、Perl、その他のCompilerに習熟している必要があり、私のような未経験者には敷居が高い感じがします。
一般Userは作成されたActionを利用することでAutomatorの恩恵を受ける事になるのでしょうか。