PowerPC専用アプリを探す(2)
私が、Mac OS X 10.6 Snow Leopardから、OS X 10.7 Lionに乗り換える時に、手持ちのPowerPCアプリケーションに何があるのかを知る必要がありました。
そのため、自分でスクリプトを書いて、PowerPCアプリケーションを探し出しました。
- PowerPC専用アプリを探す(1): プラスα空間 (2011年7月10日)
やっている事は単純で、UNIXの"file"コマンドの出力を見て、Universalアプリか、intel/PowerPCアプリかを判断しているだけです。
上記の記事に、判定方法を書いてあるので、スクリプトの公開も必要ないだろうと思っていたら、3月末に、スクリプト公開のリクエストをいただきました。
当時のスクリプト(Perl)を見ると、現代的(モダン)じゃないPerlの書式になっています。恥ずかしくて、公開できません。
「公開するには、修正が必要。今、忙しいので、1〜2週間待って欲しい。」旨伝えたまま、特に催促もないので、今日まで経ってしまいました。すみません。
本日、修正が完了しましたので、公開します。
#!/usr/bin/perl
# Copyright (c) 2011 Oichinokata (webmaster@oichinote.com)
# check App archtecture
# Created by Oichinokata on Jul. 10, 2011
# Revised by Oichinokata on Jun. 5, 2013
# usage: apparch.pl {file1} {file2} ...
use strict;
use warnings;
my $DEBUG = 0;
(my $PROG = $0) =~ s/.*\///;
if ($#ARGV == -1) {
die "Usage: $PROG {file1} {file2} ...\n";
}
while (my $filename = shift @ARGV) {
print "$filename\n" if $DEBUG >= 8;
open my $fh_PIPE, "-|", 'file', $filename or die "$PROG: can't open '$filename'\n";
my $type = check_arch($fh_PIPE);
print "$filename : $type\n" if $type;
close($fh_PIPE);
}
sub check_arch {
my $fh = shift;
my ($i64, $i32, $ppc, $ppcold, $intel, $powerpc) = (0, 0, 0, 0, 0, 0);
my $type = '';
while (my $line = <$fh>) {
$i64 = 1 if $line =~ /x86_64/;
$i32 = 1 if $line =~ /i386/;
$ppc = 1 if $line =~ /ppc/;
$ppcold = 1 if $line =~ /PowerPC/;
}
$intel = $i64 || $i32;
$powerpc = $ppc || $ppcold;
if ($intel and $powerpc) {
$type = "Universal";
} elsif ($intel and !$powerpc) {
$type = "intel";
} elsif (!$intel and $powerpc) {
$type = "PowerPC";
} else {
$type = "Unknown";
}
return $type;
}
使い方は、次の通りです。
% find /Applications -perm -u+x -type f -exec ./apparch.pl {} \; | egrep PowerPC > ppcapp.txt
“ppcapp.txt"の中に、PowerPC専用のアプリ(バイナリ)一覧が入ります。
こうやって、PowerPC専用アプリケーションを探した後は、代替アプリケーションを探して、PowerPCアプリケーションを捨ててしまう方が良いと思います。
本当に、どうしても、OS X 10.8 Mountain Lionで、PowerPCアプリを動かしたいなら、次の方法があります。
- Parallels購入
- Snow Leopardサーバ版購入
- Parallelsに、Snow Leopardサーバ版をインストール
- Parallelsの、Snow Leopardサーバ版の上で、PowerPCアプリケーションを実行
Snow Leopardは、クライアント版ではなく、サーバ版と言う事が重要です。
上記の方法で、PowerPCアプリを動かせますが、Snow Leopardサーバ版を入手するのは難しいし、高価だと思います。
なので、先に書いた様に、代替アプリケーションを探した方が良いと思います。
私の場合、「宛名職人 Ver.14」だけが、代替アプリケーションを見つける事ができませんでした。私のMacBook Pro (Early 2011)は、Snow Leopardで起動できるので、「宛名職人 Ver.14」が必要な時に、外付けSnow Leopardディスクから立ち上げて使っています。
ですが、次の罠に落ちてしまいました。
- OS Xでディスクを暗号化した場合の使いづらさ: プラスα空間 (2013年5月28日)
ユーザ領域を、Mountain LionのFileVault2で暗号化してしまったので、Snow Leopardからは見えなくなってしまったのです。しくしく ;_;
私が、「宛名職人 Ver.14」にこだわる理由は、年賀状履歴をexportできる宛名職人の、最後のバージョンだからです。
- 宛名職人Ver.14は最高の出来かも: プラスα空間 (2011年12月25日)
ただ、最終的には、次の記事の通り、住所録ソフトを自作して、「宛名職人 Ver.14」を捨ててしまおうと思っています。
- 2013年謹賀新年: プラスα空間 (2013年1月1日)
ちなみに、「宛名職人 Ver.16」も持っていて、更新の無い宛名の印刷に使っています。OS X 10.8 Mountain Lionでも、特に問題なく使えています。サポート外ですが。
[amazonjs asin="B00CF61QHI" locale="JP"]なお、現代的なPerlの書き方については、次のページを参考にしています。ありがとうございます。
【関連記事】
- PowerPC専用アプリを探す(1): プラスα空間 (2011年7月10日)
- PowerPC専用アプリを探す(2): プラスα空間 (2013年6月5日)
- PowerPC専用アプリを探す(3): プラスα空間 (2013年6月7日)
ディスカッション
コメント一覧
まだ、コメントがありません