Category Archives: Linux

古いPCをLinuxマシンにするというよくある話

 使わなくなったPCにLinuxをインストールして再利用しようとか、初心者がLinuxを体験するにはもってこい、などという煽り文句の特集とか昔からありますが、最近の主流なLinuxはGUIもリッチになってきたので、Linuxだからといって低スペックPCでサクサク動くわけではありません。

 そういった古いPCにLinux入れてモッサリした感じで使ってみても、Linux未体験の人にとって、そこに質の良いエクスペリエンスはないでしょう。

 個人的には、ハイスペックなPCにこそLinuxをインストールして、未知のOSを体感したほうがずっと楽しいと思っています。
 どちらかと言えば、ある程度Linuxに馴染んだ後、古いPCにLinuxを入れて使うというのが理想的な順路でしょう。

 この世には『新しく買ったPCにLinuxインストールして使ってみよう!』という特集が必要とされています。(年賀状とか印刷まわりが弱いとかこの際忘れて)Linuxをぜひどうぞ。

Viva Linux!

Scribesの自動保存について

先日から使用しているScribesというエディタ。
未だ使いこなしているとは言い難いけど気に入っている。
早いところ強力な補完機能の恩恵に与りたい。

ただ、使っている中でどうしても気になる事柄がある。

自動保存

Scribesは次に引用する設計思想によって、わずらわしい手間からユーザーを解放している。

仕事の流れの阻害を最小限にすること、おもしろみのない作業を自動化すること、不要な設定変更をなくすこと、シンプルさに基づいた理性的な編集作業を達成することを目標にしている。この目標を達成するために必要のない慣習は守っていない。
Scribes – Wikipedia http://ja.wikipedia.org/wiki/Scribes

ファイル保存もしかり、ユーザは毎度Ctrl+Sを押下する必要がない(もちろん任意のタイミングでCtrl+Sによる保存は可能)。
最後の入力から一定時間が経過すると自動的に保存される。

これには少し困ってしまう。
例えば、何か一時的なメモを取りたいがためにScribesを開き、書き入れる、自動保存によりファイル化される。デスクトップに。
自分にとって少なくとも2つの点で問題がある。

1. ファイル化するつもりがないのにファイル化されてしまう(破棄して終了するつもりだったのに!)。
2. GNOME3ではデフォルトでデスクトップにファイルが表示されない(~/Desktop/の中身は表示されない)。

なので、いつぞやの覚書が~/Desktop/に入っていたりする。
デスクトップに表示されないので、気づいてすぐに捨てるという事もできない。

おそらくは、『自動保存』というチェックボックスがどこかにあるのだろうと探したが、ない。
Scribesの設定メニューは非常にシンプルで、設定できる事はそれほどない。

困ったので情報探したら Scribes のフォーラムにそのままの話題があった。

Feature request: the ability to turn on/off autosave
https://bugs.launchpad.net/scribes/+bug/368414

「稼働中のサーバースクリプトをScribesで編集するとコーディング途中で保存されて大変な事になってしまうから自動保存とか困る」

この人は自動保存以前に問題が色々あるのだけど、こちらも自動保存で困っているので味方する事にして読み進めた。
驚く事に2009-04-28から始まったこの自動保存に関するスレッドは、実に2年近くもやり取りが成されている。

このスレッドから読み取れた事がいくつかあった。

1. Scribes自体に自動保存を無効にする設定機能は備わっていない事
2. Scribes開発側は今後それを実装するつもりがない事(おそらく未来永劫ない事)
3. 自動保存を無効にする場合のソースコード修正個所
4. 自動保存の有効無効を操作するPluginの存在

解決方法は判明したが、Scribesの精神を受けて、しばらくこのまま使ってみようかと心変わりしたりなんかしてるのだけど頭に来たらすぐ直す。

fedora16 ブート時にコケる問題(fsckで修復成功)

先日より、Fedoraがブート失敗するようになってしまった。
このまえレジュームの復帰失敗した事があったからそれかなー。

Booting 'Fedora (3.1.9-1.fc16.i686)'

Loading Fedora (3.1.9-1.fc16.i686)
Loading initial ramdisk ...

_Fedora-16-i686-: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
dracut Warning: e2fsck returned with 4
dracut Warning: _Fedora-16-i686- contains a file system with errors, check forced.
dracut Warning: _Fedora-16-i686-: Inodes that were part of a corrupted orphan linked list found.
dracut Warning: **** An error occured during the file system check.
dracut Warning: **** Dropping you to a shell; the system will try
dracut Warning: **** to mount the filesystem(s), when you leave the shell.

dracut Warning:

Dropping to debug shell.

sh: can't access tty; job control turned off
(Repair filesystem):/#

fsckコマンドで何かしろと書いてあるようなのだけど知識が足りない。
exitで抜けるとOSが起動するので、そのまま使っていたが、このままではダメだろうと情報探した。

shell command to fix filesystem
http://ask.fedoraproject.org/question/682/shell-command-to-fix-filesystem

(Fedora16 betaで)tonybrowningさんが同じ問題で困っていた。

fsckによる解決方法が書いてあったのでマネしたら直りました。
fsckにより無事修復されたようです。
なお、「fsckコマンドは場合によってファイル(システム)を破壊してしまうかもしれないのでバックアップ必要マジ」という情報は後になってから知りました。あぶない。

手順:
まず、blkidでブロックデバイスの情報を表示する
# blkid
/dev/sda1: UUID="..."
/dev/sda2: UUID="..."
/dev/mapper/vg_hostname_lv_swap: UUID="..."
/dev/mapper/vg_hostname_lv_root: LABEL="_Fedora-16-i686-" UUID="..."

次に、fsckにブロックデバイスを与える。
fsck -y /dev/mapper/vg_hostname_lv_root
ファイルシステムのチェックや修復が行われる。
/dev/sda2を指定しても同じはず。
LABELにFedora-16とあったから/dev/mapperの方を選びました。

終わったらexitで抜ける。
# exit
改めて再起動したら問題の現象は発生しなかった。
ok.

Scribesがクラッシュする現象

 先日から使用しているエディタScribesで特定のファイルがクラッシュする現象に悩んでいる。
 原因がよくわかっていない。

$ scribes ivoryworks_201201.txt
$ /usr/lib/python2.7/site-packages/SCRIBES/GUI/MainGUI/Buffer/CursorPlacer.py:29: GtkWarning: gtktextiter.c:3818: Incorrect byte offset 42 falls in the middle of a UTF-8 character; this will crash the text buffer. Byte indexes must refer to the start of a character.
iterator.set_line_index(index)
**
Gtk:ERROR:gtktextsegment.c:196:_gtk_char_segment_new: assertion failed: (gtk_text_byte_begins_utf8_char (text))

 このファイルは、Dropboxで共有していて、Linux(Edit:Scribes)とAndroid(Edit:Jota Text Editor)で編集しているのだけど、お互いに更新を行い、特定の状況(ファイルの状態)に陥ると上記のようにクラッシュする。

 文字コードはUTF-8。
 vimやgeditでは特に問題なく開ける。
 BOMの有り無しが影響しているのかもしれないと思い、以下の検証をする(この手段で正しく検証できているかどうか自信がない)。

$ nkf -s ivoryworks_201201.txt > ivoryworks_201201.txt.shiftjis
$ nkf -w ivoryworks_201201.txt.shiftjis > ivoryworks_201201.txt.utf8
$ nkf -w8 ivoryworks_201201.txt.shiftjis > ivoryworks_201201.txt.utf8_BOM
$ scribes ivoryworks_201201.txt.utf8
$ scribes ivoryworks_201201.txt.utf8_BOM

BOMの有り無しに関わらず問題なく開ける。

$ diff ivoryworks_201201.txt ivoryworks_201201.txt.utf8
$ diff ivoryworks_201201.txt ivoryworks_201201.txt.utf8_BOM
1c1
< 2012/01/15 --- > 2012/01/15

 ちなみに、Android側で編集した後に発生するかと言えば、必ずしもそうではない。
 常用したいので何とか解決したいところ。

Installing Scribes on Fedora16

http://scribes.sourceforge.net/

 以前から興味のあったScribesというテキストエディタを使ってみようと思う。
 Scribesは補完機能に注力されたエディタという事で、これはScribes設計思想によるものと思う。

仕事の流れの阻害を最小限にすること、おもしろみのない作業を自動化すること、不要な設定変更をなくすこと、シンプルさに基づいた理性的な編集作業を達成することを目標にしている。この目標を達成するために必要のない慣習は守っていない。
http://ja.wikipedia.org/wiki/Scribes

 ダウンロードページにはFedoraのRPMパッケージへのリンクがあってダウンロードできるのだけど、そのパッケージではfedora16へのインストールがうまくいかない。
 情報を漁ってみると同じ問題で困っている人がいて、最終的に次のコンテンツにたどり着く。
 
http://mystilleef.blogspot.com/2011/04/installing-scribes-on-fedora-and-rpm.html

 ここでは、Fedora15(beta)へインストールに成功したと言っているがFedora16でも同じ。
 以下の手順を踏むとインストール完了となる。この手順は上記コンテンツで示される内容と同じ。

$ sudo yum install gnome-common autoconf automake intltool glib2-devel rarian-compat bzr gnome-doc-utils gnome-python2-gtkspell pygtksourceview
$ bzr branch lp:scribes
$ cd scribes
$ ./autogen.sh
$ make
$ sudo make install


外観は非常にシンプルで、右上の赤いサークルにマウスカーソルをかざすとメニューバーが出現する。
ショートカットが豊富に用意されており、Ctrl+hでチートシートが表示される。

しばらく使ってみようと思う。

 さて、紹介されている手順では、最初に依存問題を解消するためにいくつかのパッケージをインストールするのだけど、今回あえてそれらをインストールせず、make install まで何度も失敗(依存性の問題により)を繰り返しながら、その都度必要となるパッケージをインストールする方法をとった(不要なパッケージをインストールしたくないために)。
 結論として、示されるパッケージ群に過不足はなく、つまりFedora16へのインストールでも上記手順が正しい事がわかった。
 この作業の記録を以下に記述する。上記でインストール完了した人には不要な情報だが、もしもこの解法を知らずにインストールを進め行き詰まっている場合には多少参考になるかもしれない。

 まず、ソースコードをBazaarのリポジトリから取得する必要があり、bzrのインストールから進めていく。

$ sudo yum install bzr
$ bzr branch lp:scribes
$ cd scribes
$ ./autogen.sh

You need to install gnome-common from the GNOME CVS

失敗
gnome-common をインストールする

$ sudo yum install gnome-common

再挑戦
$ ./autogen.sh

checking for glib-gettext >= 2.2.0...
testing glib-gettextize... not found.
***Error***: You must have glib-gettext >= 2.2.0 installed
to build scribes. Download the appropriate package for
from your distribution or get the source tarball at
ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.0.tar.gz

ここでは、glib-gettextやglibではなく、glib2-develをインストールするのが正解。
なお、この時点でautoconfとautomakeも必要なのだが、自分の環境ではインストール済みだったのでインストールしていない。未インストールであればglib2-develと合わせてインストールすること。

$ sudo yum install glib2-devel

再挑戦
$ ./autogen.sh

checking for intltool >= 0.25...
testing intltoolize... not found.
***Error***: You must have intltool >= 0.25 installed
to build scribes. Download the appropriate package for
from your distribution or get the source tarball at
http://ftp.gnome.org/pub/GNOME/sources/intltool/

intltoolをインストールする。
$ yum install intltool

再挑戦
$ ./autogen.sh

checking for gnome-doc-utils >= 0.4.2...
testing gnome-doc-prepare... not found.
***Error***: You must have gnome-doc-utils >= 0.4.2 installed
to build scribes. Download the appropriate package for
from your distribution or get the source tarball at
http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/

gnome-doc-utilsをインストールする。
$ sudo yum install gnome-doc-utils

再挑戦
$ autogen.sh

Error: pygtksourceview2 was not found.
configure: error: Error: Dependency check failed

エラーメッセージではpygtksourceview2と言っているが、pygtksourceviewをインストールするのが正解。
$ sodo yum install pygtksourceview

再挑戦
$ autogen.sh
:
Now type `make' to compile scribes

OK

$ make
$ sudo make install

/bin/sh: 行 1: scrollkeeper-config: コマンドが見つかりません
scrollkeeper-update -p -o /usr/share/omf/scribes
/bin/sh: 行 2: scrollkeeper-config: コマンドが見つかりません
/bin/sh: 行 2: scrollkeeper-update: コマンドが見つかりません

この問題はrarian-compatをインストールする事で解消される。
$ sudo yum install rarian-compat
$ sudo make install

OK

Fedora16 on Thinkpad X220

 3月に買ったばかりのThinkPadをこのまえ失くしちゃって、あまりのショックで落ち込んで我を失ったり気を失ったりしてたら、ある日 ThinkPad X202 が手元に届いていました。

 Windows7が入ってたのですが、リカバリ領域ごと消してリリースされたばかりのFedora16をインストール(最初からOS入ってないモデル出して欲しい)。ひとつ前のFedora15からGNOME3が採用されて、X201以前に使用していたGNOME2とはだいぶ異なる外観に(GNOME2に比べたらかなりスタイリッシュですね)。

 操作感もGNOME2とは大きく異なって、というかほとんど別物で、かなり戸惑ったりしてますが(Webで調べるまでシャットダウンの方法がわからなかった)なんとか頑張っていこうと思います。

Fedora 16のシャットダウンの方法
これはどうもマルチユーザーで使用することを考え、他のユーザーが使用中に間違って
シャットダウンをしないように考慮したものと見られます。

 ナルホドー。

 これまで(GNOME2時代)テーマの変更やGUIのカスタマイズなどには手をつけてませんでしたが、ちょっと色々と試してみようかな。

toc+binファイルの変換

 出張中にAmazonでCDを購入し、週末PC(fedora)に取り込んで再び出張に出かけたのだが、.tocと.binという形式のファイルをどう扱っていいのわからず苦戦した。備忘録として残す。
 WAVファイルを手に入れるまでたった2手順なのだけど、実際には辿りつくまで色々苦労した。

1. .tocを.cue形式に変換する
[cc lang=”bash”]$ toc2cue music.toc music.cue[/cc]

2. .binと.cueからwavへの変換
[cc lang=”bash”]$ bchunk -w -s music.bin music.cue music[/cc]

 これでトラック別にwavファイルが生成される。
 bchunkは存在しなかったのでyumでインストール

[cc lang=”bash”]$ su
# yum install bchunk
[/cc]

 toc2cueについてはインストールされていたのだけど、存在しなければインストールの必要がある、ただし、yumでサーチしても見つからないので何か別のパッケージに含まれているものかもしれない。

flac+cue – while(1)って恐くね?
http://d.hatena.ne.jp/gamaguchi/20070303/p2

 この記述によれば、cdrdaoパッケージに含まれているとある。

 wavファイルのエンコードについては別途。
 現在Linux(fedora)での音楽プレイヤーを模索中。ファイルの管理についても検討中なので、今のところwavのまま再生している。

No tags for this post.

fedora で Google 日本語IME “Mozc” を使い始めました

fedoraを使い始めてから、日本語入力で変換時に落ちる(?)現象に悩んでいました。

日本語入力での変換時にスペースキーを打鍵しますが、そのタイミングで変換しようとした平仮名が消えてしまうのです(落ちている?)。

fedoraのデフォルトインプットメソッドはAnthyですが、fedora 10〜14まで通して使ってみて、同じ現象を確認しています。

先日fedora 14を新規インストールしたので、この問題について真面目に取り組んでみようと思い、Googleの日本語IME(Input Method Editor)である”Mozc“を試すことにしました。

Mozcのパッケージはオフィシャルリポジトリに格納されているのでインストールは簡単です。

[cc lang=”bash”]# yum install mozc ibus-mozc[/cc]

インストール後、再ログインが必要です。一度ログアウトしましょう。

1. [システム]→[設定]→[Input Method Selecter]

2. 「入力メソッドの個人設定」ボタン押下&「インプットメソッド」タブ選択

3. インプットメソッドの選択メニューより[日本語]→[Mozc]を選択&「追加」ボタン押下

4. 「上へ」ボタン押下により、Mozcが先頭に位置するようにする

まだ数時間しか試していませんが、今のところ快調です。
変換候補も充実しているので使いやすいと感じています。

それでもなお同様の現象が発生したら別の観点で調査しなければなりませんが、本エントリ程の文量でAnthyの場合は少なくとも1度以上は現象が発生していたので問題は解消されているのではないかと思います。

ThinkPad X201 + fedora 14、無線LANが使えない(解決)

ThinkPad X201にfedora 14をインストールしたら無線LANデバイスが使えない。

調べてみると「iw6000-firmware」をインストールすれば良いとの記事があるので試してみたが一向にデバイスが有効にならない。

ThinkPad X201 + Fedora 12 で無線LAN

改めて調べると違った。

[cc lang=”bash”]$ lspci | grep Network
00:19.0 Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 06)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
[/cc]

Intel系のでデバイスではなく。REALTEKのRTL8191SEvBであった。

以下で解決。

Debian Bug report logs – #609784 Include firmware for RealTek RTL8192SE

1. REALTEK からRTL8191SE(RTL8191SE-VA2)のドライバソースをダウンロードしてくる(2011年03月06現在 rtl8192se_linux_2.6.0019.1207.2010.tar.gz)

2. アーカイブを解凍

[cc lang=”bash”]$ gtar xvzf rtl8192se_linux_2.6.0019.1207.2010.tar.gz
[/cc]

3. readme.txtに従い、make & install

[cc lang=”bash”]$ su
# make
# make install
[/cc]

4. 再起動

OK.

kernelのソースが必要なのであらかじめインストールしておくこと。あともちろんgccも。

[cc lang=”bash”]# yum install kernel-devel gcc
[/cc]

fedora 14をインストールしてみました

先日購入したThinkPad X201にfedora 14を入れる話をします。
マニュアルじゃないです。記録です。

1. ThinkPadアップデート
 まず、ThinkPadを起動してThinkPadのシステムアップデートツールに従い、全てのアップデートを行います。
 これからアンインストールするOSでなぜアップデートが必要かというと、ここでBIOSを最新にしておくと楽だからです。なのでアップデートはBIOSだけでも良いですが、私は全てアップデートしています。

* アップデートとか、次のリカバリDVDの作成とか全部キャプチャしたのですが、画像を退避する前にHDDフォーマットしてしまいまいた。馬鹿です。

2. リカバリディスクを作成する
 なんとこれもThinkPadのツールから行える。以前は結構大変だったのに。
 結果的にDVD3枚必要だった。ブート用ディスク1枚とデータディスク2枚。
 ちなみに、このディスクは1度作成すると、以降作成できなくなるので、ディスクはなくさないように。不安ならOSの再インストールを行い、再びリカバリディスクを作れば良い。

3. シールはぐ
 ベタベタ貼ってあるエンブレム類は全部剥いで捨てる

 そういえば、ThinkPadのロゴからLenovoが消えて、ThinkPadロゴのみになっていた。これでいい。シンプルだ。

 メガネケーブルのもはぐ。

 あとでベタベタになっちゃうので、剥ぐならシールが”若い内”がいいです。

4. さよならWindows7
 BIOSアップデートとリカバリディスク作るのにしか使ってませんがfedoraで上書きします。Windows7とのファーストコンタクトでしたがさよなら。

5. fedoraインストール
 説明不要ですが、Fedora Projectから最新のプログラムをダウンロードし、Live USBを作ります。
 Live USBからFedora 14を起動し、デスクトップ上にあるインストーラにより、PC本体へのインストールを行う。おわり。簡単になったものです。