タグ: Quasi_Launcher

‘Launch as root’−Quasi_Launcher.appを再コンパイルしました

PPCアプリケーションだったためにOS X 10.7以降使用できなくなった‘Pseudo’に替るものとしてQuasi_Launcher.appを書いて公開していますが、暫くアプリケーションのビルドアップなどをしていなかったので、アプリケーションパッケージのまとめ方が異なってきているのに全く気がついていなくて、アプリケーション名の後の拡張子がダブルなどの妙な症状が起きていることなども気付いていませんでした。
随分と作法が違ってきているようです。
この際ということで、気になったアプリケーションから順次再ビルドしていくことにしました。その第一弾が‘Quasi_Launcher.app’ということになります。

また、この‘Quasi_Launcher.app’は、私の書き方が余りに素っ気なさすぎたためか、一番問合せが多いということもあるので、ついでに、改めて操作方法を箇条書きにしておきます。

■操作手順

  • ダウンロードしてzipファイルの解凍後「.iso」ファイルをマウントして、‘Quasi_Launcher.app’はアプリケーションフォルダなどにコピーしてください。

4d228

  • ‘Quasi_Launcher.app’アイコンの上に、管理者権限で起動したいアプリケーションのアイコンをドロップします。これで対象アプリケーションが登録設定されます。
  • そのまま、‘Quasi_Launcher.app’が立ち上がってきて、管理者権限のパスワードを聞いてきます。パスワードをいれてください。
  • 登録されたアプリケーションが管理者権限で起動します。(rootアカウントで起動しているかどうかは、アクティビティモニタを起動して、そのアプリケーション名を選択して、ユーザを確認すれば‘root’になっているはずです)
  • 対象アプリケーションが起動している間は、Quasi_Launcher.appも立ち上がりっぱなしになります。
    対象アプリケーションを終了すれば、自動的にQuasi_Launcher.appも修了します。
  • 一旦アプリケーションが登録された後は、ダブルクリックで登録されたアプリケーションが管理者権限で起動するようになります。
  • 登録アプリケーションのリセット/切り換えは、新たに対象としたいアプリケーションを‘Quasi_Launcher.app’アイコンの上にドロップすれば登録が上書きされ切り替わります。
  • パスワードは‘Quasi_Launcher.app’が保持しますので、ユーザ環境が変わったりしない限りは再入力は不要です。

QL

■ダウンロード

http://homepage3.nifty.com/amstudio/amweb/Quasi_Launcher.iso.zip
http://amstudio.sytes.net/amweb/Quasi_Launcher.iso.zip
※Quasi_Launcher.appの著作権は放棄いたしませんが、対価は不要です。自己責任で、自由にお使いください。
Quasi_Launcher.appの使用に関して、作者はいかなる責任も負いません。
インターネット上のリンクは、作者への事前/事後の承諾は不要ですので、自由にリンクして下さい。
基本的に、再配布・転載は認めません。

■保証
動作に関する保証はいたしません。また、使用によって生じたと思われるいかなる損害に対しても、作者は一切責任を負い ません。使用は御自身の責任において行なってください。

OS X 10.10 Yosemiteで「ことえり」は消えた? ラ行を「l」キーでも入力できるようにする

つい、迂闊にもYosemiteに上げてしまったのですが、困惑したのは、アイコンやフォント/インターフェース周りやメモリ関連、通知センター、iCoudなどなどではなく、日本語入力の方でした。
なんと、ラ行が「l」キーで入力出来なくなっていて、ユーザ辞書も飛んでいました。

▪️ユーザ辞書のコピー
ユーザ辞書は、10.9 Mavericksから引っ張って来ることにしました。
10.9 Mavericksの「システム環境設定」の“キーボード”の“ユーザ辞書タブ”を表示して、ユーザ辞書リストのアイテムを全選択し、マウスでドラッグアンドドロップでデスクトップなどにドロップすれば「ユーザ辞書.plist」ファイルが出来上がりますので、それを、OS X 10.10 Yosemite上で同じように「システム環境設定」の“キーボード”の“ユーザ辞書タブ”を表示して、ブランクになっているリストペインにドロップすればコピーされます。

▪️追加辞書の設定
追加辞書も消えているので、再読み込みさせます。
10.9 Mavericks上では‘~/Library/Dictionaries/’の中にあったユーザ辞書ファイルを、OS X 10.10 Yosemite上で「システム環境設定」の“キーボード”の“入力ソース”タブの右側のペインの下の方に“追加辞書”の項目があるので、この欄内にそれぞれの追加辞書ファイルをドロップします。追加辞書ファイルは、それぞれ、‘~/Library/Dictionaries/JapaneseInputMethod/’フォルダ内に「.dictionarydata」という拡張子を持ったファイルとしてコピーされるはずです。

▪️ラ行を「l」キーでも入力できるようにする
OS X 10.10 Yosemiteでは、“日本語入力エンジン「ことえり」を終了し、新しい「日本語IM」を新採用”<http://www.macotakara.jp/blog/mac_os_x/entry-24770.html>ということのようです。
ことえりのはるか以前から、ラ行を「l」キーでも入力するという習慣がついてしまっているので、今更変更が効きづらいというか変えたくないので、なんとかしたいものです。
色々と探してみると、‘/System/Library/Input Methods/’以下に、‘JapaneseIM.app’というものがあり、そのバンドルパッケージ内に設定ファイルがありました。
‘JapaneseIM.app’は、‘/System/Library/Input Methods/JapaneseIM.app/Contents/Resources’にある ‘RomajiRule_Default.txt’を設定ファイルとして読み込んでいるようです。

ScreenShot 2014-11-02 5.38.16

‘RomajiRule_Default.txt’をTextWranglerで読み込んでみると、確かに「la li lu le lo」は「ぁぃぅぇぉ」となるように設定されています。
この‘RomajiRule_Default.txt’を書き換えるのも一つの方法ですが、図を見るとわかるように同じディレクトリに‘RomajiRule_Kotoeri.txt’というファイルもあるので開いてみると、従来のことえりの設定がそのまま記述されていました。そこで、‘RomajiRule_Default.txt’に手を加えるのではなく、‘RomajiRule_Kotoeri.txt’->‘RomajiRule_Default.txt’へ複製してしまうことで対処することにしました。
ターミナルからでは、

$ sudo mv -f /System/Library/Input\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txt /System/Library/Input\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default_org.txt; cp -f /System/Library/Input\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Kotoeri.txt /System/Library/Input\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txt

ということになります。
しかし、ここで残念なことには、10.9 Mavericksからシステムドメイン側のファイルをターミナルから‘sudo’で上書きしようとすると、権限がないという警告が出て上書きできないということが起きます。
詳しくは、ここ<http://wp.me/p1Cs3W-6R>で書きましたので参考にしてください。
何故か、同じことをスクリプトエディタ上でAppleScriptから”do shell script …”で実行すると通ってしまうので、AppleScriptの方も記しておきます。

do shell script “sudo mv -f /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txt /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default_org.txt; cp -f /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Kotoeri.txt /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txt” user name “YourUserName” password “YourPassword” with administrator privileges

オリジナルの‘RomajiRule_Default.txt’は、名前を変えて‘RomajiRule_Default_org.txt’として保存され、‘RomajiRule_Kotoeri.txt’の複製を‘RomajiRule_Default.txt’という名前にするというスクリプトです。

▪️Path Finder.appをroot権限で立ち上げて、そこからターミナルモジュールを使ってコマンドを実行する
拙作の“Quasi_Launcher.app”を使えば、Path Finder.appをrootユーザとして起動できます。
次の図が、そのrootユーザとして起動したPath Finder.app上で、ターミナルモジュールを使ってコマンドを実行しているところです。この場合は、当たり前ですが、‘sudo’は要りません。

PF_terminal

 

▪️追記

忘れていました。
最後に、JapaneseIM を再起動しなくてはいけません。下記のコマンドを追加してください。

$ sudo killall -HUP JapaneseIM

単純にマシンを再起動してもいいです。

▪️追記2−141103

AppleScriptでアプリケーション化するとすれば、次のように書けばいいでしょう。

property UserName : ""
property UserPasswd : ""

on run
	my checkPass_Name()
	my SetMode()
end run

on checkPass_Name()
	tell application "System Events" to set UserName to name of current user
	if UserName is "" then
		activate
		display dialog "ログインユーザ名を入力してください。" buttons {"キャンセル", "設定"} default answer "" default button 2 with icon caution returning {text returned:theVart, button returned:theVarb}
		if theVart is not "" then
			set UserName to theVart
		else
			return
		end if
	end if
	if UserPasswd is "" then
		activate
		display dialog "ログインパスワードを入力してください。" buttons {"キャンセル", "設定"} default answer "" default button 2 with icon caution with hidden answer returning {text returned:theVart, button returned:theVarb}
		if theVart is not "" then
			set UserPasswd to theVart
		end if
	end if
end checkPass_Name

on SetMode()
	try
		do shell script "sudo mv -f /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txt /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default_org.txt; cp -f /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Kotoeri.txt /System/Library/Input\\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txt" user name UserName password UserPasswd with administrator privileges
		do shell script "sudo killall -HUP JapaneseIM" user name UserName password UserPasswd with administrator privileges
	end try
end SetMode

これをアプリケーション形式で保存すれば、起動するだけで設定できます。

■追記−150330

上記のスクリプトを少し見直して、コンパイル済みのアプリケーションとしたファイルをダウンロード出来るようにしました

ダウンロード→解凍→「.iso」ファイルをダブルクリックでマウントできますので、マウントボリューム中の「.app」ファイルを任意の場所にコピーしてダブルクリックで起動すれば、‘RomajiRule_Kotoeri.txt’を‘RomajiRule_Default.txt’に置き換えることができます。

Finderと併せてファイルブラウザを同時に使うと便利です

FinderはFinderで作業ディレクトリを表示しておいて、ファイルブラウザ(できればダブルペイン)を起動し、ファイルブラウザの背面にFinderを見える形で作業するという方法は、作業画面が乱雑にならずに複数のディレクトリを行ったり来たりするには便利なやり方です。

1

ファイルブラウザを少し調べてみると、最近は活気のあるカテゴリのようで、有償/無償を含めて幾つかリストアップできました。

CRAX Commander.app<http://crax.soft4u2.com>
DCommander.app<http://devstorm-apps.com/dc/>
Double Commander.app<http://doublecmd.sourceforge.net>
Files.app<http://filesmanager.info/Home.html>
muCommander.app<http://www.mucommander.com>
Path Finder.app<http://www.cocoatech.com/pathfinder/>

最近はダブルペインのブラウザが便利なので、主にmuCommander.appを使うことにしていたのですが、CRAX Commander.appのデモ版を使ってみたところ、いっそ有償のものであれば、かつてライセンスを持っていたPath Finder.appもありだなと思いサイトを覗いてみました。

CRAX

いつの間にかバージョンは7まで上がっていて、元々高機能でしたが、機能満載といった状態となっていますが、さすがインターフェースはあまり大きな変化がないようで古いバージョンからの乗り換えでも違和感なく使えます。
これで、xxCommander系のように、ftp、sftp機能も搭載してくれば鬼に金棒でしょう。(現時点では、Finderの実装と同じようにボリュームのマウントはできるのですが、書き込み不可の状態でマウントされます)

▪️‘sudo’を使って、rootとして起動すると更に便利です
とはいっても、

$ sudo open /Applications/Path\ Finder.app

というわけではありません。これでは、単にroot権限でPath Finder.appを“起動した”だけで、“rootユーザとして起動”したわけではありません。
“rootユーザとして起動”するために、拙作の‘Quasi_Luncher.app’<http://wp.me/p1Cs3W-q>を使います。

4d228

  • Path Finder.appのアイコンをQuasi_Luncher.appのアイコンの上にドロップします。
  • 最初は、管理者のパスワードを要求しますので、入力してください。
  • Quasi_Luncher.appがPath Finder.appをrootユーザとして起動します。
    (次回から、Quasi_Luncher.appのアイコンをダブルクリックするだけで、Path Finder.appが立ち上がるようになります)

 

root

これで、システム管理領域にある「.config」ファイルや「.plist」ファイルなどをその都度管理者パスワードの入力を促されずにPath Finder.app上で編集・加工して保存できるようになります。
気をつけなければいけないことは、このブラウザ上から他のアプリケーションを選択して起動た場合、そのアプリケーションは“rootユザートして”ではなく元のユーザアカウントのプロセスとして扱われることです。例えば、編集ツールとしてTextWrangler.appを指定してシステム管理領域にある「.plist」ファイルを開いた場合、編集・加工後に保存する際にログインパスワードを要求されます。
とはいえ、Path Finder.app上でのファイルの移動、削除などの際にパスワードを必要としないで作業を続けられるのは便利です。