jFD開発したりしなかったり日誌
2007-06-25 [長年日記]
_ 耳鼻科
左耳がかなりおかしな状態だったので、朝から耳鼻科へ。
すんげえ並んでる・・・
jFD2のコードを弄りながら待ってたらやっと順番に。
聴力検査を受けた。
防音室でヘッドホンを付けて断続音が聞こえたらボタンを押す、というものだった。
ノイズの中で断続音を聞くというのもあった。
やっと順番が回ってきて診察を受けたが、耳の中に細い筒状の掃除機のような物を突っ込まれ、
中を掃除された。
耳垢が溜まってたらしい。
ベリバリ引っぺがされてとても痛い。
痛すぎて笑う。
僕の場合、元々耳の中に汗腺がある体質で、ようするにベトベト耳垢なんだが、
それに加えてボクシングで汗をかき、ついでにカナル型イヤホンでそれを押し固めてたのが
原因なような気が。
真面目に掃除しよう。
_ 二子玉川で飲み
仕事後、寄り道して二子玉川のいつものスナックへ。
着いたら他に客はいなかった。
とりあえずビールをもらう。
ママとしばらく話す。
新しいメガネを誉められた。
アメリカに留学している娘さんがもうすぐ帰ってくるそうだ。
そんじゃまた飲みにこなければ。
しばらく飲んでたら6人のグループが来た。
多分、近くにある某国際企業の社員さんだろう。
TOEICがどーたらとか話してた。
ウイスキーをロックで2杯もらって帰宅。
_ jFD2
Straight7さんの指摘で、Macで標準以外のエディタではテキストファイルが開けてなかったようで、調査。
この手の外部プロセス起動は鬼門だ。
WindowsでもMacでもろくな目に遭わない。
色々調査してるうちに結論が出た。
Runtime#execに渡されるコマンドは以下のフォーマットがよさげ。
1行の場合は以下。
/usr/bin/open -a (エディタ名) (ファイル名)
配列の場合は以下。
{"/usr/bin/open", "-a", "(エディタ名)", "(ファイル名)"}
jFD2はシェル経由で外部アプリを起動するのが基本で、
(シェル) (実行コマンド、またはファイル)
という書式でコマンドを実行する前提で作られている。
たとえばWindowsの場合はシェルは「CMD.EXE /C」で、実際に実行されるコマンドは
CMD.EXE /C (ファイル名)
となるのだが、Macの場合、ちょっと話がややこしい。
普通にファイルを開くだけなら
/usr/bin/open (ファイル名)
なのだが、特定のアプリでファイルを開く場合、
/usr/bin/open -a (アプリケーション名) (ファイル名)
となり、エディターでファイルを開くというのはこれに該当する。
で、こうなると-a有りと無しでシェルが二つになってしまう。
設定画面でエディタ名の頭に-aを付けてもらうという手もあるが、どうにもかっこ悪い。
どうしたものか。
ちなみに
/usr/bin/open -e (ファイル名)
だと標準のエディタでファイルを開くのだが、jFD2を設定しないで標準のエディタを変更してもらう、
という手もあるがどうも回りくどい。
うーん・・・
_ あと、Macの場合エディタ名が曲者で、たとえばテキストエディットの場合、
/Applications/TextEdit.app
になるのだが、これって実はファイルじゃなくてディレクトリで、OSXの機能(/usr/bin/open)で
ファイルと見せかけてるので実体は
/Applications/TextEdit.app/Contents/MacOS/TextEdit
になる。
これを直叩きするのなら、シェルを介さず、
/Applications/TextEdit.app/Contents/MacOS/TextEdit (ファイル名)
という風に実行しても良いんだが、おそらくMacのユーザーはそれを望んでないだろう。
というか、各アプリケーションが実はディレクトリで、下にファイルがあることすら知らない人の方が多いだろう。
- キーワード不明 ×46 / /usr/bin/open ×23 / usr/bin/open ×8 / usr bin open ×3 / "/usr/bin/open" ×3 / /Applications/TextEdit.app ×2 / "/usr/bin/open -a" ×2 / user/bin/open ×2 / jfd2 シェル ×2 / jFD アプリケーションでファイルを開く ×1 / MBP ハードディスク 掃除 ×1 / mac execを開く ×1 / 二子玉川 耳掃除 ×1 / java 外部アプリ 起動 ×1 / swing ファイルを開く runtime ×1 / mac usr bin applications ×1 / jFD mac ×1 / jfd2 外部コマンド ×1 / "/Applications/TextEdit.app/Contents/MacOS/TextEdit -" ×1 / イーモバイル 実行コマンド ×1 / OSX シェル実行 ×1 / jFD2 シェル ×1 / シェル経由 windows ×1 / cmd.exeを介さずに ×1 / jfd2 シェル mac ×1 / usr/bin/open app ×1 / BOOT革命/USB EXEファイル名 ×1 / mac usr/bin 開く ×1 / java cmd.exe シェル実行 ×1 / /usr/bin /Contents/MacOS ×1 / jfd2 USB mac ×1 / execファイル 開く mac ×1 / "/usr/bin/open"とは ×1 / 耳垢 下北沢 ×1 / cmd.exe 外部プロセス ×1 / java Shell 経由 外部 コマンド ×1 / ファイルを開く シェル ×1 / jfd2 シェル ファイル名 ×1 / jfd2 mac ×1 / 二子玉川 めがね ×1 / 耳垢 ベトベト ×1 / EXE ファイルを開く MACの場合 ×1 / カナル 耳垢 ×1 / Mac java 外部プロセス 起動 ×1 / mac java runtime.exec ×1 / プロセス 起動 シェル 介さず ×1 / jfd 外部コマンド シェル ×1 / macos /usr/bin/open 検索順序 ×1