macでelFinderを使ってみる – 1

elFinderを設置してみる

WEBファイルマネージャーとでも呼べばいいのでしょうか、httpプロトコルを介してブラウザでサーバ上のファイル操作ができるelFinderをOS X 10.11 El Capitanマシンに入れてみました。

今回、elFinderについては、次のサイトを参考にしました。
elFinderを使ってみた
elFinderを設置する

elFinderは、3条項BSDライセンスによるオープンソースのファイルマネージャー用のライブラリ群で、JavaScript、PHPを主体として構成されているようです。

図でわかるように、OS XのFinderライクなインターフェースで動作も軽快です。

特徴としては、

  • 豊富なMIMEタイプをサポートしているので、扱うファイルタイプを制限できる
  • HTML5のサポートによって、ドラッグ&ドロップでの操作ができる
  • フォルダを選択して‘ダウンロード’を実行すれば自動的にアーカイブされてダウンロードがおこなわれる
  • サーバ上でアーカイブの作成・解凍ができる
  • クイックルックのように、サーバ上でプレビューできる(ファイルタイプによって制限はあるようです)
  • ウィンドウフレームのリサイズができる
  • フォルダをドロップすればフォルダごとアップロードできる(Safariではプログレスバーが出たまま作業が進捗せずアップロードできませんが、Firefoxではできます)

先ずは入手

ダウンロードは<http://studio-42.github.io/elFinder/>から。
最新バージョンは、2.1.22でした(更新が比較的早いテンポで行われているようです)。

配置する場所

サーバ上のhttpドキュメントルートにフォルダごと置けばいいでしょう。
その場合、アクセスするには ‘http://hostname/elFinder-2.1.22/elfinder.html’となります。フォルダ名「elFinder-2.1.22」は自由に変更してもOKですが、‘elfinder.html’ファイルの名称変更をするためには、関連するphpファイルとJavaScriptファイル内のリンクを全て変更することになります。

配置前にするべきリネーム処理など

  • ‘elfinder.html’ファイル内のコメント

<!– Rename “main.default.js” to c and edit it if you need configure elFInder options or any things –>

に従って、‘elfinder.html’ファイル内の”main.default.js”を”main.default.js”に書き換え、該当する‘main.default.js’ファイルの名称も変更します。

  • ‘php’フォルダ内の‘connector.minimal.php-dist’ファイルの名称を‘connector.minimal.php’に変更します。

以上で、つまり、2つのファイルのリネームをするだけで、取り敢えずelFinderは動作します。

日本語化のカスタマイズはしなくても初期設定で自動判別されます

上記‘elFinderを設置する’のページでは、日本語化の方法について記載がありますが(バージョン2.1.11の場合での記載)、現行バージョン2.1.22では‘main.js’ファイル内でブラウザの言語設定を読んで自動判別していますので、特に言語設定を改変する必要はありません。テキストエンコーディングは、初期設定で‘utf-8’となっています。

アップロードできるファイルタイプの指定を変更する

変更するにはelFinderの‘php’フォルダにある‘connector.minimal.php’ファイルを編集します。
詳しくは、上記‘elFinderを設置する’のページを参照してください。
私は、「’uploadAllow’ => array(‘image’, ‘text/plain’),」の行を「’uploadAllow’ => array(‘all’),」に変更しました。
「’all’」だと全てのファイルタイプを指定(許可)したことになります。
個別にMIMEタイプを指定して明示的にファイルタイプによるアクセス制限を行いたい時には、このページ<https://github.com/Studio-42/elFinder/blob/master/php/mime.types>のMIMEタイプ一覧が参考になるでしょう。

取り敢えず以上の作業だけで、elFinderは動作します。
(Apacheによるhttpdサービスがアクティブになっていることが前提なのは記すまでもないでしょう)

サーバ上のhttpドキュメントルート内のディレクトリへのファイルのアップロード・ダウンロードがブラウザから実行できるようになるわけですから、FTPの代替えとしても使えるでしょう。
OS X 10.10くらいからpure-ftpdが素直にインストール/構築できなくなってしまった現状では、UIのない状態でftpd.comfをいじって組込みのftpdを利用するよりは扱いやすいファイル転送方法と考えられるでしょう。ユーザID/パスワードによるアクセス制限などは別個に考慮する必要はあるでしょうが。

このままelFinderでオープンにディレクトリアクセスできるようにするつもりはないので、使いこなしを考えてみるつもりです。

TextWranglerの終焉?

TidBITS#1359/06-Mar-2017でTextWranglerが消えてゆく路にあることを知りました。
macOSの次のバージョンへの対応版のTextWranglerは開発されないで消えてゆくということのようです‘http://us11.campaign-archive1.com/?u=d7ffaa16f302eaf61e416e389&id=5c0940cf9b’
BBEditが11.6から”デモ”版の対応を変更して、30日間の評価期間経過後も期限なしで使い続けられるようになっていたことも知りませんでした。
(11のライセンスを取得していて、単純にアップデートをし続けていたので、全く頓着していなかったということです)
barebones.comのこのページ‘http://www.barebones.com/products/bbedit/comparison.html#demo-comparison’に、TextWranglerとBBEditのライセンスなしとライセンスありの3者の機能比較表があります。
BBEditのライセンスなし(使用期限の制限もなし)版でも、TextWranglerのよりも多くの機能が使えることが分かります。
現行のTextWranglerユーザにとって、悪くない選択肢が提示されていると解釈すればいいのでしょう。

Spark 3がb11になっていました

6feb2ホットキー(キーボードショートカット)ユーティリティについてのエントリーを書いたのが2013年でしたが、Spark3はb9で止まったままでした。
そのb9がそのまま10.11 el capitanだけでなく10.12 Sierra上でも問題なく動作しているというのは、驚いてもいいことなのでしょう。
ふと、AboutダイアログからSpark3のホームページ<http://www.shadowlab.org>を訪れたところ、バージョン表記が「bx」となっていてなんだか怪しく感じましたので、ダウンロードボタンをクリックしてみました。
なんと、バージョンがb9からb11になっているではないですか。

info

中間のb10があったのかどうか分かりませんが(何しろドキュメントが見当たらない)、b9からb11へ飛んだのであれば、8年ぶりのアップデートということになります。

起動時のメインウィンドウなど外観、インターフェースに変更はないようで、対応OSが、OS X 10.9 Mavericksからということが一番大きな変化でしょうか。多分、Sandbox対応などがメインではないでしょうか。
短時間使った範囲では、全バージョンからの変更部分が見当たらず、アプリケーション本体とデーモンが置き換わっただけといった感じで問題なく動作しています。
メインマシンのキーボードショートカットユーティリティは、「Keyboard maestro 7」なのですが、サーバマシンやサブマシンではKeyboard maestro 7で使っているほどのショートカットの数は要らないので、Spark3の機能があれば十分です。
また、常駐するデーモンのメモリの占有サイズもkeyboard maestro 7の10分の1、一桁台で済みますので、重宝です。

●追記
iKeyもWenサイト<http://plumamazing.com/mac/ykey/>を覗いてみると、「yKey」と名前を変えていました。最新版が2014年となっています。

Backuplist+.app v.8.5.5

066f1本日(2016/10/01)、自動アップデートでv.8.5.5の通知がありました。
アップデートの内容は、以下の通りです。

 

Backuplist+ 8.5.5 important update for all users of OS 10.8 and higher.

THIS IS MY NEW SOMETHING Version 8.5.5 fixes several bugs

Go to BackupList+ Help Menu > Help and see what is new with this version

Version 8.5.5 fixes several bugs.

Now Compatible with OS 10.12 Sierra.

Fixed bug preventing creation of sparse bundles with encryption.

Fixed bug causing the creation of the Recovery HD for clones to fail.

Includes the latest build of rsync 3.1.1, optimized for OS X.
Several other changes features and improvements overall.

作者のページでは既にv.8.5.5に書き換わっていましたので、私が気がついたのが遅かったようです。

Backuplist+.app v.8.5.4へのアップデート

066f1Backuplist+.app v.8.5.3(昨年の11月頃リリースされたのですね)を立ち上げたところ、起動時にアップデートの自動チェックがオンになっていたようで、v.8.5.4へのアップデートの通知がありました。
アップデートの内容は、以下のとおりです。

•Backuplist+ 8.5.4 important update for all users of OS 10.8 and higher.

THIS IS MY NEW SOMETHING
Version 8.5.4 fixes several bugs

Go to BackupList+ Help Menu > Help and see what is new with this version

Version 8.5.4 fixes several bugs.

Now Compatible with OS 10.12 Sierra.

Fixed duplicate sets so they are now distinct copies and not references to the same object.

Fixed root access for the backupList+ Helper app.

Fixed bug causing the creation of the Recovery HD for clones to fail.

Includes the latest build of rsync 3.1.1, optimized for OS X.

Fixed errors in UUID checks of disks in OS X 10.11.

Several other changes features and improvements overall.

バインドされている‘rsync’のバージョンは3.1.1で(残念なことに3.1.2ではありませんでした)、予備的に3.0.9もオプションで指定できます。
macOS 10.12 Sierraでも動作可能のようで一安心です。

●補足

上記のようにオンラインでアップデートしましたが、作者のページでは、まだv.8.5.3のままでアップデートされていません。

●追記

今日作者のページを見てみたのですが、漸くver.8.5.4になっていました。(2016/09/16)

macでmp3、AAC(m4a)をノーマライズする

世の中はハイレゾへまっしぐらの感があるのですが、私は今更ながらmp3、AAC(m4a)をBluetooth経由でといったプアオーディオをまっしぐらであります。
最近はアルバム単位でプレイリストを作ることもなくなってきて、殆どシャッフルでかき回しているので、曲間のボリューム(音量)の落差が気になってきました。
iTunesで一元管理され(し)ている時にはiVolumeを使っていたのですが、曲単位でスケールファクターを変更できるものは、波形編集できるタイプのソフトを除けばほぼ‘mp3gain(エンジン)’をバインドしたGUIラッパーが多いようです。
幾つか検索結果に出てくるのですが、Mac版は意外と多くないようです。
候補はこんなものでしょうか。

<http://alternativeto.net/software/mp3gain/?platform=mac>

MP3Gain Express for Mac OS XとMacMP3Gain-2.1

その中で“MP3Gain Express for Mac OS X”というのを試してみました。

mp3gain1

ウィンドウ内に対象ファイルをドロップして指定する操作方法は簡便で使いやすいものです。
ただ、残念なのは対象ファイルがmp3に限定され、AAC(m4a)ファイルを処理できないという点です。
もう少し調べてみると‘aacgain’というコマンドラインツールを使用しているものを見つければ、mp3ファイルだけでなくAAC(m4a)ファイルも処理できそうだということがわかりました。
見つけたのが、“MacMP3Gain-2.1”というものです。

macmp3gain_window

AppleScript Studioで作られたGUIラッパーのようで、ドラッグ&ドロップをサポートしていない点が少し残念ですが、機能的には十分です。
バインドしている‘aacgain’のバージョンを見てみると、1.4.6の‘mp3gain’をベースにした‘aacgain’1.7.0バージョンとなっています。

実は、‘aacgain’1.9.0というバージョンが、”MP3Gain Express for Mac OS X”のページに掲載されているのですが、GUIを持たないコマンドラインツールとしてのみの掲載となっています。
<http://projects.sappharad.com/mp3gain/aacgain_19_mac_cmdline.zip>
コマンドラインツールとしてのマニュアルはこのページにあります。

‘aacgain_19_mac_cmdline’をAutomatorで使ってみる

‘aacgain’1.9.0を上述の”MacMP3Gain-2.1″にバインドされている1.7.0と差し替えるという方法も考えたのですが、これは最後の手段として、Automatorを使ってスクリプトメニューから起動できるワークフローにしてみることにしました。

automator_aacgain

  • コマンドラインツール‘aacgain’をアプリケーションフォルダへ入れる。
    (図ではアプリケーションフォルダですが、パスを指定しておけばどこでもいいわけです。システム管理領域に置くこともないわけですし…)
  • 図の設定でワークフローとして保存し、スクリプトメニューから実行できるようにワークフローファイルを配置する。
    (例えば、‘~/Library/Scripts/Applications/Finder/’)
  • Finder上で、ノーマライズしたいサウンドファイルの入ったフォルダを選択してから、このワークフローを実行する。

この例では、Finder項目としてフォルダを選択してから実行するようにしていますが、直接ファイルを選択して実行したい場合は、“フォルダの内容を取得”アクションを外せば、選択されたファイルを対象とすることができます。
コマンドオプションとして‘-p’を使っていないので、元ファイルの修正日が変更されます。日付を変えたくない場合は‘-p’オプションを使ってください。その他のオプションについては、上記のマンページを参照してください。

ついでにMacMP3Gain 2.1に‘aacgain’1.9.0をバインドしてみる

Automatorのワークフローで機能的には十分かとも思いますが、思い立った以上、MacMP3Gain 2.1に‘aacgain’1.9.0をバインドして、MacMP3Gain 2.1のGUIをそのまま使えるようにしてみました。

macmp3gain_bind

‘aacgain’1.7.0バージョンが「aacgain.i386」という名前でバインドされていますので、これを念のため「aacgain.i386_org」と名称変更し、同じ“Resources”フォルダ内に‘aacgain’1.9.0バージョンをコピーして、「aacgain.i386」と名称変更します。
これだけです。

OS X 10.11 El Capitanで、SIP(System Integrity Protection)を無効にしないで、ら行(ラ行)を「L」キーで入力できるように変更する

OS X 10.11 El CapitanでSIP(System Integrity Protection)が導入され、‘/System/Library/Input Methods/’以下にアクセスするためにはrootlessモードに切り替えないと、‘sudo’を使ってもアクセスできないという状況になりました。

(SIP(System System Integrity Protection)は、以下のサイトが参考になります。)

rootlessモードで作業するためには、リカバリーモードでマシンを起動してから‘csrutil’コマンドをターミナル上で使って設定するという方法以外に手段がないため、かなり面倒です。
また、わざわざ‘nvram’の‘rootless=0 & “kext-dev-mode=1’というブートフラグを捨ててきた方向性から考え、Appleのポリシーを尊重するのであれば、常にrootlessモードで作業するというのもできれば避けたいところではあります。
また、考えるに、ユーザレベルでインプットメソッドのモードを切り替えられないというのもどうなのでしょう。‘/System/Library/Input Methods/’以下の設定ファイルを書き換えるということは、ユーザごとに設定モードを簡単に切り替える手段がないということで、不便すぎる仕様ではないでしょうか。
どこかに何か設定フラグがあるはずだよね、と思いながら、なかなか手掛かりがつかめなかったのですが、不図した拍子に見つけました。
要は、‘default’コマンドを使って、ユーザドメインのPreferencesフォルダ内の‘~/Library/Preferences/com.apple.inputmethod.Kotoeri.plist’に‘UseKotoeriRomajiRule’キーを設定するだけです。

ターミナルから‘defaults’コマンドを使って、

defaults write com.apple.inputmethod.Kotoeri UseKotoeriRomajiRule -boolean YES

この後に、日本語入力プログラム(JapaneseIM.app)を再起動します。

killall JapaneseIM

 

plist_key

図は、Xcode上で該当キーが設定されている状態です。

設定のリセットは、

defaults delete com.apple.inputmethod.Kotoeri UseKotoeriRomajiRule

要は、「システム環境設定」の「キーボード」の「入力ソース」のGUIから設定項目が外されただけということのようですが、“外されただけ”というには何とも、むむむ…であります。

CotEditorの文字種変換などやってみる

CotEditor知人から強く勧められたので、CotEditorを試用してみることにしました。

CotEditorのホームページからおもな特長を拾ってみると、次のように記載されています。

 

 

主な機能

・シンタックスハイライト
HTMLやPHP, Python, Ruby, Markdownなど、40以上のメジャーな言語にあらかじめ対応。自分で新たな定義を作成することもできます。

・瞬時に起動
あっという間に立ち上がるので、思い立ったそのときにすぐに書き始めることができます。

・パワフルな検索と置換
定評のあるOniGmo正規表現エンジンによる強力な検索/置換パネルを備えています。

・クリックで設定
マニアックな知識を必要とする複雑な設定ファイルはありません。テーマやシンタックス定義も含め、設定はすべて一般的な環境設定ウインドウから行えます。

・自動バックアップ
CotEditorが編集を逐次自動でバックアップするので、もう強制終了で未保存分の編集を失う心配は無用です。

・アウトラインメニュー
書類から定められたルールに適合した行を抽出しメニューとして表示します。メニューを選択すれば、該当箇所に移動します。

・文字情報表示
選択された文字のUnicode文字情報をポップオーバーで簡単に表示できます。

・エディタの分割
エディタを分割し、文書の異なる部分を一度に表示できます。

・スクリプト
AppleScriptにPython, Ruby, Perl, PHP, UNIX shell、あなたの好きな言語でマクロを書くことができます (YosemiteならJavaScriptでも!)。

・非互換文字の検出
エンコーディングを変換する際には変換できない文字をリストアップします。

“あっという間に立ち上がる”というのは魅力です。

起動してみると、豊富な「シンタックススタイル」によるカラーリング機能、入力補完機能、正規表現が使える検索置換機能など、コードエディタとしての面を見ると評価が高いことが納得できます。
一方、通常のテキストエディタとして使う場合はどうでしょうか?

気になる文字種変換

DTP屋としては、文字種変換が一番きになるところで、組込みの機能は「テキストメニュー」→「変換」にありました。

mojishu

“全角半角変換”機能について試してみました。

aAbBcCDdEeFfGghHIiJjkKlLmMnNOopPqQRrSsTtuUvVWwXxYyzZ。,.:;?!`^_/〜'()[]{}+−=<>$%#&*@0123456789 —

aAbBcCDdEeFfGghHIiJjkKlLmMnNOopPqQRrSsTtuUvVWwXxYyzZ。,.:;?!`^_/〜’“”()[]{}+−=$%#&*@0123456789

上の全角キャラクタを変換したところ、下のようになります。
つまり、“全角半角変換”では、英数だけでなくパーレン他の記号も変換されてしまいます。
DTP屋としては、英字、数字、パーレン類、句読点、記号などは別種として扱いたいところです。
そこで、幾つかスクリプトを書くことにしました。
数字の“全角半角変換”では、

set Zenkaku to "0123456789"
set Hankaku to "0123456789"

tell application "CotEditor"
	if not (exists front document) then return
	tell front document
		set {loc, len} to range of selection
		if (len = 0) then 
			display dialog "文字列を選択してから実行しましょう。" buttons {"OK"} default button "OK" with icon note giving up after 1
			return
		else if (len > 0) then
			set preString to contents of selection
			display dialog "全角<->半角変換できます。" buttons {"キャンセル", "半角", "全角"} default button 2 with icon note returning {button returned:theVarb}
			if theVarb = "全角" then
				set a to my Sed_y(preString, Hankaku, Zenkaku)
				set contents of selection to a
			else if theVarb = "半角" then
				set a to my Sed_y(preString, Zenkaku, Hankaku)
				set contents of selection to a
			end if
		end if
	end tell
end tell

to Sed_y(TheString, SString1, SString2)
	do shell script "export LANG=ja_JP.UTF-8; " & "echo " & quoted form of TheString & " | sed -e 'y/" & SString1 & "/" & SString2 & "/'"
end Sed_y

大文字小文字変換は、

tell application "CotEditor"
	if not (exists front document) then return
	
	tell front document
		set {loc, len} to range of selection
		if (len = 0) then 
			display dialog "文字列を選択してから実行しましょう。" buttons {"OK"} default button "OK" with icon note giving up after 1
			return
		else if (len > 0) then
			display dialog "小文字 <-> 大文字変換できます。" buttons {"ワードキャップ", "小文字", "大文字"} default button 2 with icon note returning {button returned:theVarb}
			if theVarb = "ワードキャップ" then
				tell selection to change case to capitalized
			else if theVarb = "小文字" then
				tell selection to change case to lower
			else if theVarb = "大文字" then
				tell selection to change case to upper
			end if
		end if
	end tell
end tell

その他、“半角カナ”“全角カナ”変換は、アーカイブページの中にサンプルスクリプトが用意されていて、その中にphpのスクリプトがあります。

‘SampleScripts-master/ShellScript/Extras/J-Text-Utility/Full-width Katakana to half-width.php’
‘SampleScripts-master/ShellScript/Extras/J-Text-Utility/Half-width Katakana to full-width.php’

余計なテスト

もっとも単純なバイナリーplistファイルのサンプルとして、‘.webloc’ファイルをCotEditor、Mi、BBEditで開いた場合の表示が次の図です。CotEditor、Miでは扱いが同じで、xml形式の‘plist’ファイルとして扱えるのはBBEditのアドバンテージでしょうか。
因みに、ドキュメントウィンドウ内に‘.webloc’ファイルをドロップすると、CotEditor、Mi、BBEdit共にURLが挿入されます。

plist

OS X 10.11 El CapitanでYosemiteのDisk Utility ver.13を使えるようにする

OS X 10.11 El CapitanではDisk Utilityが書き換えられ、「RAID」タブやアクセス権の検証/修復機能が消えたことは知っていましたが、パーティション機能も制限されていたとは知りませんでした。

du15

図は、2GBのUSBメモリを2分割にして、片方をFAT(MS-DOS)片方をhfs+でフォーマットしたものですが、サイズを変更しないでデータの消去/フォーマットの変換は可能ですが、パーティションのサイズ変更もパーティション数の変更もできません。
OS X 10.11 El CapitanのDisk Utility ver.15以外の手段を考えるしかなく、探したところOS X 10.10 YosemiteのDisk Utility ver.13をEl Capitanで使用可能とする方法があるようです。

vcheck

(Disk Utility ver.13を単にコピーしただけでは、図のようにベージョンチェックに引っかかって起動できません)

しかし、見つけたinsanelymacのパッチファイルはログインしないとダウンロードできない面倒な仕様のようなので、別なページで見つけたパッチ情報を参照して自力でやってみることにしました。

補足情報として、insanelymacのページも参考にします。

(思った以上に情報が少ないので、ここにメモする次第です)

・先ずは、Disk Utility ver.13を確保

Justus Beyer氏の記事ではハッシュ値の確認をしていて、YosemiteのDisk Utility ver.13以外の、例えばMavericksのDisk Utility ver.13ではパッチが効かないようなため、ハッシュ値の一致するYosemiteのDisk Utility ver.13を用意する必要があるようです。
Time MachineでYosemiteのバックアップがあればいいのですが、生憎、Time Machineそのものをイマイチ信用していないので使ったことがないため、都合よくユーティリティフォルダのバックアップなど持っていません。Yosemite稼働マシンも身近にないので、ダウンロード済みのOS X Yosemite インストール.app(英語名ではInstall OS X Yosemite.app)を開いて、Disk Utility ver.13を探します。
OS X Yosemite インストール.appのパッケージを開いて、‘InstallESD.dmg’を探します。パスは、次のようになります。

‘/Applications/Install OS X Yosemite.app/Contents/SharedSupport/InstallESD.dmg’

このInstallESD.dmgファイルをダブルクリックして‘OS X Install ESD’ボリュームをマウントすると、不可視ファイルで‘BaseSystem.dmg’というイメージファイルが第1階層にあります。

‘/Volumes/OS X Install ESD/BaseSystem.dmg’

(ファインダ上で不可視ファイルを見えるようにするためにはいろいろな方法がありますが、拙作の‘CatInvisible.app’を使うと簡単に可視化できます)
‘BaseSystem.dmg’をマウントすると、Applicationsフォルダ内の‘Utilities’フォルダの中に‘ディスクユーティリティ.app’があります。これをデスクトップにでもコピーします。これでDisk Utility ver.13が確保できました。

・ハッシュ値の確認

念のため、‘ディスクユーティリティ.app’のハッシュ値を確認してみます。
‘ディスクユーティリティ.app’の実行ファイルのパスは、
‘~/Desktop/Disk Utility.app/Contents/MacOS/Disk\ Utility’
なので、ターミナルで

$ openssl dgst -sha256 ~/Desktop/Disk\ Utility.app/Contents/MacOS/Disk\ Utility

を実行すると、

SHA256(/Users/demo/Desktop/Disk Utility.app/Contents/MacOS/Disk Utility)= 48529e0206d5f238b96f59bd0a4be7817ebe5d63cf4abee0d8c1529c54bf2d78

という値が戻ってきました。
合っています。

hash

・パッチを当てる

Justus Beyer氏の記事ではHexエディターとして、フリーの‘Hex Fiend.app’’http://ridiculousfish.com/hexfiend/‘を使用していますが、私は使い慣れた‘HexEdit.app’’http://www.ideasfromthedeep.com/product_info.php?products_id=87‘を使うことにしました。
‘Hex Fiend.app’を使う場合は、’sudo’で‘Hex Fiend.app’の実行バイナリを使って、‘ディスクユーティリティ.app’の実行バイナリファイルを開かないと、アクセス権の制限で変更を保存できないのですが、‘HexEdit.app’はユーザ権限のままで変更を保存できます。その場合、オリジナルはファイル名の末尾に‘~’を付加して同じ場所に保存されますので、作業的にはこちらの方が楽で安全でしょう。
さて、置き換えデータは次の通りです。検索/置換で16進数を置き換えるか、そのまま上書きで変更します。

–Justus Beyer氏のデータ
変更前:D584C00F 85440100
変更後:D584C00F 84440100
(オフセットは、10進数で‘25056’です)

–insanelymacのデータでは
変更前:D584C00F 85440100
変更後:D584C0E9 45010000

Hexeditjump

試してみましたが、どちらでシステムバージョンチェックを回避して、10.11 El Capitanでも起動できるようになります。

パーティションの操作はこちらを使うことになりそうです。

DU13-2

・アクセス権の修復はどうなる

10.11 El Capitan上で起動したDisk Utility v.13は、Rootレスモード、つまりSIP(System Integrity Protection)でシステム領域が保護されたことで、「書き換え不能」となったわけで、アクセス権の検証/修復機能は利用できなくなっています。念の入ったことに、GUIから外されただけでなく、’diskutil’コマンドからも’verifyPermissions’と’repairPermissions’というアクセス権の検証/修復機能は取り除かれてしまっています。
調べてみると、’repair_packages’コマンドとしてコマンド自体は残されているのですが、Rootレスモードによってシステム領域である/binや/sbin、/usr/binなどが対象外となっています。
‘repair_packages’コマンドは、次の要領で使用します。

○アクセス権を検証する(管理者権限要)

$ sudo /usr/libexec/repair_packages –verify –standard-pkgs /

○アクセス権を修復する(管理者権限要)

$ sudo /usr/libexec/repair_packages –repair –standard-pkgs /

Macbook Proにテンキーを

Macbook Proのキーボードからの数字入力も慣れてくればそれほどの苦痛ではなくなってきたのですが、エクセルなどで大量のデータ入力などの際には、さすがに音を上げてしまいます。
あれこれとUSBだとかワイヤレスだとかのテンキーを探してみたりもしたのですが、いまいち納得ができません。commandキーやoptionキーなどとの組み合わせで機能するのかなど、不安要素は幾つかあります。
そんな時、5〜6年前くらいでしたか、iPod Touchでテンキー入力ができていた記憶が蘇ってきました。結局、iPod Touchの置き場所というか配置がマウスの位置とかぶるので定着はしなかったのですが、今回はなんとか工夫のしようもありそうです。
で、発掘した(?)のがiPod Touchの第1世代でした。iTunesで見るとプロダクトタイプが「iPod1,1」となっていますので、間違いなく第1世代ですね。となると、春頃に買った記憶があるので2008年春のことですね。すっかり第1世代はパスして第2世代を買ったと思っていたのですが、記憶っていい加減なものです。

■掘り起こしたはいいが、果たして使えるのか?

完全にバッテリーも上がっていましたが接続するとも問題なく通電でき、充電もできたので、iTunesでリストアしました。できるんですねこんな古い機種でも。リストアできる最新OSが3.1.3で、現役だった頃のアプリケーション類はほとんど消えています。現行のiOSのバージョンが8.3ですからこのギャップがどうなるのか?
先ずは、現役のアプリケーションの中から、テンキー機能のものを探してみることにしました。

・iNumKeyPadFree – WiFi numeric keypad
<https://itunes.apple.com/jp/app/inumkeypadfree-wifi-numeric/id358638852?mt=8>
<http://www.mbpowertools.net/iDevices/Home.html>
<http://www.mbpowertools.net/iDevices/Download.html>

screen480x480_programView1_273431.png

先ずはフリーバージョンがあるというので試しにインストールしてみました。Num Lockが付いていて、オフィス系では便利かもしれないなと思いつつ繋いでみました。iOS 3.1.3で動作すること自体が驚きなのですが、それなりに起動して、Macbook Proと接続できました。
ところが、入力をMacbook Pro側に反映させるタイムラグがものすごいことになります。
適当に10桁入力すると最初の1桁目が反映されるのに数秒、残りは取りこぼしも発生し、軽く30秒は無反応の後に歩くくらいの感覚で反映されます。う〜ん、実に、使えません。多分、iOS 3.1.3でハードウェアが2007年のものだというころに原因があるのでしょう。現行のiOS搭載マシンではきちんと動作するんだと思います。

・NumPad Remote<http://mediaware.sk/ware/?page_id=487>

iNumKeyPadFreeで若干くじけてしまったので、試用もできないまま、360円を支払う気になれません。他に手立てが亡くなった時にもう一回考えます。

・NumberKey Connect.app – NumberKey Free<http://www.forest.impress.co.jp/docs/review/20091215_335847.html>

写真

2009年に使っていたのは「NumberKey Free」という名前でした。あのバルミューダがリリースしていたんですね。バルミューダのサポートページ<http://www.balmuda.com/jp/support/category/numberkey>は見つけて、NumberKey Connect.appはダウンロードしたのですが、「.ipa」ファイルがどうしても見つけられません。
2009年当時のバックアップディスクを掘り出すことにしました。
無事ゴミの山からのサルベージに成功して、「NumberKey Free.ipa」ファイルをインストールしてみると、案の定というか予想通りというか無事動作しました。2009年作のNumberKey Connect.appがOS X 10.10 Yosemiteで動作するのも嬉しいところです。
こちらはタイムラグもなく、command、option、shiftキーとのコンビネーションも機能します。

■iNumKeyPadFreeの名誉回復のために再インストール

iPad2であれば動くのではないかと思い、一旦捨てたiNumKeyPadFreeを接続用のアプリケーション「iReceiver.app」と併せて再度ダウンロードしてインストールしてみました。
iPad2では問題なく動作しました。
いま一度と思い、iPod Touch 1st gen.にも入れてみたところ、今度は正常に動作し、タイムラグもなく動きました。
前回のギクシャクはなんだったんだろうという結果です。
「Num lock」を使えば、カーソルキーとしても機能しますので、その辺がメリットであればこれもありでしょう。
1点残念なことは「*」キーが「(」に変わってしまうことで、現時点で解決策が見当たりません。

結論として、多分(?)「NumberKey Free」を使うことになるでしょう。
「NumKeyPadFree」は、iPod Touch 1st gen.の画面ではキーサイズが小さく感じます。
iPhone5, 6では問題ないのでしょうね。