2009年12月29日火曜日

Emacs で改行コードに置換する

Emacs で、ある文字列を改行コードに置換したいときがあります。
^j に置換してやれば良いです。

M-x replace-string または M-%

そのあとで、

置換文字列
C-q C-j

● Emacs, Meadow, 置換, 改行コード

2009年12月19日土曜日

Ubuntu: ブート時にメッセージを表示させる

Ubuntu は、起動時にメッセージが表示されません。
カーネルコンフィグをいじった後に再起動して、うまく起動できなかったときに、何が起こってるのかがわかりません。
そんなときの対処法。

■ 参考リンク
http://blog.livedoor.jp/sunatomo01/

1. grub の設定を変更する。

/boot/grub/menu.lst を編集します。

# vi /boot/grub/menu.lst
(kernel オプションの quiet, splash を削除)

2. /etc/default/rcS を編集します。

# vi /etc/default/rcS
VERBOSE=yes に変更

● boot, ブート, ログ, log, メッセージ, 表示, kernel, カーネル, デバッグ, debug, 起動ログ

2009年12月18日金曜日

Ubuntu で kernel をソースコードからビルドする (make 編)

Ubuntu で、linux kernel をソースコードからビルドする場合、
make-kpkg を使うとパッケージとして管理できますが、
パッケージ管理しなくてもいいや、という時もあります。
例えば、kernel コンフィグの変更を試行錯誤したい場合とか。
(make-kpkg でやる場合って、全部ビルドし直しになりますよね?)

make-kpkg を使うやり方はこちら。
Ubuntu で kernel をソースコードからビルドする (make-kpkg 編)

1. kernel ソースを kernel.org からダウンロードします。

2. ダウンロードしたソースを展開します。

# cd /usr/src
# tar jxvf linux-2.6.30.tar.bz2

3. 今起動している kernel のコンフィグファイルを /boot/ ディレクトリからコピーします。

# cd linux-2.6.30/
# cp /boot/config-2.6.27-11-generic .config

4. makemenuconfig を実行します。

ここで設定を変えてもいいです。
(変えたいときだけ変える程度)

# make menuconfig

5. ビルドします。

# make bzImage modules modules_install install

6. initramfs イメージを作成します。

# mkinitramfs -o /boot/initrd.img-2.6.30 2.6.30

7. /boot/grub/menu.lst を編集します。

# vi /boot/grub/menu.lst
エントリーを追加

title           Ubuntu 8.04.3 LTS, kernel 2.6.30
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.30 root=UUID=**************************** ro
initrd          /boot/initrd.img-2.6.30
quiet

● make, bzImage, modules, modules_install, install, kernel, build, カーネル, ビルド, grub, menu.lst, mkinitramfs, initrd.img, 作成

2009年12月16日水曜日

Ubuntu: hwclock で RTC が更新できない場合の対処法

先日、気づいたのですが、NTPd を動かさないで PC を起動すると、時刻がずれてました。
どうも RTC に時刻が反映されていない様子。
hwclockfirst.sh と hwclock.sh を編集すると RTC に時刻が反映されます。

# vi /etc/init.d/hwclockfirst.sh
# vi /etc/init.d/hwclock.sh
共に、下記の部分を編集。
(変更前)
HWCLOCKPARS=
(変更後)
HWCLOCKPARS=--directisa

● hwclock, RTC, NTP, 反映, 設定, 同期, directisa, hwclockfirst.sh, hwclock.sh

2009年12月6日日曜日

Emacs で、最近開いたファイルを開けるようにする

Emacs で、最近開いたファイルを開けるようにする設定。

■ ~/.emacs に、下記を追加。

毎回、M-x recentf を打つのは面倒なので、C-x F に割り当てます。
C-x f は Fill Region とかぶるので、大文字 F。

;;; 最近開いたファイルを開く
(require 'recentf)
(global-set-key "\C-xF" 'recentf-open-files)

● meadow, 最近開いたファイル, 開く, recentf

Ubuntu の ssh 接続が遅い場合の解決方法

Ubuntu で ssh デーモン (sshd) を起動している端末に、DNS 登録 (または hosts に登録) されていない端末からアクセスすると、
ログインできるようになるまでに時間がかかります。
これは、sshd が、接続端末の DNS 解決をしようとして、解決できずにタイムアウトするのに時間がかかってしまうからです。
sshd の設定を変更して、DNS 解決しないようにしてやると、この問題は解決できます。

1. /etc/ssh/sshd_config を編集。

# vi /etc/ssh/sshd_config
(下記を追加する)
UseDNS no

2. sshd をリスタートします。

# /etc/init.d/ssh restart

● ssh, sshd, ログイン, 接続, 遅い, DNS, 逆引き, 名前解決

2009年11月22日日曜日

Windows Xp : inSSIDer で無線 LAN をスキャンする

最近、自宅の無線 LAN の調子が悪く、しょっちゅう切れるので、
無線 LAN の電波状況をスキャンしてみる。

フリーソフトが無いか調べてみたところ、MOONGIFT で inSSIDer というフリーソフトが紹介されていました。
http://www.moongift.jp/2008/07/inssider/

早速ダウンロードして実行。
見つかったアクセスポイントがリスト表示され、信号強度とチャンネルがグラフ表示されます。


ん? なんか多すぎないか!? 妙に電波強度の強いやつが何個か引っかかりました。
とりあえず、802.11a に待避。
こっちは空いているなぁ。でも、ちょっと遅くなった気が…。


goo スピードテスト で 6.48Mbps
有線 LAN にはできないし、PLC にした方がいいかなぁ。

● inSSIDer, 無線 LAN, スキャン, グラフ表示, 調子, 悪い, 切れる, 切断

2009年11月21日土曜日

Ubuntu kernel 2.6.31.x で Buffalo WLI-UC-GN を動かす

kernel 2.6.31 に変えてから、WLI-UC-GN のドライバをコンパイルするときに、下記のエラーが出るようになりました。

make[1]: Entering directory `/usr/src/linux-2.6.31.6'
 CC [M]  /home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.o
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c: In function 'RtmpOSNetDevAttach':
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1510: error: 'struct net_device' has no member named 'open'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1511: error: 'struct net_device' has no member named 'stop'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1512: error: 'struct net_device' has no member named 'hard_start_xmit'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1513: error: 'struct net_device' has no member named 'do_ioctl'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1519: error: 'struct net_device' has no member named 'get_stats'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1553: error: 'struct net_device' has no member named 'validate_addr'
make[2]: *** [/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.o] Error 1
make[1]: *** [_module_/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.31.6'
make: *** [LINUX] Error 2

パッチを当てるとコンパイルが通るようになります。

1. 下記の場所から最新ドライバをダウンロードする (RT3070USB(RT307x) を選択)

http://www.ralinktech.com/support.php?s=2

2. ダウンロードしたファイルを展開する。

$ tar jxvf 2009_1110_RT3070_Linux_STA_v2.1.2.0.tar.bz2

3. 下記の場所から rt3070-2.6.31-compile.patch.gz をダウンロードする

http://www.megaupload.com/?d=2NDDOFTR
(予備) http://lists.rpmfusion.org/pipermail/rpmfusion-commits/2009-August/006214.html
(予備) rt3070-2.6.31-compile.patch.gz

4. パッチを当てる

$ cd 2009_1110_RT3070_Linux_STA_v2.1.2.0/
$ gunzip -c ../rt3070-2.6.31-compile.patch.gz | patch -p1

5. os/linux/config.mk を編集する

$ vi os/linux/config.mk
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=n

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

を以下のように修正する (WPA_SUPPLICANT 関連オプションを ”y” に変更)

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

6. WLI-UC-GN を PC の USB ポートに挿入し、デバイス ID を調べる

$ lsusb
...
Bus 001 Device 003: ID 0411:015d MelCo., Inc.
...

7. 2009_1110_RT3070_Linux_STA_v2.1.2.0/os/linux/usb_main_dev.c を編集する

$ vi os/linux/usb_main_dev.c
struct usb_device_id rtusb_usb_id[] 
に以下を追加
{USB_DEVICE(0x0411,0x015d)}, /* Melco */

8. make & make install する。

# make
# make install

アクセス解析を見ていると、無線 LAN 関係は、困っている人が多いようだ。

● WLI-UC-GN, 2.6.31, error: 'struct net_device' has no member named 'open',

2009年10月31日土曜日

Ubuntu: gnome-terminal から mlterm に切り替える

gnome-terminal をやめて、mlterm を使うことにしました。
あと、mlterm のフォント設定を M+ (エムプラス) + IPA にします。

■参考リンク:
http://www10.atwiki.jp/shirayuu/pages/16.html#id_2a3aecde
http://ubulog.blogspot.com/2009/02/ubuntumlterm.html

1. apt-get で mlterm をインストールします。

# apt-get install mlterm mlterm-tools mlterm-im-scim

2. apt-get で M+ フォントをインストールします (これはいらないか。一応入れておく)。

# apt-get install xfonts-mplus
$ sudo xset fp rehash

3. M+ + IPA 合成フォントをダウンロードします (フリー)。

下記から、フォントをダウンロードします。
http://mix-mplus-ipa.sourceforge.jp/download.html

4. M+ + IPA 合成フォントをインストールします。

# mkdir -p /usr/share/fonts/truetype/mplusipa
# tar jxvf mixfont-mplus-ipa-TrueType-20060520p1.tar.bz2
# cd mixfont-mplus-ipa-TrueType-20060520p1/opfc-ModuleHP-1.1.1_withIPAFonts_and_Mplus/fonts
# cp *.ttf /usr/share/fonts/truetype/mplusipa
  (ttf ファイルをコピー)

# cd /usr/share/fonts/truetype/mplusipa/
# fc-cache -v  *.ttf
  (フォントキャッシュに登録)
# mkfontdir
  (fontdir を作成)
# xset fp rehash

5. mlterm の設定を行います。

mlterml の設定ファイルは ~/.mlterm ディレクトリにあります。

まずは、基本設定。背景=黒、文字=白 の設定です。

$ vi ~/.mlterm/main

fontsize = 12
input_method = scim
bg_color = black
tabsize = 4
scrollbar_mode = right
fg_color = white
line_space = 0
brightness = 100
gamma = 100
not_use_unicode_font = true
use_anti_alias = true

フォント設定。

$ vi ~/.mlterm/aafont

ISO8859_1=M+1VM+IPAG circle-iso8859-1:90;
ISO8859_1=M+1VM+IPAG circle-iso8859-1:100;
JISX0201_ROMAN=M+1VM+IPAG circle-iso10646-1:100;
JISX0201_KATA=M+1VM+IPAG circle-iso10646-1:100;
JISX0208_1983=M+1VM+IPAG circle-iso10646-1:100;
JISX0208_1990=M+1VM+IPAG circle-iso10646-1:100;
ISO10646_UCS2_1_BIWIDYH=M+1VM+IPAG circle-iso10646-1:100;
ISO10646_UCS2_1=M+1VM+IPAG circle-iso10646-1:100;
ISO10646_UCS4_1=M+1VM+IPAG circle-iso10646-1:100;
ISO10646_UCS4_1_BIWIDTH=M+1VM+IPAG circle-iso10646-1:100;

色設定。

$ vi ~/.mlterm/color

black=#000000
red=#cc0000
green=#4e9a06
yellow=#c4a000
blue=#3465a4
magenta=#75507b
cyan=#06989a
white=#ffffff
hl_black=#555753
hl_red=#ef2929
hl_green=#8ae234
hl_yellow=#fce94f
hl_blue=#729fcf
hl_magenta=#ad7fa8
hl_cyan=#34e2e2
hl_white=#eeeeec

● mlterm, mplus, M+, IPA, gnome-terminal, ターミナル

2009年10月28日水曜日

StructureT-Maker でフォルダリストを作る (Windows)

Windows でフォルダのツリー構造をテキストファイルや Excel で保存したいときがあります。
そんなときに使うのがこれです。

StructureT-Maker

ツリー構造をリスト化したいフォルダをドラッグするだけ。
他にも同様の機能を持ったソフトがあるのですが、今のところこれが一番良さそう。

Linux でやるときは、tree コマンドを使います。

● Structure T-Maker, ツリー, tree, Windows, Excel