2009年1月31日土曜日

GNU screen について

■ GNU screen とは

GNU screen は、仮想端末管理ソフトです。CUI で作業をする人は、使って損は無いソフトだと思います。
私は、これを使い始めて 7 年ぐらい経ちました。今では、これが無いと仕事になりません。
GUI に慣れた人たちに勧めると、「ふ~ん、それで?」みたいな反応になりますが…。(^^;
これを使うと何がうれしいかと言うと、1 個の端末ウインドウ内で、複数の端末を仮想的に起動し、キー操作で切り替えることができるようになります。端末ウィンドウを複数起動しなくて良くなるため、画面がゴチャゴチャせずに済みます。
リモートでログインした先でこれ起動すると、1 個のターミナル内で複数のターミナルが使用できます。
あとはキー操作のみで、コピー&ペースト、画面スクロール、画面分割、ログ取得等々できるので、使いこなせば効率的に作業ができるようになります。
そのほかの説明は、"screenのススメ" とかが詳しいので、そちらを参照してください。
Google で検索するときは "GNU screen" で検索してください。"screen" だけだと、一般的な名称すぎて、いろいろ引っかかってしまいます (たぶん、これが普及しない原因!?)。

■ エスケープキー変更

screen を操作するときは、必ずエスケープキーを押す必要があるのですが、デフォルトが Ctrl-a になっていて、このままだと便利ではありません (Ctrl-a は「行頭へ移動」ですよね)。
エスケープキーは設定ファイル ~/.screenrc で変更することができます。
私のお薦めは、Ctrl-t です ( toggle は使わないので)。 Ctrl-z 派も結構いるようです。

$ vi ~/.screenrc
escape ^Tt

■ screen の起動

screen を起動するには、以下のようにします。

$ screen

良く使うので、.bashrc とかに alias 設定をしておくと良いです。(sc で起動、scx でアタッチ)

$ vi .bashrc
alias sc='screen'

function scx () {
    screen -x $1
}

■ .screenrc 設定例

私が育ててきた .screenrc を貼り付けておきます。

escape ^Tt
#termcap kterm hs@
#terminfo kterm hs@
termcap  xterm* 'AF=\E[3%dm:AB=\E[4%dm'
terminfo xterm* 'AF=\E[3%p1%dm:AB=\E[4%p1%dm'
termcap  kterm* 'AF=\E[3%dm:AB=\E[4%dm'
terminfo kterm* 'AF=\E[3%p1%dm:AB=\E[4%p1%dm'
termcapinfo kterm 'hs:ts=\E[?2S\E[?E\E[?%i%dT:fs=\E[?F:es:ds=\E[?E'
termcap  vt100 'AF=\E[3%dm:AB=\E[4%dm'
terminfo vt100* 'AF=\E[3%p1%dm:AB=\E[4%p1%dm'
terminfo cygwin KJ=SJIS
termcapinfo cygwin KJ=SJIS
defencoding UTF-8

termcap  facit|vt100|xterm LP:G0
terminfo facit|vt100|xterm LP:G0

autodetach on
startup_message off
shell /bin/bash

defhstatus "^En:^Et"
defscrollback 9999
hardstatus alwayslastline "%w"

hardcopydir $HOME/.screen
hardcopy_append on

## audible bell
#vbell_msg '%x'
vbell off

## bell on hide window
bell "Bell in window %."
## activitiy on hide window
activity "Activity in window %."

bind 'd' setenv DISPLAY
#bind w windowlist -b
bind ^p paste
bind  p paste
bind ^h prev
bind  k kill

#kanji euc
#defkanji euc

#markkeys 'h=^B:l=^F:$=^E:^U=^Z:^D=^V'

#screen -t root 1 
screen -t bash 0 
#screen -t bash 1 
#screen -t EMACS 0 emacs -nw

multiuser on

■ よく使う screen コマンドリスト

エスケープキーは Ctrl-t、上記 .screenrc を使った場合

コマンド説明
Ctrl-t Ctrl-c新しい端末を生成
Ctrl-t Ctrl-n次の端末へ
Ctrl-t Ctrl-h前の端末へ
Ctrl-t Ctrl-t端末をトグルで切り替え
Ctrl-t k端末を削除
Ctrl-t Ctrl-dscreen をデタッチ
Ctrl-t [コピーモードへ
・vi のカーソル移動キーバインドで移動
・space で範囲選択
・ESC でコピーモードから戻る
Ctrl-t ]ペースト
Ctrl-t Sウィンドウ分割
Ctrl-t Tab分割された他のウインドウへのカーソル移動
Ctrl-t Qウィンドウ分割解除
Ctrl-t Hログ取得 (~/screenlog.* として保存される)
Ctrl-t Aタイトル名変更

2009年1月30日金曜日

RPM DB 再構築コマンド

■ RPM DB 再構築コマンド

Fedora を使っていると、たまに RPM DB が壊れることがある。
復旧するには、以下のコマンドを実行する。

# rpm --rebuild

2009年1月29日木曜日

全パーティション情報を表示する (sfdisk)

■ 全パーティション情報を表示するコマンド (sfdisk)

PC に接続されている HDD の全パーティション情報を表示するコマンド。
ちなみに私の環境では /dev/sda が HDD、/dev/sdb が microSD (USB)。
このコマンドを知るまでは、fdisk 叩きまくってました。

# sfdisk -l

ディスク /dev/sda: シリンダ数 12161、ヘッド数 255、63 セクタ/トラック
ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+     12      13-    104391   83  Linux
/dev/sda2         13     143     131    1052257+  82  Linux swap / Solaris
/dev/sda3        144    7194    7051   56637157+  83  Linux
/dev/sda4       7195   12160    4966   39889395   83  Linux

ディスク /dev/sdb: シリンダ数 980、ヘッド数 255、63 セクタ/トラック
ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0+    123     124-    995998+   b  W95 FAT32
/dev/sdb2   *    124     857     734    5895855   83  Linux
/dev/sdb3        858     979     122     979965   82  Linux swap / Solaris
/dev/sdb4          0       -       0          0    0  空

2009年1月12日月曜日

Firefox アドオンについて

■ 必ずインストールする Firefox アドオン

Google chrome がリリースされてからしばらく経つが、アドオン未対応なので、
いまいち Firefox から移行できない。確かに、動作は速いのだが…。
さて、今回は Firefox を使うときに必ずインストールするアドオンについてまとめておく。

現在、Ubuntu で使用している Firefox のバージョンは 3.0.5。

アドオン名説明
Auto Pager自動的に次のページを読み込む
Tab Mix Plusタブ機能を拡張
All-in-One Sidebarサイドバーを拡張
All-in-One Gesturesマウスジェスチャーを実現
Speed Dialスピードダイアル
Xmarks Bookmark and Password Sync複数の端末でブックマークを同期 (オプションでパスワードも)
Google toolbarFirefox Ver.5.0 以降サポートされないので、代替機能で実現
まさおのブログ (表): Firefox Google toolbar 代替
Chaika2ch ビューア
アルク(英和&和英辞書)用検索プラグイン検索ボックスにアルクを追加
Drag & DropZonesドラッグ&ドロップで検索
KeySnailEmacs キーバインドに変更

■ 必ずとまではいかないけど、便利なアドオン

アドオン名説明
IE Tab PlusFirefox のタブの中で IE を起動する
IE Viewリンクを IE で表示する
aguse.jp検索バーに aguse.jp のURL調査を追加
Unofficial Google Translate選択範囲を翻訳 (範囲選択の後、Alt+左クリック)
Page Hacker現在開いているページを編集 ( Ctrl + F2 )

■ 2010/07/08 内容を更新
■ 2010/12/12 内容を更新 (Chaika)
■ 2010/12/15 内容を更新 (Page Hacker)
■ 2011/02/20 内容を更新 (IE Tab Plus)
■ 2012/02/18 Google toolbar の代替機能に関するリンクを追加
● Firefox, add-on, addon, アドオン

2009年1月9日金曜日

FON La Fonera (FON2200) 設定メモ

La Fonera を直接 PC に接続して設定する方法についてメモしておく。
(IP アドレスをよく忘れてしまう)

■ 2009/01/09 現在のファームウェアのバージョン

0.7.2 r3

■ La Fonera と PC をイーサケーブルで直接接続する

(Auto MDI 対応なので、ストレートケーブルでも OK)。

■ PC の IP アドレスを設定する。

La Fonera の IP アドレスは 169.254.255.1/24 となっているので、
169.254.255.2/24 に設定する。

■ ブラウザで http://169.254.255.1/ に接続する

あとは画面に従って設定すれば良い。

2009年1月8日木曜日

apt 関連まとめ

よく使う apt 関連コマンドをまとめる。

コマンド説明
# apt-get updateサーバからパッケージリストを取得する
# apt-get install [パッケージ名]パッケージをインストールする
# apt-cache search [キーワード]インストール可能なパッケージを検索する
# apt-get upgradeインストールされているパッケージを更新する
# apt-get remove [パッケージ名]パッケージをアンインストールする
# apt-get autoremove依存関係で不要になったパッケージを削除する

2009年1月7日水曜日

Cygwin で tree コマンドをビルド

Cygwin に tree コマンドが無かったので、ソースコードからビルドして
インストールしたので、メモを残しておく。

Cygwin のシェルから Windows の tree.com コマンドを実行 (.com まで指定する必要あり)
する手もあるのだが、階層指定はできないので、ソースコードからビルドする。

まず、以下のサイトからソースコードをダウンロードする

ftp://mama.indstate.edu/linux/tree/

ソースコードを展開する。

$ tar zxvf tree-1.5.2.1.tgz

Makefile を編集。

$ cd tree-1.5.2.1
$ vi Makefile
  # Linux defaults: の下記 2 行をコメントアウト
  #CFLAGS=-O2 -Wall -fomit-frame-pointer -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
  #LDFLAGS=-s

  # Uncomment for Cygwin: の 4 行のコメントを外す 
  CFLAGS=-O2 -Wall -fomit-frame-pointer -DCYGWIN
  LDFLAGS=-s
  TREE_DEST=tree.exe
  XOBJS=strverscmp.o

ビルド&インストール。

$ make
$ make install

日本語ファイル名が化けてしまうようだ。う~ん。

2009年1月1日木曜日

Windows で Firefox Portable Edition を試す

USB (microSD) ブート Ubuntu を実家のノート PC で使おうと思ったら、
なんと FMV-BIBLO NB18D/L は USB ブートできないようだ。
ちょっと古すぎるのか? (2003 年購入)

仕方ないので、microSD に設定しておいた Windows 用領域 1GB に、
Mozilla Firefox, Portable Edition をインストール。

インストール方法は簡単で、インストーラーをダウンロードして実行するだけ。
インストールするフォルダを microSD にすれば OK。
同じフォルダに設定、cookie 等も保存され、PC の ハードディスクには影響を与えない。
別のフォルダにもう 1 個インストールすれば、ユーザ毎に環境を分ける事もできるので、
結構便利。アドオン等も普通にインストールできる。

ちょっと使ったあとで使用容量を調べてみたところ、50MB 程度だった。
この環境はこのまま残しておこう。