2013年12月26日木曜日

Brother カラーレーザープリンター HL-3170CDW

インクジェットのコスパの悪さにとうとう我慢できなくなったところで、良さそうなレーザープリンターを見つけたので買った。導入と印刷サンプル、使ってみての第一印象などを。


勤めてた頃はキヤノン、沖、富士ゼロックスのレーザーを使ってきて、家では EPSON のインクジェットを使ってきた。ブラザーは初めて。自営なので SOHO 向きのやつを選んでみた。

開梱。17.7kg あるので箱から出すのは二人がかりの方が腰を痛めなくていいけど、ひとりでもできないことはなかった。本体の開く部分を止めてあるテープをいくつか剥がす。そして4つのトナーを一度外して、運送用のプラスチックをそれぞれ外して、トナーを元に戻す。

これがプラスチックの残骸。横を開くようにして外した。


ネットワークのセットアップは簡単。うちは無線で LAN を構築している。プリンタ本体の液晶画面とボタンを使って SSID を選び、WPA パスワードを入力する。キーボードはないけど、ボタン長押しで文字の選択肢が変わる速度が速く、あまりストレスにならなかった。そしてすぐにつながった。つながると SSID などを記した紙が一枚印刷される。

コンピュータの方にドライバソフトをインストールする。ディスクがついてきたけど、うちは Mac OS X 10.9 で、ディスクを入れてインストーラを起動すると「対応してないのでサイトからダウンロードしてインストールせよ」というようなメッセージが出た。ブラザーのサイトのサポート>ソフトウェアダウンロード>レーザープリンター JUSTIO>カラーレーザー HL-3170CW あたりから入れればOK。

カラーの印刷品質を確認するために、写真を印刷してみた。これが元の写真。


これを iPhoto から「普通紙に写真をプリント」、品質は最高として印刷して、ScanSnap iX500 で解像度エクセレントでスキャンしたのがこれ。


(どちらも画像サイズは適当に変更してある。クリックで横1600ピクセルのオリジナル画像を表示)

印刷には縦筋(給排紙方向に対しては横筋)が見えるが、期待以上にきれいに印刷された。まあうちは写真の印刷は基本的にしないけど。

次に AirPrint を試す。うちのモバイルデバイスは iPhone 5 と iPad 2012、どちらも iOS 7 にしてある。Safari のメニューからプリントを選び、プリンタを選択しようとするが、検出に失敗する。(「AirPrintプリンタが見つかりません」と表示される)

プリンタ本体の AirPrint の設定を確認する。システム環境設定からプリンタとスキャナを選び、Brother HL-3170CDW を選んで「オプションとサプライ…」>「プリンタの Web ページを表示」をクリックするとウェブブラウザが開いてプリンタ本体にアクセスする。ネットワーク>プロトコル>AirPrint にデフォルトでチェックが入っているので、動いているはずだ。

ここでもう一度 iPhone からプリントを試すと、今度はプリンタが見えるようになった。そして印刷できた。

ところがしばらくしたらまたプリンタが見えなくなった。いろいろ試した結果:

  • 一度見えるようになるとしばらくは見えている
  • なぜか見えなくなるときがある
  • 見えなくなったときに、プリンタ本体にウェブアクセスしてネットワーク設定のあたりを開くとまた見えるようになる
  • それをしなくても、また見えるようになることもある
  • プリンタ本体がディープスリープ、スリープ、インサツデキマスのどの状態でも挙動に変わりがない
  • iPhone でも iPad でも変わらないので、プリンタ側の問題っぽい

というわけで、よくわからない(汗)

最後に置き場所。机の上に置くには大きいし(H465xW410xD240)、床に直置きでは埃で壊れそう。いいプリンタ台はないかと探したら、机の下に収納するものを見つけた。


W480xD400xH75でよさそうな大きさ。耐荷重35.5kgは十分。

キャスター4つを付属のスパナでねじ込むだけの組立て式。裏はこんな感じ。キャスターはそれぞれちゃんと回って向きが変わります。


スパナが薄く小さいのでちょっと使いにくかったけど、5〜10分でできた。


プリンタ17.7kg+プリンタ台3.6kg=21.3kgをキャスター4つ(接地面8つ)で支えている。まあ床に傷はつかないだろう。キャスターの大きさはこのくらい。


乗せてみました。ぴったり!



iPhone の広角レンズで撮ったから横に少し余裕があるのが分からないな。公称サイズ通りにこうなってます。


机の下に入れた。


これでしばらく使ってみます。AirPrint の件は今後の課題。



追記(同日):ファームウェアのバージョンが Main 1.13, Sub1 1.01 で、Main の方がひとつ古かった。ブラザーのサイトからダウンロードして Main 1.14 に更新したのでこれで様子を見ます。

追記(12/27):ファームウェア更新後も AirPrint で同じ症状が出ています。やはり今後の課題か。

(最終更新:2014/08/31)

2013年12月15日日曜日

メモ:Inkscape で OS X の(見かけ上)サイズゼロのフォントを使う

Mac の Inkscape は X11 のアプリケーションで、X から見えるフォントしか使えないようだ。自分の ~/Library/Fonts/ にあるフォントファイルで、UNIX 的ファイルサイズがゼロのもの(リソースフォークなるところに実際のデータが入っているもの)は X11 からは使えないみたい。これを Inkscape で使いたいと思った。

まず FontForge をインストールする。このとき GUI 付きで作る。Homebrew では「brew install fontforge --with-x」とする。その後、指示に従って「brew linkapps」とすると、/Applications/ に FontForge.app ができる。

X11 が動いている状態で、Finder で FontForge.app をダブルクリックして開く。そして目的のフォントファイルを指定して開く。

ファイル>フォントを出力... を選ぶ。保存形式として TrueType を選ぶ。ファイル名は適当に。そのままで多分大丈夫(すでにある名前でなければ)。保存する。何かいろいろ警告が出るが、とにかく保存する。(←これ、後で問題が出るかも知れない。どうすればいいかわからない。)

Font Book を開くと、フォントが重複しているはずなので、新しく入れた方を使用停止する。マウスポインタを上に置くか、右クリックして Finder に表示を選べば、どのフォントがどのファイルに対応するか分かる。右クリックから使用停止できる。

X11 を一度落とす。

X11 を立ち上げ(← Inkscape を起動すると同時に立ち上がる場合には不要)、Inkscape を立ち上げると、フォントが使えるようになっている。

2013年12月3日火曜日

メモ:com.apple.quarantine 拡張属性

調べきれてないけど回避策を見つけたのでメモ。

Mavericks に変えたせいか、今まで使ってたスクリプトが動かなくなった。こんな感じ:
$ cat hello
#!/bin/sh
echo hello
$ ./hello
-bash: ./hello: /bin/sh: bad interpreter: Operation not permitted
$
以下の場合にこれが起きるようだ。
  • 実行ファイルに com.apple.quarantine 拡張属性がついていて、その最初の値の下から3ビット目(0x4)がオンであるか、
  • そのファイルが内在するスパースバンドル(マウントされている)の *.sparsebundle/token に com.apple.quarantine 拡張属性がついていて、0x4がオンである
後者は、.dmg の場合は分からない。

確認法。ls -l@ でそのファイルを見て、「com.apple.quarantine 数字」という表示が出るかを見る。
$ ls -l@ hello
-rwxr-xr-x@ 1 mkazuto  staff  21 12  2 18:00 hello*
        com.apple.quarantine    27
quarantine-test-local$
「数字」(ここでは27)は拡張属性の大きさ(バイト数)。中身を見るには xattr -l する:
$ xattr -l hello
com.apple.quarantine: 0006;xxxxxxxx;アプリ名;
$
セミコロンでいくつかの情報が区切られている。最初の値は16進数のようで、この値の0x4がオンだと冒頭のエラーが出る。ここでは0x0006なので0x4がオンだからエラーになる。2つ目の値は16進数で何かのIDぽい。3つ目の文字列は、このファイルを(たぶん作成すると同時に)検疫隔離 (quarantine) したアプリケーションのようだ。エラーが出たときに /var/log/system.log を見ると、
Dec  3 10:10:09 rMBP kernel[0]: exec of /Users/mkazuto/hello denied since it was quarantined by アプリ名 and created without user consent, qtn-flags was 0x00000006
のようなメッセージが残っている。

対処法。xattr -d を使って com.apple.quarantine 拡張属性を取り除けば、一応動く。
$ xattr -d com.apple.quarantine hello
あとは0x4ビットだけを落とすという手もある。
$ xattr -w com.apple.quarantine '2;xxxxxxxx;アプリ名;' hello
スパースバンドルの token ファイルの拡張属性はマウント時に確認されるようだ。変更を有効にするにはマウントし直す必要がある。

いずれにせよ、この拡張属性の意味を正確には知らないので、これで大丈夫かは不明。Chrome や Safari を使ってネットから落としたファイルを見ると、0001とか0002とか0006とか0041とかいろんな値がついている。

実行ファイルに直接 com.apple.quarantine 拡張属性がついてる場合の情報はネットに多かったが、スパースバンドル内にある実行ファイルの実行可否がスパースバンドルの token ファイルの拡張属性に影響されると気づくのに時間がかかった。