トップ 追記

*Messages*

Search

書いてる人: しまだみつのぶ (aka. simm, saica)

最新情報URL: http://gouketsu.net/simm/d/

"8024402C"でたどり着かれた方はこちら: 「壁の内側からWindowsUpdateに失敗する


2011年08月19日 (金) [長年日記]

1 [Mac][Emacs] CocoaEmacs向けの設定

昨日の続き。インストールしたままだと、いろいろ不満点が残るので、~/.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との共存

基本的には上記設定を ~/.emacs.d/init.el に書いておけばいいのだが、上記設定は Cocoa Emacs のみで有効になってほしい。個人的に ~/.emacs.d はすべての環境で同じにしているため、上記設定をそのまま書くと、他の環境に影響を及ぼしてしまう。そこで、切り分けるため、上記設定は

(when (string-match "apple-darwin11" system-configuration)
  ;; ここに上記設定を書く
  )

のように記載。 system-configuration に ”apple-darwin11"が含まれる場合のみ有効にする。


2011年08月18日 (木) 手を出したからには [長年日記]

1 [Mac][Emacs] CocoaEmacsをインストール

せっかく広い画面とキーボードがついた端末が手に入ったので、Emacsがほしい。

とくに何もせずともターミナルでemacsを動かすことはできるのだが、Finderからファイルをドラッグしてもファイルを開いてくれないので、やはりGUI上で動いてほしい、ということで、インストールすることにした。

調べてみた

いろいろあるらしい。既成のバイナリを使ってもよかったのだが、一度は手を動かしておきたいというのもあり、自前でビルドして Cocoa Emacs をインストールすることにした。

手順

以下の手順でビルド、インストールした。今のところ、とくに問題なく動いてる模様。

  1. あらかじめXcodeをインストールしておく
  2. Emacsのソースを取得し、展開する
  3. inline-patchを取得し、あてる
  4. Lionでビルドを通すためのパッチを取得し、あてる
  5. フルスクリーンパッチを取得し、あてる
  6. ビルドする

以下、各項の詳細。Xcodeのインストールは省略。

Emacsのソースを取得し、展開する

本来ならbzrかgitでソースを引っ張ってくるべきなのかもしれないが、面倒くさいのでtarballを取得。

$ curl -O http://ftp.gnu.org/gnu/emacs/emacs-23.3a.tar.bz2
$ tar xvpjf emacs-23.3a.tar.bz2
inline-patchを取得し、あてる

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は必要ないのだが、あてておいて損もないだろうということで、あてた。

Lionでビルドを通すためのパッチを取得し、あてる

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は好きなところに動かしても問題なく動作するようなので、あとはご自由に。


2011年08月10日 (水) 手を出したために… [長年日記]

1 [LAN] Wifiルーター新調

昨日入手した MacBook Air が使用中のWifiルーターに接続できなかったので、急遽Wifiルーターを入手することに。

選定

偶然だが、先々週末、涼みに(おいこら)家電量販店めぐりをしていた際に、有線側がGigaのWifiルータを物色していた。 このルーター安いな、というのを見つけていたので、そのルーターを購入しようと、Y電機に向かう(普段何か買うときはJかKが多いのだが)。

すると、あらかじめ想定していた機種以外に、別の機種が同じ値段で出ていた。どちらにしようが悩んだが、初志貫徹で、当初想定していたAterm WR8370N(STモデル)にした。

設定

帰宅して設定したところ、とくに問題なく MacBook Air が接続できた。もちろん、IDEOSとGALAPAGOSの接続も問題なし。

そのうち試したい

どうやら、この機種、簡易NASになるらしいので、そのうち試してみる。 そうすれば、今Ubuntuで動いているファイルサーバーを置換できそう。


2011年08月09日 (火) ついに手を出す [長年日記]

1 [Mac] MacBook Air 入手

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バインドっぽく、なかなか違和感がなくてよろしい。


2011年01月13日 (木) [長年日記]

1 [Android][IDEOS] root化

あくまで手段なのだが、root化しておく。

以下の手順で行った。

  1. USBデバッグモードにする
  2. PCでz4rootを入手
  3. apkのインストーラをインストール
  4. インストーラでz4rootをインストール
  5. z4rootを実行

以下、詳細。

USBデバッグモードにする

adb接続の手順で、USBデバッグモードにしておく。

PCでz4rootを入手

PCでz4root.1.3.0.apkをダウンロードし、microSDにコピーする。 コピー先のパスはどこでもかまわない。

z4root自体がどこにあるかは、ぐぐれば出てくるので割愛する。

apkのインストーラをインストール

Android Market で "apk install" で探せば出てくるので、いずれかをインストール。 今回行った手順では、Easy Installer を使った。

インストーラでz4rootをインストール

Easy Installer を起動する。microSDにあるapkファイルの一覧が出てくるので、z4rootをチェックし、Install Selected Apps をタップ。あとは手順に従うと、インストールできる。

z4rootを実行

インストールしたz4rootを実行する。 Temporary RootあるいはPermanent Rootをタップすれば、rootになれる。

2 [Android][IDEOS] 日本語フォントの入れ替え

Androidはデフォルトで日本語が表示可能なのだが、漢字が中国語と共通になっているため、時々グリフに違和感がある。また、WAVE DASH - FULLWIDTH TILDE問題が顕在化し、「~」(U+FF5E)が豆腐になってしまう。

前者はともかく、後者は文字化けにしか見えないので、何とかしたい。

  1. 日本語フォントを準備
  2. IDEOSをroot化
  3. adbでシェルを起動
  4. microSDからシステムにコピー

の手順で行った。以下、詳細。

日本語フォントを準備

TrueTypeの日本語フォントを準備し、DroidSansJapanese.ttfというファイル名に変更し、microSDにコピーする 。 今回はM+ と IPAフォントの合成フォントで公開されているM+1P+IPAG circle を使った。

IDEOSをroot化

上記のとおり。

adbでシェルを起動

1/12の記述のとおり。

microSDからシステムにコピー

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 を参考にさせていただいた。


2011年01月12日 (水) [長年日記]

1 [Android][IDEOS] adb接続

Androidでいろいろしようとすると、やはりadb接続ぐらいはできるようにしておきたい。ということで、接続を試みる。

Windowsからの接続

  1. PCにAndroid SDKをインストールしておく
  2. PCとIDEOSをUSB接続する
  3. 「設定」→「アプリケーション」→「開発」
  4. 「USBデバッグ」をONにする
  5. ドライバのインストールウィザードが出てくるので、(Mobile Partner):\drivers\adb_driver からドライバをインストールするよう指定する

これで adb shell できるはずだが、なぜかできなかった。 ダメなときはやり直してみるのが鉄則なので

  1. 一旦ドライバをアンインストールして再度インストール
  2. PC、IDEOSとも再起動

してみたところ、adb shell できるようになった。

Ubuntu Linuxからの接続

基本的には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 を参考にさせていただき、設定を行った。

2 [Android][IDEOS] これでようやく

いろいろ試せる環境の準備がほぼできた。あとはroot化か。


2011年01月11日 (火) [長年日記]

1 [Android][IDEOS] 液晶保護フィルム

モバイル端末は、できれば液晶保護フィルムを取り付けておきたい。さもなくば、あとで液晶が傷だらけになって、悲しいことになるのが容易に想定できる。

そこで、IDEOSに使える液晶保護フィルム(できればOverlay Brilliant)がないかと探したのだが、現状において存在しない。これでは傷だらけになってしまう…

そこで周囲を見渡したところ、入手はしたものの使われずに放置されていたW-ZERO3[es]向けのOverlay Brilliantを発見。すでに1枚W-ZERO3[es]に取り付けてあるのだが、タップのカタが相当出ていて貼り替えようと購入したのだが、そのまま使われずに放置されていた物。モノは試しと、IDEOSの画面に当ててみたところ、なんと、サイズが表示面とぴったり。

メニューキーやホームキーの部分にかからないので少し残念ではあるが、表示面を傷つけずに済むので、当面はW-ZERO3[es]用をとりつけておく。

2 [Android][IDEOS] テザリング設定

Wi-FiテザリングとUSBテザリングができるらしいので、両方試す。

Wi-Fiテザリング

  1. 「設定」⇒「無線とネットワーク」を開く
  2. Wi-FiをOFFにしておく (この設定は、Androidデバイス自体がWi-Fiクライアントになる設定)
  3. 「テザリングとポータブルアクセスポイント」を選択する
  4. 「ポータブルWi-Fiアクセス」をONにする
  5. 「ポータブルWi-Fiアクセスポイントの設定」⇒「Wi-Fiアクセスポイントを設定」で適宜設定する

この手順で、とくに、はまることもなくできた。

USBテザリング(Windows XP)

Wi-Fiと比べて、ひと手間かかった。

Nexus One の例だが、http://juggly.cn/archives/4062.html に接続方法が書いてあったので、この記述のとおりにすると接続できた。ただし、1点異なる部分あり。

  1. tetherxp.infを用意しておく (異なる部分: 後述)
  2. IDEOSとPCをUSB接続する
  3. 「設定」⇒「無線とネットワーク」を開く
  4. Wi-FiをOFFにしておく (この設定は、Androidデバイス自体がWi-Fiクライアントになる設定)
  5. 「テザリングとポータブルアクセスポイント」を選択する
  6. 「USBテザリング」をONにする
  7. ドライバインストールのウィザードが起動するので、ファイル指定でtetherxp.infを指定し、次々と進んでいく

これで、ローカルエリア接続として、Androidが追加される。完了。

tetherxp.inf

上記手順において、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

USBテザリング(Ubuntu Linux)

この項目は1/12に書いているが、テザリングでまとめておいたほうが見通しがいいので、ここに書いておく。

LinuxでもUSBテザリングできるようなので、手元の Ubuntu Linux 10.10 で試してみる。Windowsと違って、とくに苦労せずに接続できた。

  1. IDEOSとPCをUSB接続する
  2. 「設定」⇒「無線とネットワーク」を開く
  3. Wi-FiをOFFにしておく (この設定は、Androidデバイス自体がWi-Fiクライアントになる設定)
  4. 「テザリングとポータブルアクセスポイント」を選択する
  5. 「USBテザリング」をONにする

2011年01月10日 (月) 2年ぶりの更新? [長年日記]

1 [goods] 最近入手したガジェット

  • SHARP GALAPAGOS EB-W51GJ (メディアタブレットのほう。SBMスマートフォンに非ず)
  • HUAWEI IDEOS (日本通信の10日分SIMつき)

GALAPAGOSは、昨年末に入手。立場上、入手するのは、ほとんど義務のようなものだったので入手したのだが、使い込んでいるうちに、常時通信できる環境が必要だ、という結論に達する。

そこで、エリアが広くて安価にテザリングできる環境ということで、IDEOSに手を出すことに。

その結果

Android関連の情報を漁ったりアプリを探してインストールしたり。本末転倒だな…

2 [Android][IDEOS] インストールしたアプリ

今のところ、すべてAndroid Marketからで、すべて無料アプリ。

  • FlickWnn
  • Graffiti
  • TweetDeck
  • radiko.jp
  • 鉄道携帯サイト

以下、各アプリについての経緯。

FlickWnn, Graffiti

FlickWnnとGraffitiは、日本語入力手段として、いろいろ試してみようとインストール。とりあえずはFlickWnnをメインにして、フリック入力に習熟する予定。

TweetDeck

TweetDeckは、もちろんTwitter用。標準のTwitterアプリでもよかったのだが、FlickWnn/Graffitiとも表示画面の半分以上を占領してしまって入力文字がまったく見えなかったため、別のを試してみようとインストール。1行ぐらいは見えるので、ずいぶん改善。しかし、もっと見通しのがいいのがあればそちらのほうがいいので、いろいろ試してみる予定。

radiko.jp

radiko.jpも説明不要だと思われるので省略。通勤途中にradikoがまともに使えるか試してみるためにインストール。

鉄道携帯サイト

Android環境でWeb関連がすべてまかなえるのであれば、ガラケーのパケット定額を解約できる。その条件として、個人的に欠かせないのは、近鉄特急のチケットレス予約。まずはブラウザでチケットレス予約サイトを開いたが、PCブラウザと扱われたのか、表示が1画面に収まらない。これではまともに使えん…

ということで、何とかならんのかと思い、調べたところ、近鉄の携帯向けサイトが見られるAndroidアプリが「鉄道携帯サイト」という名前でAndroid Marketにあるらしいことが判明。

早速インストールしたところ、携帯で近鉄のサイトを表示したときとほぼ同じ画面が出てきた。User-Agentを変更してブラウザを起動してるのかな、これ。何はともあれ、すばらしい。これでガラケーのパケット定額を解約することができる。


2009年01月05日 (月) [長年日記]

1 [Linux] Xubuntu で GW-US300MiniS を使えるようにする

自宅環境の Xubuntu で IEEE802.11n が使用できるようにしたい。 ということで、手元にあった PlanexGW-US300MiniS を使えるようにしてみた。

やったこと

いろいろ調べて試したところ、

にある情報で、手元の環境で成功した。具体的には、以下のとおり。

  1. ドライバのソースをダウンロードし、展開する
  2. 展開したドライバのソースツリーにある config.mk と rt2870.h を編集
  3. コンパイル、インストール
  4. リブート
  5. NetworkManager で無線LANの接続に必要な設定を行う (詳細は割愛)

以下、詳細。

ダウンロード

RalinkのLinuxサポートページ に、ドライバのソースがある。この中にある RT2870USB(RT2870/RT2770) のドライバをダウンロードし、

tar xvjf 2008_0925_RT2870_Linux_STA_v1.4.0.0.tar.bz2

で展開する。

rt2870.h の編集

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行を追加する。

config.mk の編集

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日現在の情報であり、ご覧になられている時点では、情報が古くなっている可能性があります。ご了承ください。


2008年07月18日 (金) [長年日記]

1 [Postfix] 外部からroot宛のメールを遮断したい

外部から届くroot宛のメールがspamばっかりなので、遮断することにした。

Postfix クライアント/サーバ/他ごとのアクセス制御を参考にしつつ、以下のような設定にして様子を見ることに。

/etc/postfix/main.cf

smtpd_recipient_restrictions = \
 check_recipient_access hash:/etc/postfix/recipient_access,\
 permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

/etc/postfix/recipient_access

root@example.org   permit_mynetworks,reject

このファイルを作成し、

# postmap /etc/postfix/recipient_access

を実行、postfixを再起動。

7/19 追記

ログを見たところ、外部からのroot宛のメールはrejectされている模様。 ローカルのroot宛に投げられる毎日のログメールは届いているので、 現状では所望の動作になっているらしい。


Information

最近のツッコミ(敬称略)

更新情報取得方法

*Messages* の更新情報取得には、antenna.lirs もしくは index.rdfをご利用ください。 豪傑アンテナLIRSからも取得可能です。