
KNOPPIXではできなかったことが、Ubuntuでは実現してしまう。Ubuntuおそるべし。
Ubuntuで実家の無線LANルータにつながらなかったので、BUFFALOのAirStationの設定を修正した。
Thinkpad X40 2371-KJ1
Ubuntu 10.04.2 (/dev/sdb5)
NetworkManagerアプレット 0.8
BUFFALO WLI-CB-G300HP(無線LANカード)
BUFFALO WZR2-G300N ver.1.55(無線LANルータ)
AirStationツールがインストールされているWindowsパソコンからオンラインのAirStationSettings画面を開いた。しかし、http://192.168.11.1 にアクセスするだけなので、BUFFALO親機に接続していればLinuxパソコンでもできる。
無線セキュリティの認証が「WPA/WPA2 mixed mode-PSK」になっていたのを「WPA2-PSK」に変更して、[設定]をクリックした。しばらくすると変更が反映される。こうして、Ubuntuの無線LANがつながるようになった。
この解決方法は「Ubuntu日本語フォーラム」でみつかった。Ubuntuは、ディストリビューション自体の完成度も高そうだが、フォーラムサイトに活気があってブログ記事も多いので、問題がおきても解決法がみつけやすい。なにしろユーザが多いので同じ問題で悩んでいる人がたくさんいて、それを解決してくれる人もつねにいるのだ。
同じNetworkManagerアプレットでもKNOPPIXは接続できるので、64桁のパスワードを打ちまちがえるなどの初歩的なミスだろうと思って、UbuntuのNetworkManagerの設定を見直したりやり直したりするのにだいぶ時間をかけてしまった。はじめからUbuntuの無線接続の問題を検索すればよかった。

WPA2の認証設定を直したついでに、AOSSを無効にした。「AOSS使用中のため、Key更新間隔以外の設定値は、保存されますが使用されません」というメッセージが出ていたので、その方がいいのかと思ったからだ。「WPA/WPA2 mixed mode-PSK」から「WPA2-PSK」への変更はAOSSを無効にしなくても反映されたので、Ubuntuの無線LANを接続できるようにするという観点からは、AOSSを無効にする必要はない。
AOSSを無効にしたら、16進数化された64桁のパスワードを入れなくても、自分で決めた8〜63桁の事前共有キー(PSK)で接続できるようになった。
AOSSを無効にするには、「無線設定」の「AOSS」画面で[AOSS削除]ボタンをクリックする。無線接続がリセットされるので、BUFFALO親機に有線接続しているパソコンからやった方がよい。AOSSを削除したら、無線接続しているパソコンやOSをつなぎ直す。ノートパソコン2台にOSが4つなので、たいして面倒なことではなかった。
フレームバッファ用端末エミューレータFbTermで、日本語の表示と入力、マウスのコピー&ペースト
Thinkpad X40 2371-KJ1
Intel 82852/82855 GM/GME Graphics Controller
KNOPPIX 6.2 (X40 2ndHDD)
lang=ja vga=791 (/boot/grub/menu.lst)
LANG=”ja_JP.UTF-8″
LANGUAGE=”ja”
LC_MESSAGES=”ja_JP.UTF-8″ (/etc/environment, /etc/default/locale)
fbterm 1.1-1
uim-fep 1:1.5.3-1
uim-anthy 1:1.5.3-1
xfonts-unifont 1:5.1.20080914-1 PCF version of the GNU Unifont
gpm 1.20.4-3.1
フレームバッファ
ffbtermにはフレームバッファが必要である。わたしにはフレームバッファのことがほとんどわからない。それでもフレームバッファが作動するかどうか、最低限の確認をしておこう。
$ ls /proc/fb
/proc/fb
/proc/fb が表示されれば、カーネルの問題はないらしい。フレームバッファが作動していれば、コンソールが高解像度で表示できる。/boot/grub/menu.lst (GRUB)や/boot/grub/grub.cfg (GRUB2)などの起動メニューに「vga=xxx」というオプションがついていればだいじょうぶだろう。つまり、よほど年代物のパソコンでなければきっとだいじょうぶなはずだ。
fbterm 1.1-1
fbtermは、フレームバッファに出力されるターミナルエミュレータというものらしい。Xウィンドウ環境のいらない端末アプリケーションと考えてよいのだろうか。基本的にはランレベル2〜4のコンソール画面と同じだが、Xウィンドウ上で動作する端末と同じように日本語を表示したり入力したりすることもできる。
上のリンク先からfbterm_1.1-1_i386.debをダウンロードして適当な場所に保存したら、そのディレクトリに移動して、次のコマンドでインストールする。それだけでインストールされた。
# dpkg -i fbterm_1.1-1_i386.deb
△ fbterm1.6
fbtermには1.6という新しいバージョンもあるが、インストールができなかった。apt-get からインストールしようとすると、libfontconfig1というファイルとの依存関係でつまずく。また、配布サイトからfbterm-1.6.tar.gzというファイルをダウンロードしてビルドしようとしたら、fontconfigが見つからないというメッセージが出た。fbterm-1.6のdebファイルをみつけてきて # dpkg -i をやってみるといいのかもしれない。
△ jfbterm
同じようなターミナルエミュレータにjfbtermというものもある。これはapt-getからインストールすることができた。jfbtermはfbtermよりも古い。動作が遅いらしい。gpmマウスも使えないらしい。そして、exitで終了すると画面がフリーズしてしまう。それでも試してみたところ、ちゃんとunifontの日本語が表示されて、uim-fepで日本語が入力できた。しかも、jfbtermでuim-fepを起動したら、exit時の不具合が解消された。それまでは別のコンソール画面からkillコマンドでプロセスを強制終了しなければならなかった。
△ jfbterm for FreeBSD
jfbterm for FreeBSDというものもある。jfbtermのさまざまな問題が解決されて、コンソール用のマウスもはじめから入っているらしい。DebianなどのLinuxにもインストールできるというのだが、ビルドに失敗した。makeコマンドを打つと「framebuffer.c:997: error ‘FB_MAJOR’ undeclared」といったエラーが出て、どう対処したらよいのかわからない。
uim-fep 1:1.5.3-1
uimというのは多言語が扱えるようにするしくみであり、コンソールではuim-fepを用いる。apt-getでインストールできる。
# apt-get install uim-fep
uim-anthy 1:1.5.3-1
uimは、各種の変換エンジンと組み合わせて使う。KNOPPIXのデフォルトの変換エンジンanthyを使うなら、uim-anthyをインストールする。
# apt-get install uim-anthy
xfonts-unifont
unifontは、fbtermやjfbtermなどのターミナルエミュレータで日本語が表示できるUTF-8用のフォントだ。文字エンコードがEUCなら、別のフォントが必要だ。
# apt-get install xfonts-unifont
gpm
gpmは、コンソール用のマウスポインタだ。ふつうのCUIコンソールでも使える。コピー&ペーストを試してみたが、なかなか便利だ。
# apt-get install gpm
「The package should be built with new debhelper to get trigger support」というきな臭いメッセージが出たが、一応インストールはできているようだ。これはバージョンアップで修正されるバグらしい。
fbterm
インストールしたときのホームディレクトリにfbtermの設定ファイル ~/.fbtermrc ができる。わたしの場合は / 直下にできていた。「font-names=mono」というところにフォントを追加する。unifontを追加する場合は次の通り。
font-names=unifont,mono
マニュアルページには、ショートカットキー、基本的なマウスのコピー&ペーストの方法、起動メニューの追加項目などについての解説がある。
# man fbterm
コピー&ペーストの方法
ちなみにfbtermでのコピーは、左ボタンを押しながらマウスカーソルで範囲を選択する。ペーストは、そのまま右ボタンをクリックする。
uim-fep
/usr/share/uim/generic-key-custom.scm というファイルで、日本語入力のオン・オフのキーを設定する。uim-fepでは[半角/全角]キーが使えず、デフォルトのキー設定の [Shift]+[Space] も作動しないようだ。次のように編集して、入力切替のキーを [CTRL]+[J] に設定した。セミコロン「 ; 」は、コメントアウトのマークだ。デフォルトの行を編集でコメントアウトしている。
;;;(define-custom ‘generic-on-key ‘(“zenkaku-hankaku” “<Shift> “)
(define-custom ‘generic-on-key ‘(“zenkaku-hankaku” “<Control>j”)
‘(global-keys1)
‘(key)
(N_ “[Global] on”)
(N_ “long description will be here”))
;;;(define-custom ‘generic-off-key ‘(“zenkaku-hankaku” “<Shift> “)
(define-custom ‘generic-off-key ‘(“zenkaku-hankaku” “<Control>j”)
‘(global-keys1)
‘(key)
(N_ “[Global] off”)
(N_ “long description will be here”))
uim-fepにはマニュアルページがない。ヘルプを参照する。
# uim-fep -h
gpm
/etc/gpm.conf という設定ファイルがあるが、今のところいじらずにすんでいる。マニュアルページには、コマンドのオプションとマウスの詳しい操作法などの解説がある。
# man gpm
fbtermが「stdin isn’t a[sic] interactive tty!」のようなメッセージを出したりgpmが消しゴムになったりする問題が生じたら、起動の順番を少し変えてやれば解決するかもしれない。
1.コンソールモードに入る。
ランレベルをたとえば2に切り換えるなら # init 2 から [ALT]+[F2] 。LXDEに切り換えるには # init 5 。コンソール画面を開くだけなら [CTRL]+[ALT]+[F2] 。LXDEに戻るには [ALT]+[F5] 。
コンソールの言語設定を確認しておく。
# locale
LANGとLC_ALLが空欄で、ほかはすべて”POSIX”になっている状態ではないだろうか。
2.gpmの起動とエンコードの変更
コンソールマウスポインタのgpmは、あらかじめ起動しておいてもだいじょうぶだ。-m 以下のオプションでマウスの種類を指定している。ThinkPadのトラックポイントを使う場合は次の通り。
# gpm -m /dev/input/mice -t ps2
fbtermを起動する前に、必ずエンコードを日本語用に変更しておいた方がよさそうだ。UTF-8の場合は次の通り。
# export LANG=”ja_JP.UTF-8″
3.fbtermの起動
# fbterm
ここでfbtermを起動すれば、日本語が表示される。エンコードがEUCの場合は、もしかするとオプションをつけて起動する必要があるかもしれない。
4.uim-fepの起動
anthyで変換する場合は次の通り。
# uim-fep -u anthy
1.uim-fepの終了
# exit
# exit のかわりに [CTRL]+[D] でもよい。
2.fbtermの終了
# exit
fbtermの終了コマンドはuim-fepと同じだが、両方起動している状態で # exit と打ってみると、uim-fepの終了が先になる。fbtermの終了については、[CTRL]+[D] あるいは [CTRL]+[ALT]+[E] でもよい。
3.エンコードの変更
もとのコンソール画面に戻ったら、エンコードを変更する。
# export LANG=C
4.gpmの終了
gpm -k
gpmは急いで終了しなくてもよさそうだ。fbtermを終了した後のコンソール画面でgpmのマウスカーソルを動かすと、残っていたfbtermの表示を消しゴムのように消してしまうが、新しいコンソールの表示まで消したりすることはない。
コンソール画面から短いコマンド1つか2つでfbtermとuim-fepとgpmをまとめて起動させられるような設定が作れるといいのだが。
framebuffer
「フレームバッファコンソールの利用」(scratchpad.fc2web.com)
fbterm
「X不要で動作する高機能ターミナルエミュレータFbTerm」(SOURCEFORGE.JP 2008年09月04日)
「FBTerm」(KEN’S GNU/LINUX DIARY 2008年09月04日)
「コンソールで日本語の表示をするには」(Debian GNU/Linux スレッドテンプレ)
「CentOSでFbTerm」(エマノンの雑記帳 2010年8月7日)
uim-fep
「コンソールでの日本語入力 」(Debian GNU/Linux Sarge/Etch インストールメモ 2008年06月30日)
「コンソール」(Debian GNU/Linux スレッドテンプレ)
gpm
「コンソールで文字をコピー&ペーストするには」(北浦訓行
2002年3月21日 @IT)
「Re: Thinkpadでのgpmの設定方法」(武藤@Debianぷろじぇくと 2008年12月19日 debian-users@debian.or.jp)
knoppixユーザのDropbox
以前の記事でKNOPPIX6.2にDropboxをインストールした(KNOPPIX6.2にDropboxをインストール)。関連するディレクトリやファイルがknoppixユーザのホームディレクトリにあり、Xウィンドウ(LXDE)環境で起動する。
/home/knoppix/Dropbox
/home/knoppix/.dropbox
/home/knoppix/.dropbox-dist
/home/knoppix/bin/dropbox
/home/knoppix/bin/dropbox.py
端末から $ dropbox start というコマンドを打つと、システムトレイにDropboxアイコンが表示されて同期が行われる。
この設定で不満があるとすれば、KNOPPIXのコンソールモードからDropboxを同期させられないことだ。そこで、コンソールモード用のDropboxを別にインストールしてみた。
コンソールモードでもknoppixユーザにログインすることはできる。しかし、dropboxプログラムはDropboxをインストールするユーザのホームディレクトリに置かなければならない。2種類のDropboxのプログラムを同じディレクトリに置くわけにはいかない。そこで、2つめのDropboxはrootユーザでインストールすることにした。
rootユーザのDropbox
関連するディレクトリとファイルがrootユーザのホームディレクトリなどにある。Dropboxディレクトリはknoppixユーザと共有している。下の4つのファイルは、インストールと設定のときだけ使用した。
/root/.dropbox
/root/.dropbox-dist
/root/fakelib.c
/usr/local/bin/dropbox.py
/usr/local/bin/dropboxd
/home/knoppix/Dropbox
/root/dropbox-lnx.x86-0.7.110.tar.gz
/root/dbmakefakelib.py
/root/dbreadconfig.py
/root/dropboxdir.py
1.rootユーザログイン
(1)コンソールモード
コンソールモードの画面を開くだけなら、[Ctrl]+[Alt]+[F1〜F4] でいい。[Alt]+[F5] でXウィンドウ画面に戻る。
ランレベルを切り替える場合は、適当なプロンプトで # init [数字]というコマンドを打つ。たとえばランレベル2に切り替えるなら、# init 2 とした後、[Alt]+[F2] 。KNOPPIXのランレベル2〜4はどれでも同じだ。Xウィンドウに戻るには # init 5 。
コンソールモードでインターネット接続を確保するには、LXDEのシステムトレイのアイコンからNetwork Managerアプレットで接続の編集画面を開き、「Available to all users」を有効にしておく。
(2)rootユーザのパスワード
Xウィンドウの端末では $ su と打つだけでrootユーザになれるが、コンソールモードではパスワードを使ってログインする必要がある。ログインしないとただのrootだ。その状態でもDropboxをインストールできないことはないが、/ 直下にdropboxのプログラムを置くことになってしまう。rootでログインすれば、/root がrootユーザのホームディレクトリになるので、そこにインストールできる。
rootユーザのパスワードをセットしよう。もちろん端末でもできる。
# passwd root
Enter new UNIX password:[パスワード]
Retype new UNIX password:[パスワード]
passwd: password updated successfully
同じパスワードを2回入力する。はじめてパスワードを作るときは、これとは違うメッセージが出るかもしれない。
(3)メッセージの文字化け
コンソールモードでは日本語が表示されないので、日本語のメッセージが文字化けしている可能性がある。そのときは次のコマンドを試してみよう。メッセージが英語になる。
# export LC_MESSAGES=C
設定変更を確認する。
# locale
「LC_ALL=」が空になっていないとうまくいかない。次のようにすればLC_ALLの設定が消せる。
# export LC_ALL=
(4)rootユーザログイン
# login root
Password:[パスワード]
ログアウトするときは # exit 。
2.ファイルのダウンロード
以下のファイルが必要になるので、あらかじめIceweaselなどのブラウザでダウンロードして、/rootディレクトリに保存しておこう。コンソールモードからwgetコマンドでダウンロードすることもできる。
・dropbox-lnx.x86-0.7.110.tar.gz
・dbmakefakelib.py
・dbreadconfig.py
・dropbox.py
・dropboxdir.py
一番上のtar.gzファイルは、バージョンアップすると名前が変わる。
3.dropboxのtar.gz圧縮ファイルの解凍
以下の作業は、コンソールモードでrootユーザにログインしておこなう。Xウィンドウ上の端末でやると、自動的にXウィンドウ用の設定が作動してしまうようだ。
# cd
~# script
~# ls -a
~# tar zxof dropbox-lnx.x86-0.7.110.tar.gz
~# ls -a
cdコマンドでホームディレクトリに移動する。
scriptコマンドで作業のログをとる。同じディレクトリ /root にtypescriptというログファイルができる。scriptを終了させるときは exit 。
lsコマンドは、ここに書いた以外でも頻繁に使う。lsコマンドの表示を参照しながら作業をするとよい。aオプションをつけると、隠れディレクトリやファイルも表示される。
tarコマンドでtar.gzファイルを解凍すると、.drpbox-distというディレクトリができる。
4.Xウィンドウの偽装
DropboxにはXウィンドウが必要なので、コンソールモードでDropboxが動作するようにXウィンドウを偽装する。
~# python dbmakefakelib.py
dropbox ran for 15 seconds without quitting – success?
この表示が出た後いつまでたってもプロンプトが返らないので、適当に終了させる。[Ctrl]+[c] を2回押せばいい。dbmakefakelib.pyファイルのエラーが表示されるが、気にしなくてよい。fakelib.cと.dropboxができる。
5.ホストIDの表示
~# python dbreadconfig.py
host_id = [ホストID]
last_revision = None
root_ns = None
schema_version = 6
6.ホストIDでdropbox.comにアクセス
~# exit
exit
Script done, file is typescript
~# init 5
いったんscriptを終了してGUIモードに切り替えるのは、/root/typescriptファイルを開いてホストIDをコピーするためだ。そうしなくてもいいなら、この手順は必要ない。
GUIモードに切り替えたKNOPPIXのブラウザでも別のパソコンのブラウザでもいいので、次のアドレスからdropbox.comにアクセスする。
https://www.dropbox.com/cli_link?host_id=[ホストID]
すでにDropboxのアカウントがあるので、[Log in]のタブからEmailアドレスとパスワードを入力してログインする。これでrootユーザのdropboxプログラムからDropboxアカウントに接続できるようになった。
7.Dropboxディレクトリの共有
本来はここで /root にDropboxディレクトリを作るのだが、すでにknoppixユーザのDropboxディレクトリが /home/knoppix にあるので、共有することにしよう。下の –setfolder というところには、ハイフンが2つついている。
~# python dropboxdir.py –setfolder=/home/knoppix/Dropbox
current dropbox path:
new dropbox path: /home/knoppix/Dropbox
Dropboxディレクトリの置き場所に決まりはない。しかし、knoppixユーザのパーミッションに制限があるので、/home/knoppix に置くのがよさそうだ。
もしもDropboxディレクトリのバックアップをとっていなければ、念のためにディレクトリのコピーを作っておこう。
/home/knoppix$ cp -rp Dropbox Dropbox~
8.dropboxデーモンの起動
コンソールモードで次のようにdropboxのデーモンを起動する。
~# .dropbox-dist/dropboxd &
もしかしたらすでに別の経路でデーモンが起動しているかもしれない。その場合は次のコマンドでプロセスを確認し、デーモンを終了させる。
# ps aux | grep dropbox
# kill -9 [プロセス番号]
ふつうは次のコマンドでデーモンがコントロールできる。
~# python dropbox.py [オプション]
オプションについてはhelpオプションで確認できる。
~# python dropbox.py help
ところで、コンソールモードでは dropbox.py start が作動しない。エラーが出てプロンプトが返らなくなる。プロンプトは [Ctrl]+[z] と [Ctrl]+[c] で返る。Xウィンドウの端末で dropbox.py start を試すと、Nautilusの警告が出るものの、ふつうにGUIモードでDropboxが起動する。要するに、コンソールモードでdropboxのデーモンを起動するときだけは、dropbox.pyではなくdropboxdを使わなければならないようだ。
9.コマンドのショートカット
dropboxdのシンボリックリンクとdropbox.pyのコマンドを作って/usr/local/binに置く。そうすることでいくらか入力の手間がはぶけ、どこからでもコマンドが実行できるようになる。/usr/local/bin のかわりに /root/bin ディレクトリを作ってパスを通してもいい。
~# ln -s /root/.dropbox-dist/dropboxd /usr/local/bin/dropboxd
~# chmod +x dropbox.py
~# mv dropbox.py /usr/local/bin
新しいコマンドについて確認する。
# ls -l /usr/local/bin
# which dropboxd
# which dropbox.py
10.新しいコマンドの使い方
dropboxデーモンの起動とDropboxの同期
# dropboxd &
起動以外のdropboxの操作
# dropbox.py [オプション]
まとめ
今回のインストール方法では、dbmakefakelib.pyで作ったfakelib.cのおかげで、コンソールモードでDropboxの同期ができる。しかも、Xウィンドウ(LXDE)環境では、DropboxがGUIモードでふつうに動作する。
ということは、わざわざ2本立てでDropboxをインストールしなくても、はじめから今回の方法でknoppixユーザのDropboxをインストールするのがよさそうだ。その場合、コンソールモードでDropboxを操作するのにいちいちknoppixユーザでログインする必要はない。
不満があるとすれば、コンソールモードでdropboxのデーモンを起動するときにdropbox.pyコマンドが使えないところだ。Dropboxのすべての基本操作がdropbox.pyのオプションでできると操作がわかりやすくなるのだが。
「GUIの無いLinux(CentOS)にDropboxをインストールする」(インフラメンコ 2009年05月05日)
How To Install Dropbox In An Entirely Text Based Linux Environment (wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall)
KNOPPIX 6.2
LXDE 0.4.2-1(デスクトップ)
dropbox.py(コマンド&インストーラ)
Dropbox v0.7.110
1.dropboxコマンドのパスを確認
$ which dropbox
2.表題のLXDEディレクトリに、autostartという名前のファイルを作る。viでやってみよう。
~$ cd .config/lxsession/LXDE
~/.config/lxsession/LXDE$ vi autostart
i (挿入モードに切り替え)
[Esc] (コマンドモードに切り替え)
:wq (上書き保存で終了)
3.viでautostartファイルを作成すると空のautostartファイルが開くので、挿入モードに切り替えて、1で表示されたパスにstartオプションをつけたものを、たとえば次のように書き込む。
@/home/knoppix/bin/dropbox start
4.KNOPPIXを再起動すると、Dropboxが自動的に起動する。
1.表題の.configディレクトリに、autostartというディレクトリを作る。
~$ cd .config
~/.config$ mkdir autostart
2.autostartの中に、dropbox.desktopというショートカットを作る。
~/.config$ cd autostart
~/.config/autostart$ lxshortcut -o dropbox.desktop

「名前」にdropbox.desktop、「コマンド」にdropboxのパスとstartオプションを入れる。たとえば/home/knoppix/bin/dropbox startと入れて、OKでよい。
3.KNOPPIXを再起動すると、Dropboxが自動的に起動する。
/etc/rc.localからDropboxが自動起動できなくて以上の方法にたどりついた。デスクトップのautostartの設定なら、起動スクリプトがほとんど1行も理解できないわたしでも直感的にわかる。
しかし、よく考えてみると、Dropboxが自動起動しなくてもさほど困ることはない。Dropboxの常駐を必要とするような使い方をしていないのだ。自動起動ができるとわかって満足したので、設定は無効にしておくことにする。ファイル名を少しでも変えれば動かなくなる。
~/.config/lxsession/LXDE$ mv autostart autostart~
~/.config/autostart$ mv dropbox.desktop dropbox.desktop~
Dropboxは必要なときにコマンドで起動することにしよう。
$ dropbox start
Dropboxの基本操作もコマンドでできる。
$ dropbox help
Dropboxの通常の状態では、LXDEなどのXウィンドウを必要とするようだ。Dropboxが/etc/rc.localから自動起動できないのは、おそらくそのことが関係している。そこで気になるのは、Dropboxがコンソールモードでも起動できるのかということだ。
dropbox.pyでインストールしたDropboxは、ひょっとしたらコンソールモードで使えないのではないだろうか。Dropboxをrootでインストールしてコンソールモードで起動しようとしたところ、次のようなエラーが出た。
# init 2(ランレベル2 ([Ctrl]+) [Alt]+[F2])
# which dropbox
/root/bin/dropbox
# dropbox start
Starting Dropbox…Traceback(most recent call last):
File “/root/bin/dropbox”, line 821, in
main (sys_argv)
File “/root/bin/dropbox”, line 818, in main
return commands [argv[i]](argv[i+1:])
File “/root/bin/dropbox”, line 750, in start
if not start_dropbox():
File “/root/bin/dropbox”, line 502, instart_dropbox
stderr=sys.stderr, stdout=f, close_fds=True)
File “/usr/lib/python2.5/subprocess.py”, line 594, in __init__
errread, errwrite)
File “/usr/lib/python2.5/subprocess.py”, line 1153, in_execute_child
raise child_exception
OSError: [Errno 2] No such file or directory:”
# init 5(Xウィンドウ ([Ctrl]+) [Alt]+[F5])
コンソールモードというのは、サーバを管理しているわけではないユーザにとっても、いざというときにたいへん頼りになるものだ。たとえば、Xウィンドウが起動しなくてもコンソールモードで対処できるかもしれない。もっと日常的には、SSHでリモート接続をして遊ぶこともできる。コンソールモードでDropboxが起動できないか、もう少し調べてみたい。
「 DebianのLXDEにDropboxクライアント」(クリックPAPAのPC備忘録 2009年7月6日)
「自動起動 (autostart)」(るるる〜るぶんつ 2010年5月29日)
以下、前回の記事「KNOPPIX6.2でDropbox」の「KNOPPIXにDropboxをインストール」を修正してまとめ直した。
~$ wget –no-check-certificate https://www.dropbox.com/download?dl=packages/dropbox.py
dropbox.pyをwgetコマンドでダウンロードして、かりにホームディレクトリ/home/knoppixに保存する。ブラウザでダウンロードすることもできる。
~$ chmod 755 dropbox.py
dropbox.pyを実行可能にする。
~$ mkdir bin
~$ mv dropbox.py bin/dropbox
ホームディレクトリにbinディレクトリを作成。
dropbox.pyのファイル名をdropboxに変えて、binディレクトリに移動。
~$ which dropbox
dropboxコマンドの確認。
~$ dropbox help
コマンドのオプションの確認。
~$ dropbox start -i
小さなポップアップが開き、OKをクリックすると、自動的にDropboxがダウンロードされる。

「Welcome to Dropbox」の画面から、順次Emailアドレスとパスワードを入力、2GB Freeを選択、Dropboxディレクトリの作成場所を確認する。ディレクトリの場所は、/home/knoppix/Dropboxでよい。
インストールが完了すると、GNOMEのファイルマネージャNautilus 2.28.1が起動して、Dropboxフォルダが表示される。もしも端末にNautilus関連のエラーが出てプロンプトが返ってこなかったら、[Ctrl]+[c]キーでプロンプトが返る。
~$ ls -a
… .dropbox .dropbox-dist … .nautilus
ホームディレクトリにはdropbox関連のディレクトリができている。Nautilusの本体は、/usrディレクトリにインストールされている。
* dropboxの自動起動のやり方がわからないので、必要に応じて端末から起動することにする。
~$ dropbox start
Dropbox for Linux
Dropbox Forums
ThinkpadX40にKNOPPIX6.2をインストールしてから、まずトラックポイントの中ボタンスクロールを設定した。次にFlashplayerをインストールした。3番目にやったのが、Dropboxのインストールだ。
Dropboxというのは、複数のパソコンやOSのあいだで同一のフォルダを共有できるツールだ。一つのパソコンでDropboxのフォルダに何か変更を加えると、インターネットに接続を通じてほかのパソコンのDropboxフォルダが同期される。
たとえば職場と自宅で同じファイルを使って作業している場合、両方のパソコンにDropboxをインストールしておけば、そのファイルをノートパソコンやUSBメモリで持ち運ぶ必要がなくなる。職場のパソコン[1]のDropboxフォルダに保存したファイルは、自宅のパソコンのDropboxフォルダから取り出すことができる。インターネットに接続している自分のパソコンであれば、どのパソコンでも同じファイルの入ったDropboxフォルダを開くことができるのだ。さらに、dropbox.comにアクセスすれば、Dropboxがインストールされていないパソコンからでも自分のDropboxフォルダを開くことができる。
WindowsパソコンでのDropboxのインストールと使い方は、ほとんど直感的にできる。アカウントを作ると、無料で2GBのフォルダが使えるようになる。ほかのユーザからの紹介で登録した場合は、250MB容量を増やしてもらえる。紹介したユーザの容量も増える。下のリンクはわたしからの紹介だ。まだ使っていない人がいたら、ここからアカウントを作ってDropboxをインストールしてみませんか。
DropboxにはLinux版もある。UbuntuとFedoraなら、専用のインストールファイルがあるので簡単そうだ。KNOPPIXでは、多少手間はかかったが、以下のようにインストールすることができた。
~$ wget –no-check-certificate https://www.dropbox.com/download?dl=packages/dropbox.py
かならずしもwgetコマンドでダウンロードしなければならないわけではない。とにかくdropbox.pyをダウンロードすればよい。検索すればdropbox.comで見つかる。同じような機能で別の名前のついたpyファイルを試してみるのもいいかもしれない。ともかくdropbox.pyをダウンロードして、ホームディレクトリ/home/knoppixに保存した。
~$ chmod 755 dropbox.py
dropbox.pyをdropboxコマンドとして使うために、実行可能にした。下のlsコマンドでchmodコマンド前後での属性の変化を確認しておくとよい。
~$ ls -l dropbox.py
~$ su
~# mv dropbox.py /usr/local/bin/dropbox
ホームディレクトリのdropbox.pyファイルを/usr/local/binディレクトリへ移動し、さらにファイル名をdropboxに変更している。これがdropboxコマンドだ。保存場所は、必ずしも/usr/local/binである必要はない。コマンドのオプションを確認しておこう。
~$ dropbox help
~$ dropbox start -i
これで小さなポップアップが開き、OKをクリックすると自動的にDropboxがダウンロードされて、下のような「Welcome to Dropbox」の画面が出る。

すでにDropboxのアカウントがあるものとしよう。次の画面では、登録したEmailアドレスとパスワードを入れる。次に2GB Freeを選ぶ。最終的に「That’s It!」の画面になるので、「I want to choose where to put my Dropbox folder」を選んで、Dropboxフォルダの保存場所を確認する。デフォルトで/home/knoppix/Dropboxになっていたので、OKで完了した。
いつのまにかインストールされたGNOMEのファイルマネージャNautilus 2.28.1が起動する。もしかすると端末にNautilus関連のエラーが出るかもしれないが、気にしなくてよい。端末のプロンプトは[Ctrl]+[c]で返ってくる。しばらく様子を見るつもりだが、NautilusはKNOPPIXの標準のアプリケーションではないので、慎重に扱った方がいい。ただでさえNautilusは重くて評判が悪い。端末からDropboxフォルダを操作するのにこしたことはない。Nautilusをアンインストールして、かわりにPCManファイルマネージャをNautilusのリンクをつけて使うという方法もあるようだが、PCManではDropboxの右クリックメニューが出ないかもしれない。
# vi /etc/rc.local
viなどで/etc/rc.localファイルを編集し、末尾に次の一行を追加する。
/usr/local/bin/dropbox start
dropbox startだけでも動くはずだが、rc.localファイルにはコマンドのフルパスを書いておいた方がよろしいらしい。dropboxコマンドの保存場所によっては、行頭にsudoを付け足す必要がある。
以上の方法なら、たいていのDebian系のLinuxOSでも同じようにできそうだ。あらかじめpythonがインストールされていることを確認されたい。
1^ 職場のパソコン
職場のパソコンもさまざまだろうが、わたしの職場では、管理者の権限を侵さないかぎりで、自分のアカウントのカスタマイズが黙認されている。WindowsのパソコンでProgram Filesにアプリケーションをインストールするためには管理者の権限が必要だが、Dropboxはマイドキュメントみたいなところにもインストールできるのだ。ただし、管理者がその気になればパスワードなどを調べることもできるはずなので、あまり人に見られたくないものや重要なものを置くわけにはいかない。
KNOPPIXを再起動したら、Dropboxの様子が変化していた。
a^ ホームディレクトリにbinというディレクトリができて、その中にdropboxコマンドができている。下のようにパスが確認されたので、はじめに作った/usr/local/binのdropboxコマンドの方は削除してもだいじょうぶだ。
$ which dropbox
/home/knoppix/bin/dropbox
つまり、はじめから/home/knoppix/bin/dropboxを作るのがのぞましい。実は参考にした記事ではそうしていたのだが、ホームディレクトリにパスを通していいものか迷ってそうしなかった。
さらにホームディレクトリの隠しファイルを表示すると、.dropboxとか.dropbox-distとかいうディレクトリができている。何度か探したときにはたしかに存在しなかったのに、いつできたのだろう。
~$ ls -a
b^ このままでは自動起動もしないので、dropboxコマンドの新しいパスに合わせて、/etc/rc.localファイルを訂正しなくてはならない。
# vi /etc/rc.local
……
/home/knoppix/bin/dropbox start
* 自動起動については、パスを修正してもうまくいかないので、再検討しなければならない。(追記 2010年8月2日)
dropbox.comi以外にもさまざまなサイトの記事を参考にした結果、この記事で紹介しているようなやり方になった。どこかにまったく同じ方法が書かれていたわけではない。したがって、おかしなことをやっている部分がほかにもあるかもしれない。参考にする人は気をつけてください。
UbuntuだろうがKNOPPIXだろうが、ThinkpadX40にLinuxのOSをインストールしたらまっ先におこないたい設定がある。それは、トラックポイントの中ボタンでWebページのスクロールができるようにすることだ。
KNOPPIX6.2をX40にインストールすると、NEC Lavie L LL750/2Dのときとはちがって、マウスカーソルがちゃんとあらわれる。時刻も合っている。そして、デスクトップ画面上で中ボタンスクロールをすると、なんと3Dのデスクトップキューブが回転する。
しかし、ブラウザIceweasel(Firefox)の画面上で中ボタンスクロールができない。そこで、以下のような設定をおこなった。
1./etc/hal/fdi/policy/mouse-wheel.fdiファイルの作成
$ cd /etc/hal/fdi/policy
/etc/hal/fdi/policy$ su
/etc/hal/fdi/policy# vi mouse-wheel.fdi
2.mouse-wheel.fdiファイルに以下の内容を貼りつけて保存
<match key=”info.product” string=”TPPS/2 IBM TrackPoint”>
<merge key=”input.x11_options.EmulateWheel” type=”string”>true</merge>
<merge key=”input.x11_options.EmulateWheelButton” type=”string”>2</merge>
<merge key=”input.x11_options.XAxisMapping” type=”string”>6 7</merge>
<merge key=”input.x11_options.YAxisMapping” type=”string”>4 5</merge>
<merge key=”input.x11_options.ZAxsisMapping” type=”string”>4 5</merge>
<merge key=”input.x11_options.Emulate3Buttons” type=”string”>true</merge>
</match>
3.KNOPPIXの再起動
# shutdown -r now
これでWebブラウジングが快適にできるようになった。
「Ubuntu 9.10 on Thinkpad X61 + trackpoint付USBキーボード」(Ubuntu日本語フォーラム)
How to configure the TrackPoint (ThinkWiki)
ThinkWikiの参考記事に網羅されている方法をいろいろ試してみたが、どれもKNOPPIX6.2には通用しなかった。上に紹介したのが唯一成功した方法だ。Ubuntu日本語フォーラムのrenさんありがとう。
うまくいかなかった方法は次の通り。
A.GPointing Device Settingsツール
未解決の依存関係が生じてインストールができない。
B.usr/lib/X11/xorg.conf.d/20-thinkpad.conf ファイルの作成
usr/lib/X11にxorg.conf.dというディレクトリが存在しない。
C.Configuration using xinput
xinputコマンドにset-int-propというオプションがない。
D./etc/udev/rules.d/99_trackpoint.rulesファイルの作成
ファイルを作成して再起動したが効果がない。
ここまでやった後、mouse-wheel.fdiファイルを作成してついに成功した。ThinkWikiの記事には、まだ試していない方法も紹介されている。
Thinkpad X40 2371-KJ1
X4 UltraBase
Pioneer DVR-XD09J
ThinkpadX40のセカンドHDDにKNOPPIX6.2をインストールした。前回の記事に書いたように、あらかじめGPartedで未フォーマットのパーティションを作っておいた。そうすると、KNOPPIXのインストーラ0wnがパーティションを認識してReiserFSでフォーマットしてくれる。
インストールは30分ほどで完了した。以前のLavie L LL750/2Dでは1時間以上かかり、しかも3回のうち2回は途中でエラーが出てはじめからやり直さなければならなかったことを考えると、特権的なフリーパスあるいは通行手形でも手に入れた気分だ。


OSがインストールされると、さらにブートローダのGrubをインストールするかどうか選択しなければならない。すでにUbuntuのブートローダがあるので、インストールしないことにした[1]。以上でDVD-KNOPPIXのセッションは終了して、KNOPPIXのブートの設定をおこなうためにUbuntuを起動する。
X40にインストールしたすべてのOSの起動は、Ubuntuのブートローダからおこなう[2]。Ubuntu10.04のデフォルトのブートローダはGrub2だ。KNOPPIXやPuppyLinuxのブートローダはただのGrubだ。Ubuntuの/boot/grubディレクトリにmenu.lstが見あたらないので調べてみたら、そういうことだった。そんなことも知らなかったのに今までよくUbuntuが問題なく使えたものだ。
Grub2の基本的な設定はコマンドでおこない、設定ファイル(/boot/grub/grub.cfg)を編集したりはしない。
まず、現在のブートメニューを確認しておこう。
$ grep menuentry /boot/grub/grub.cfg
KNOPPIXが正しくインストールされていれば、次の2つのコマンドでGrub2のブートメニューにKNOPPIXが自動的に追加される。
$ sudo grub-mkdevicemap
$ sudo update-grub
grepコマンドで/boot/grub/grub.cfgファイルにKNOPPIXが追加されたことを確認したら、Ubuntuを終了してKNOPPIXを起動してみよう。これで起動すれば、KNOPPIXのインストールは完了だ。
ThinkpadX40のGRUB画面のメニューがこんな風になった。
GNU GRUB version 1.98-1ubuntu7
Ubuntu, with Linux 2.6.32-24-generic
Ubuntu, with Linux 2.6.32-24-generic (recovery mode)
Ubuntu, with Linux 2.6.32-22-generic
Ubuntu, with Linux 2.6.32-22-generic (recovery mode)
Ubuntu, with Linux 2.6.32-21-generic
Ubuntu, with Linux 2.6.32-21-generic (recovery mode)
Ubuntu, with Linux 2.6.31-21-generic
Ubuntu, with Linux 2.6.31-21-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Microsoft Windows XP Professional (on /dev/sda1)
KNOPPIX (on /dev/sdb6)
ふだん使うのは一番上のUbuntuと一番下のMicrosoft Windows XP ProfessionalとKNOPPIXの3つだけだが、上と下がずいぶんと離れている。これでは不便なので、なんとかしたい。
まず考えられるのは、不要なメニューを消すことだ。Ubuntuのメニューだけで8つもあるのはどう考えても多すぎる。ただし、古いカーネルのメニューはひとつくらい残しておいた方がよいかもしれない。新しいカーネルの不具合に古いカーネルのUbuntuを起動して対処できたことが実際にあった。
メニューを消すのはそのうちに試してみるとして、ここではメニューの順番を変えることにする。KNOPPIXとWindowsXPを一番上に持ってくることにしよう。
Grub2のメニューエントリのおおまかな順番は、/etc/grub.dというディレクトリのファイル名にしたがって決められている。ファイル名には番号が割りふってある。
$ cd /etc/grub.d
$ ls
00_header 05_debian_theme 10_linux
20_memtest86+ 30_os-prober
40_custom README
Grub2の設定ファイル/boot/grub/grub.cfgを見ると、/etc/grub.dのファイルが番号順に読み込まれていることがわかる。
$ gedit /boot/grub/grub.cfg
(略)
### BEGIN /etc/grub.d/00_header ###
(略)
### BEGIN /etc/grub.d/05_debian_theme ###
(略)
### BEGIN /etc/grub.d/10_linux ###
menuentry ‘Ubuntu, with Linux 2.6.32-24-generic’ –class ubuntu –class gnu-linux –class gnu –class os {
(略)
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
(略)
### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Professional (on /dev/sda1)” {
(略)
menuentry “KNOPPIX (on /dev/sdb6)” {
(略)
### BEGIN /etc/grub.d/40_custom ###
(略)
Ubuntuのメニューエントリは10_linuxの項目に書かれている。Memory testは20_memtest86+、WindowsXPとKNOPPIXは30_os-proberだ。そこで、ファイル名を変更して、30_os-proberの30を10よりも小さい数字、たとえば07にすれば、WindowsXPとKNOPPIXがUbuntuよりも先に読み込まれてブートメニューの先頭に来るはずだ。
$ cd /etc/grub.d
$ ls
$ sudo mv 30_os-prober 07_os-prober
$ sudo update-grub
grub.cfgの更新を確認したら、再起動してGRUB画面を見てみよう。
GNU GRUB version 1.98-1ubuntu7
Microsoft Windows XP Professional (on /dev/sda1)
KNOPPIX (on /dev/sdb6)
Ubuntu, with Linux 2.6.32-24-generic
Ubuntu, with Linux 2.6.32-24-generic (recovery mode)
Ubuntu, with Linux 2.6.32-22-generic
Ubuntu, with Linux 2.6.32-22-generic (recovery mode)
Ubuntu, with Linux 2.6.32-21-generic
Ubuntu, with Linux 2.6.32-21-generic (recovery mode)
Ubuntu, with Linux 2.6.31-21-generic
Ubuntu, with Linux 2.6.31-21-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
GRUBメニューの画面が開いたとき、カーソルは一番上のMicrosoft Windows XP Professionalにあたっている。そのまま数秒経過すると、自動的にWindowsXPが起動する。それが望ましくなければ、メニューの順番を変えなくても、カーソルがほかのOSにあたるように設定できる。
単純にWindowsXPとKNOPPIXの順番を入れ替えてもいいのだが、そのやり方がわからない。
/etc/default/grubというファイルを編集してデフォルトのOSを設定すると、カーソルがそのOSのメニューにあたるようになる。UbuntuのせいかX40のせいかどうもviの勝手がちがうので、geditで編集した。
$ sudo gedit /etc/default/grub
「GRUB_DEFAULT=0」という行があるので、「0」のところにOSの名称を入れる。OS名は、grub.cfgファイルを開くと「menuentry」の後ろに引用符でくくられているので、それをコピーして貼りつけるとよい。ここではKNOPPIXをデフォルトのOSにする。
GRUB_DEFAULT=”KNOPPIX (on /dev/sdb6)”
上書き保存でgeditを終了したら、update-grubコマンドで変更を反映させる。
$ sudo update-grub
これでGRUB画面の使い勝手がだいぶよくなった。
1^ ブートローダのインストール
ここでKNOPPIXのブートローダのインストールを選択することもできるのだろうと思う。その場合、マルチブートの設定はKNOPPIXのGrubでおこなうことになる。すでにインストールされているWindowsXPとUbuntuのブートメニューは自動的に生成されるはずだ。/boot/grub/menu.lstを直接編集して、メニューを追加したり修正したりすることもできる。しかし、マルチブートの仕組みがよくわからないので、今まで安定して動作しているUbuntuのブートローダをそのまま使うことにした。
2^ ウルトラベースのブートローダ
UbuntuのブートローダGrub2は、ウルトラベースのセカンドHDDにある。セカンドHDDにはUbuntuとKNOPPIX、ThinkpadX40本体のHDDにはWindowsXPがインストールされている。ウルトラベースを外した状態でX40を起動すると、GRUB画面はあらわれず、直接WindowsXPが起動する。
「複数のOSを使う(3)GRUBを使ったデュアルブート,GRUBの設定」(Ubuntu Weekly Recipe 第97回 村田信人 2009年11月18日)
「Grub 2 入門」(経済学101 青木理音)
Thinkpad X40 2371-KJ1
X4 UltraBase
Pioneer DVR-XD09J

X40セカンドHDDのパーティション
ThinkpadX40のウルトラベースのセカンドHDDにKNOPPIXなどをインストールして遊ぶことにしよう。すでにUbuntuはインストールされている。UbuntuのGPartedでみると、X40のセカンドHDDはsdbというデバイスだ。X40本体のHDDがsdaになる。
| /dev/sda | 74GB | |
| /dev/sda1 | 74GB | ntfs (WindowsXP) |
| /dev/sdb | 298GB | |
| /dev/sdb1 | 25GB | extended |
| /dev/sdb5 | 25GB | ext4 (Ubuntu 10.04.1 LTS) |
| /dev/sdb2 | 2GB | linux-swap |
| 未割り当て | 270GB |
270GBの未割り当て領域には、もともとWindowsXP用のドライブ(パーティション)が2つあった。そこをひとまず空にして、パーティションは削除した。LinuxOSをいくつかインストールできるようにパーティションを分割するためだ。
パーティションが追加できない
ところが、新しいパーティションがどうしても2つしか作れない。調べてみると、1つのハードディスクに基本パーティションは全部で4つしか作れないことがわかった。基本パーティションのうち1つだけは拡張(extended)パーティションにすることができる。拡張パーティションの中にはいくらでも論理パーティションが作れる。
そこで/dev/sdbの構成を確認すると、Ubuntuがインストールされているsdb5というパーティションがそっくりそのまま拡張パーティションsdb1になっていた。ということは、5つ以上のパーティションを作りたかったら、sdb5のサイズを小さくして、sdb1の余った領域にパーティションを追加しなくてはならないことになる。しかし、sdb1のサイズは25GBしかないので、とてもそんな余裕はない。
どうしてこんなことになったのかというと、Ubuntuをインストールするためにパーティションを作ったときにパーティションのことが何もわかっていなかったからだ。
拡張パーティションのサイズ拡大
なんとかして拡張パーティションsdb1のサイズを大きくしたい。しかし、Ubuntuをインストールしなおしたりするのはご免だ。UbuntuのGPartedをいじったりWindowsXPを起動してディスクの管理画面を開いたりして悩んでいるうちに、すばらしいアイディアがひらめいた。そうだ、KNOPPIXのライブDVDでGPartedを操作すればよいのだ。
外付けのDVDドライブからKNOPPIX6.2を起動してやってみたら、いとも簡単にできた。拡張パーティションsdb1のサイズを144GBに拡大して、その中にとりあえず18GBのパーティションsdb6を作成した。ここにKNOPPIXをインストールすれば、Ubuntuと同じようにKNOPPIXも起動するのではないか。さらに、拡張パーティションsdb1の未割り当て領域がまだ101GBもあるので、LinuxOS用のパーティションだったら単純計算であと5つは作れる。そんなにたくさんOSをインストールしてもだいじょうぶなのだろうか。それとも、ブート用のパーティションはいくつまでとか、やはり制限があるのだろうか。

ともかくこうして、DVD-KNOPPIXはとても便利だということがわかった。もちろんUbuntuのDVDやUSBでも同じことができたわけだが。