昨日の続き。インストールしたままだと、いろいろ不満点が残るので、~/.emacs.d/init.el にて設定を行う。
13インチのMBAだと、若干小さめのフレームが開く。そこで、サイズを変更。
(add-to-list 'default-frame-alist '(width . 120)) (add-to-list 'default-frame-alist '(height . 50)) (add-to-list 'initial-frame-alist '(width . 120)) (add-to-list 'initial-frame-alist '(height . 50))
default-frame-alistとinitial-frame-alistに、widthとheightを追加。
インストールしたままでは、ファイルをドラッグすると、ファイルの内容がバッファに読み込まれる。しかし、個人的な感覚としては、ドラッグすると、バッファを新調してそのファイルを開いてほしいので、
あたりを参考に、設定を変更。
(define-key global-map [ns-drag-file] 'ns-find-file) (setq ns-pop-up-frames nil)
基本的にはglobal-mapの設定をすればいいのだが、それだけでは新しいフレームを作ってくれるようなので、ns-pop-up-framesをnilにして、ドラッグ先のフレームで開くようにした。
やはり、ANK:日本語のフォント幅は1:2になっててほしい。ということで、設定する。
先人たちが試されているようで、探せばいろいろ見つかったので、試してみた。新規フレームを作るとうれしくない場合が散見される中、
の設定例(2)の方法だと新規フレームでも問題なさそうなので、ほぼそのまま使わせていただく。
(let* ((size 12) ; size of ASCII font (asciifont "Menlo") ; ASCII font name (jpfont "Hiragino Maru Gothic ProN") ; Japanese font name (fontspec (font-spec :family asciifont)) (jp-fontspec (font-spec :family jpfont))) (set-face-attribute 'default nil :family asciifont :height (* size 10)) (set-fontset-font nil 'japanese-jisx0213.2004-1 jp-fontspec) (set-fontset-font nil 'japanese-jisx0213-2 jp-fontspec) (set-fontset-font nil 'katakana-jisx0201 jp-fontspec) (set-fontset-font nil '(#x0080 . #x024F) fontspec) ; Latin (set-fontset-font nil '(#x0370 . #x03FF) fontspec) ; Greece (dolist (elt '(("^-apple-hiragino.*" . 1.2) (".*osaka-bold.*" . 1.2) (".*osaka-medium.*" . 1.2) (".*courier-bold-.*-mac-roman" . 1.0) (".*monaco cy-bold-.*-mac-cyrillic" . 0.9) (".*monaco-bold-.*-mac-roman" . 0.9))) (add-to-list 'face-font-rescale-alist elt))))
基本的には上記設定を ~/.emacs.d/init.el に書いておけばいいのだが、上記設定は Cocoa Emacs のみで有効になってほしい。個人的に ~/.emacs.d はすべての環境で同じにしているため、上記設定をそのまま書くと、他の環境に影響を及ぼしてしまう。そこで、切り分けるため、上記設定は
(when (string-match "apple-darwin11" system-configuration) ;; ここに上記設定を書く )
のように記載。 system-configuration に ”apple-darwin11"が含まれる場合のみ有効にする。
せっかく広い画面とキーボードがついた端末が手に入ったので、Emacsがほしい。
とくに何もせずともターミナルでemacsを動かすことはできるのだが、Finderからファイルをドラッグしてもファイルを開いてくれないので、やはりGUI上で動いてほしい、ということで、インストールすることにした。
いろいろあるらしい。既成のバイナリを使ってもよかったのだが、一度は手を動かしておきたいというのもあり、自前でビルドして Cocoa Emacs をインストールすることにした。
以下の手順でビルド、インストールした。今のところ、とくに問題なく動いてる模様。
以下、各項の詳細。Xcodeのインストールは省略。
本来ならbzrかgitでソースを引っ張ってくるべきなのかもしれないが、面倒くさいのでtarballを取得。
$ curl -O http://ftp.gnu.org/gnu/emacs/emacs-23.3a.tar.bz2 $ tar xvpjf emacs-23.3a.tar.bz2
IMEを使えるようにするため、 Emacs23 (Cocoa Emacs) 入門から中毒まで とか InlinePatchForCocoaEmacs あたりを参考にして、inline-patchをあてる。
$ svn co http://svn.sourceforge.jp/svnroot/macemacsjp/inline_patch/trunk $ cd emacs-23.3 $ patch -p0 < ../inline_patch-svn/emacs-inline.patch $ patch -p0 < ../inline_patch-svn/font.patch $ patch -p0 < ../inline_patch-svn/xcode4.patch $ cd ..
まあ、SKKを使えばIMEは必要ないのだが、あてておいて損もないだろうということで、あてた。
inline-patchだけでは、Lionでビルドが通らない。どうやらdumpに失敗するらしい。ということで、 Lionに Cocoa Emacs をインストール を参考に、パッチを取得し、あてる。
$ curl -O https://trac.macports.org/raw-attachment/ticket/30268/patch-no-pie.diff $ cd emacs-23.3 $ patch -p0 < ../patch-no-pie.diff $ cd ..
せっかくなので、Lionの特徴のひとつ、フルスクリーンモードにするためのパッチもあてておく。 Emacs を Lion のフルスクリーン表示に対応させてみたのパッチをそのまま使わせていただいた。
$ curl -O https://github.com/downloads/typester/emacs/emacs-23-lion-fullscreen-test.patch $ cd emacs-23.3 $ patch -p1 < ../emacs-23-lion-fullscreen-test.patch $ cd ..
あとは、configureしてmakeしてmake installするだけ。
$ cd emacs-23.3 $ ./configure --with-ns --without-x $ make $ make install
configure の際、--with-nsをつけることでCocoa向けになるらしい。 Xは不要なので、--without-xをつけておく。
ビルド完了時点で
$ open nextstep/Emacs.app
とすれば実行できる。FinderからEmacs.appをダブルクリックしてもかまわない。
Emacs.appは好きなところに動かしても問題なく動作するようなので、あとはご自由に。
昨日入手した MacBook Air が使用中のWifiルーターに接続できなかったので、急遽Wifiルーターを入手することに。
偶然だが、先々週末、涼みに(おいこら)家電量販店めぐりをしていた際に、有線側がGigaのWifiルータを物色していた。 このルーター安いな、というのを見つけていたので、そのルーターを購入しようと、Y電機に向かう(普段何か買うときはJかKが多いのだが)。
すると、あらかじめ想定していた機種以外に、別の機種が同じ値段で出ていた。どちらにしようが悩んだが、初志貫徹で、当初想定していたAterm WR8370N(STモデル)にした。
帰宅して設定したところ、とくに問題なく MacBook Air が接続できた。もちろん、IDEOSとGALAPAGOSの接続も問題なし。
どうやら、この機種、簡易NASになるらしいので、そのうち試してみる。 そうすれば、今Ubuntuで動いているファイルサーバーを置換できそう。
8/2にポチった MacBook Air が届いた。 13インチで、キーボードはUS配列。
今までメインPCとして使っていた、ずいぶん年季の入った解像度1400x1050のノートPCのビデオ回路まわりがやられてしまい、外部ディスプレイを接続してもノイズがのってまともに使えなくなってしまったため、代替のPCとして入手。
ちょうど代替を検討していたところ、Lionと新型MBAのニュースが出て、いろんな人が手を出していたので、便乗してみた。
もちろん、メインPCとして使う予定。
Wifiでネットに接続できん。どうやら11n draftなルーターが原因らしい…
IDEOS経由では、USBテザリングできず。Wifiテザリング経由で接続できたが、3G通信になってしまうため、いろいろダウンロードするには、まともに使えん。
ということで、有線LANアダプターを用意するか、ルーターを新調するしかなさそう。
この項目を書いているのは8/18で、実際にはもう1週間以上経っている。 ようやく環境が落ち着き、操作にも慣れてきた。
Safariとかの編集画面のCtrlキーの扱いがEmacsバインドっぽく、なかなか違和感がなくてよろしい。
あくまで手段なのだが、root化しておく。
以下の手順で行った。
以下、詳細。
adb接続の手順で、USBデバッグモードにしておく。
PCでz4root.1.3.0.apkをダウンロードし、microSDにコピーする。 コピー先のパスはどこでもかまわない。
z4root自体がどこにあるかは、ぐぐれば出てくるので割愛する。
Android Market で "apk install" で探せば出てくるので、いずれかをインストール。 今回行った手順では、Easy Installer を使った。
Easy Installer を起動する。microSDにあるapkファイルの一覧が出てくるので、z4rootをチェックし、Install Selected Apps をタップ。あとは手順に従うと、インストールできる。
インストールしたz4rootを実行する。 Temporary RootあるいはPermanent Rootをタップすれば、rootになれる。
Androidはデフォルトで日本語が表示可能なのだが、漢字が中国語と共通になっているため、時々グリフに違和感がある。また、WAVE DASH - FULLWIDTH TILDE問題が顕在化し、「~」(U+FF5E)が豆腐になってしまう。
前者はともかく、後者は文字化けにしか見えないので、何とかしたい。
の手順で行った。以下、詳細。
TrueTypeの日本語フォントを準備し、DroidSansJapanese.ttfというファイル名に変更し、microSDにコピーする 。 今回はM+ と IPAフォントの合成フォントで公開されているM+1P+IPAG circle を使った。
上記のとおり。
1/12の記述のとおり。
adb shell 上で、以下のようにすれば、日本語フォントをコピーできる。
$ su # busybox cp -p /sdcard/DroidSansJapanese.ttf /system/fonts # chmod 644 /system/fonts/DroidSansJapanese.ttf # exit $ exit
日本語フォントのコピー後、IDEOSを再起動すれば、日本語フォントが変更される。
なお、root化およびフォント入れ替えは http://utai.jp/blog/index.php?UID=1293885140 を参考にさせていただいた。
Androidでいろいろしようとすると、やはりadb接続ぐらいはできるようにしておきたい。ということで、接続を試みる。
これで adb shell できるはずだが、なぜかできなかった。 ダメなときはやり直してみるのが鉄則なので
してみたところ、adb shell できるようになった。
基本的にはWindowsと同じ方法だが、USBドライバをインストールするかわりに、/etc/udev/rules.d/51-android.rules を作っておく必要がある。内容は以下のとおり。
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
12d1はHuaweiのVenderID。
上記手順およびVenderIDの一覧は http://developer.android.com/guide/developing/device.html に記載がある。
上記設定後、一度 sudo adb devices する。
List of devices attached FFFF0000FFFF device
のように、デバイスのID(?)が表示されればOK。これ以降はsudoする必要がなく、一般ユーザーでadb shell等を実行することができる。
なお、このへんの設定は http://d.hatena.ne.jp/emergent/20100228/1267334766 を参考にさせていただき、設定を行った。
モバイル端末は、できれば液晶保護フィルムを取り付けておきたい。さもなくば、あとで液晶が傷だらけになって、悲しいことになるのが容易に想定できる。
そこで、IDEOSに使える液晶保護フィルム(できればOverlay Brilliant)がないかと探したのだが、現状において存在しない。これでは傷だらけになってしまう…
そこで周囲を見渡したところ、入手はしたものの使われずに放置されていたW-ZERO3[es]向けのOverlay Brilliantを発見。すでに1枚W-ZERO3[es]に取り付けてあるのだが、タップのカタが相当出ていて貼り替えようと購入したのだが、そのまま使われずに放置されていた物。モノは試しと、IDEOSの画面に当ててみたところ、なんと、サイズが表示面とぴったり。
メニューキーやホームキーの部分にかからないので少し残念ではあるが、表示面を傷つけずに済むので、当面はW-ZERO3[es]用をとりつけておく。
Wi-FiテザリングとUSBテザリングができるらしいので、両方試す。
この手順で、とくに、はまることもなくできた。
Wi-Fiと比べて、ひと手間かかった。
Nexus One の例だが、http://juggly.cn/archives/4062.html に接続方法が書いてあったので、この記述のとおりにすると接続できた。ただし、1点異なる部分あり。
これで、ローカルエリア接続として、Androidが追加される。完了。
上記手順において、tetherxp.infを用意しておく部分、Nexus One の例とは若干異なる。android.comにあるtetherxp.infには、IDEOSのデバイス情報が書かれていない(らしい)ので、情報を追加する必要がある。この情報は http://wikiwiki.jp/ideos8150/?USB%A5%C6%A5%B6%A5%EA%A5%F3%A5%B0 に記載があるので、このとおりにする。情報保全のため、追加内容をそのまま転記しておく。
; Huawei Ideos with/without adb %AndroidDevice% = RNDIS, USB\VID_12D1&PID_1039 ; Huawei Ideos with/without adb %AndroidDevice% = RNDIS.NT.5.1, USB\VID_12D1&PID_1039
この項目は1/12に書いているが、テザリングでまとめておいたほうが見通しがいいので、ここに書いておく。
LinuxでもUSBテザリングできるようなので、手元の Ubuntu Linux 10.10 で試してみる。Windowsと違って、とくに苦労せずに接続できた。
GALAPAGOSは、昨年末に入手。立場上、入手するのは、ほとんど義務のようなものだったので入手したのだが、使い込んでいるうちに、常時通信できる環境が必要だ、という結論に達する。
そこで、エリアが広くて安価にテザリングできる環境ということで、IDEOSに手を出すことに。
Android関連の情報を漁ったりアプリを探してインストールしたり。本末転倒だな…
今のところ、すべてAndroid Marketからで、すべて無料アプリ。
以下、各アプリについての経緯。
FlickWnnとGraffitiは、日本語入力手段として、いろいろ試してみようとインストール。とりあえずはFlickWnnをメインにして、フリック入力に習熟する予定。
TweetDeckは、もちろんTwitter用。標準のTwitterアプリでもよかったのだが、FlickWnn/Graffitiとも表示画面の半分以上を占領してしまって入力文字がまったく見えなかったため、別のを試してみようとインストール。1行ぐらいは見えるので、ずいぶん改善。しかし、もっと見通しのがいいのがあればそちらのほうがいいので、いろいろ試してみる予定。
radiko.jpも説明不要だと思われるので省略。通勤途中にradikoがまともに使えるか試してみるためにインストール。
Android環境でWeb関連がすべてまかなえるのであれば、ガラケーのパケット定額を解約できる。その条件として、個人的に欠かせないのは、近鉄特急のチケットレス予約。まずはブラウザでチケットレス予約サイトを開いたが、PCブラウザと扱われたのか、表示が1画面に収まらない。これではまともに使えん…
ということで、何とかならんのかと思い、調べたところ、近鉄の携帯向けサイトが見られるAndroidアプリが「鉄道携帯サイト」という名前でAndroid Marketにあるらしいことが判明。
早速インストールしたところ、携帯で近鉄のサイトを表示したときとほぼ同じ画面が出てきた。User-Agentを変更してブラウザを起動してるのかな、これ。何はともあれ、すばらしい。これでガラケーのパケット定額を解約することができる。
自宅環境の Xubuntu で IEEE802.11n が使用できるようにしたい。 ということで、手元にあった Planex の GW-US300MiniS を使えるようにしてみた。
いろいろ調べて試したところ、
にある情報で、手元の環境で成功した。具体的には、以下のとおり。
以下、詳細。
RalinkのLinuxサポートページ に、ドライバのソースがある。この中にある RT2870USB(RT2870/RT2770) のドライバをダウンロードし、
tar xvjf 2008_0925_RT2870_Linux_STA_v1.4.0.0.tar.bz2
で展開する。
2008_0925_RT2870_Linux_STA_v1.4.0.0.tar.bz2 そのままでは、GW-US300MiniS が認識できない。そこで、認識できるよう、include/rt2870.h の
{USB_DEVICE(0x2019,0xED06)}, /* Planex Communications, Inc. */ \ {USB_DEVICE(0x2019,0xAB25)}, /* Planex Communications, Inc. RT3070 */ \
の間に
{USB_DEVICE(0x2019,0xAB24)}, /* Planex Communications, Inc. GW-US300MiniS */ \
の1行を追加する。
rt2870.h を編集すれば、OSは認識するようになる。しかし、これだけでは、Ubuntu/Xubuntu のデスクトップが使用するNetworkManagerは認識してくれない。そこで、os/linux.config.mk を編集する必要がある。具体的には
HAS_WPA_SUPPLICANT=n HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
を
HAS_WPA_SUPPLICANT=y HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
にすればよい。
シェル上で
sudo make sudo make install
とする。最初のmakeの時点で sudo をつけているのは、そのままではビルドエラーになってしまうため。ビルドしてできた rt2870sta.ko を /tftpboot にコピーするようになっているようで、これを解消するために /tftpboot に一般ユーザーの書き込み権限を与えておけば、sudo する必要ないかもしれない(他に何かroot権限が必要なものがあるかもしれない。そこまでは調査していない)。
この記述は、2009年1月5日現在の情報であり、ご覧になられている時点では、情報が古くなっている可能性があります。ご了承ください。
外部から届くroot宛のメールがspamばっかりなので、遮断することにした。
Postfix クライアント/サーバ/他ごとのアクセス制御を参考にしつつ、以下のような設定にして様子を見ることに。
smtpd_recipient_restrictions = \ check_recipient_access hash:/etc/postfix/recipient_access,\ permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
root@example.org permit_mynetworks,reject
このファイルを作成し、
# postmap /etc/postfix/recipient_access
を実行、postfixを再起動。
ログを見たところ、外部からのroot宛のメールはrejectされている模様。 ローカルのroot宛に投げられる毎日のログメールは届いているので、 現状では所望の動作になっているらしい。
*Messages* の更新情報取得には、antenna.lirs もしくは index.rdfをご利用ください。 豪傑アンテナ の LIRSからも取得可能です。