2015/06/30

Ubuntu  Grub を Grub2 にアップグレード

前回にも書いた通り、1号機に HDD を1台増設した。元からある HDD (マスター) には Lubuntu 15.04 がインストールしてあり、sda として認識されている。増設した HDD (スレイブ) には増設前に Ubuntu 12.04 をインストールしてあり、sdb として認識されている。あとは Grub2 を編集すればデュアルブートとして使える。

ところが sda にあるはずの /boot/grub/grub.cfg が存在せず、/boot/grub/menu.lst があった。つまり、ブートローダ*は Grub (Legacy) のままだ。Lubuntu 15.04 は Xubuntu 8.04 からデスクトップ環境を代えながら設定を変更せずにアップグレードしてきたので、 Grub (Legacy) のままだったのだろう。そこでここを Grub2 にアップグレードする。

Grub から Grub2 へのアップグレード



1. 以下のコマンドで Lubuntu 15.04 のレポジトリ情報を最新の状態にする。
 sudo apt-get update 

2. 以下のコマンドで grub-pc をインストールする。
 sudo apt-get install grub-pc 

3. インストールが始まると以下のような画面が現れるので、画面に従って設定していく。
   (Lubuntu 15.04 では既に日本語で表示されていた。)  
3-1. 書いてあることを読んでから、タブキーを使って<OK>へ移動し、Enterキーを押す。


3-2. 次の画面で Yes を押すと,以下の画面になる。
3-3. 特にしていしたいことがなければタブキーを使って<OK>へ移動し、Enterキーを押す。


3-4. UP/DOWNキーで移動して Grub2 をインストールする場所をスペースキーを押して選択する。


3-5. 再起動した時に以下のようにバージョンが上がっていればOK。



*ブートローダとは
ブートローダとはMBRに保存されているプログラムで、OSがインストールされているパーテーションを探し出す。もしOSがインストールされているパーテーションが一つならばそのパーテーション内のPBRをロードする。もし,複数あるならばそれらをユーザーに表示し,選択されるのを待つ。ここでユーザーがパーテーションを選択すると,そのパーテーション内のPBRをロードする。PBRに保存されているプログラムはIPLInitial Program Loader)と呼ばれるもので、OSを起動させるためのブートローダの残りの機能を呼び出す機能を持っている。(参照:ブートローダ

2015/06/28

Ubuntu  1号機のグレードアップ。

1年ほど前に友人から譲り受けたB機から256MBのメモリーを抜き取って1号機に増設し、HDDも40GBから80GBに増やした。OSもLubuntu 13.04 にアップグレードした。主なスペックは以下の通りになった。

システム要件
    CPU AMD Athlon 1.0 GHz
    motherboard   K7S5A
    memory 768 MHz
    HDD 80 GB

これでだいぶスムーズに動くようになった。しかし、Lubuntu 14.04 にアップグレードした頃から,CPUの使用率が100%を越えることが多くなり、反応も鈍くなる。改善するにははCPUを交換する他ない。しかし今となっては新たにAMD Athlon系のCPUをさがす気になれない。そのまま Lubuntu 15.04 までアップグレードを続ける。

CPUのアップグレード


そこへ今回 Fujitsu-Siemens の SCENIC N600 の中古が手に入った。


主なスペックは以下の通り。

システム要件
    CPU Intel Pentium® 4 2.4 GHz
    motherboard   D1562
    memory 2 GHz
    HDD 40 GB

これを1号機の代わりに使ってもよかった。しかし,

    - 写真のように寝かして使えるスペースがない
    - 拡張スペースが限られている
    - CPU冷却用ファンがなく、薄いファンでないと取り付けられない

という問題があった。ならばCPUを motherboard ごと1号機のそれと交換出来ないかと思いつく。(CPUだけの交換はソケットが合わないので不可能)

motherboard ごと交換するには電源のコネクタが対応するか調べなくてはならない。
幸い両方共ATXメインコネクタは20pinだし、1号機の電源にもATX12Vコネクタがある。D1562 には平型8pin の電源供給用のソケットがあるが、これはファンコントロールやディスプレイ表示用の電源なので、1号機では使わなくともよい。よって電源の問題はクリア。

HDDも両方共パラレルATA接続、DVDドライブも両方共パラレルATA接続なのでそのまま使える。FDDも同様だった。

よって交換は無事終了、CPU冷却用ファンも取り付けた。

1号機の新しいスペックは以下の通り。

システム要件
    CPU Intel Pentium® 4 2.4 GHz
    motherboard   D1562
    memory 2 GHz
    HDD 80 GB + 40 GB

これで1号機で Lubuntu 15.04 が普通に使えるようになった。

2015/06/01

Ubuntu 14.04  gscan2pdf で白紙のOCR出力

gscan2pdf とは


gscan2pdf は様々なファイルを読み込んでPDFファイルを生成するプログラムだ。このプログラムは tesseract-ocr や cuneiform-Linuxと組み合わせて、画像データから文字を認識 (OCR機能)し、結果を出力することが出来る。これらは全てソフトウェアセンター、またはパッケージマネージャーからインストール出来る。Ubuntu 14.04 でインストールされるこれらのプログラムのバージョンは
       プログラム バージョン
    gscan2pdf   1.2.3
    tesseract-ocr   3.0.3
    cuneiform-Linux   1.1.0
となっている。



gscan2pdf を使うと OCR出力が白紙

この gscan2pdf 1.2.3 から tesseract-ocr 3.0.3 を使ってOCRにかけると白紙が出力される。しかし、 gscan2pdf を使わずに tesseract-ocr 3.0.3 からOCRにかけると認識された内容が出力される。



原因はバグ

これは tesseract-ocr 3.0.3 がこのバージョンからOCRの結果を gocr形式で出力するのに対して、gscan2pdf 1.2.3 の側では html形式の出力を受け取る設定になっているためだ。(参照:ここ) このバグは既知の問題で gscan2pdf 1.2.4 ではパッチファイルが存在し, gscan2pdf 1.2.5以降のバージョンでは修正されている。(参照:ここ)


  

解決方法

その 1 Tesseract.pm を編集する。(参照:ここ)

1. 端末を起動し、以下のコマンドで Tesseract.pm が存在するフォルダに移動する。
    cd /usr/share/perl5/Gscan2pdf/
2. ルート権限 (sudo) でテキストエディタ (ここでは gedit) から Tesseract.pm を開く。
    sudo gedit Tesseract.pm 
3. ファイルの189行目の ".html" を ".hocr" に書き換える。 
      version->parse("v$version") >= version->parse("v3") ? '.html' : '.txt';
      --->
      version->parse("v$version") >= version->parse("v3") ? '.hocr' : '.txt';
4. ファイルを保存して閉じる。
 
その 2 gscan2pdf 1.2.3 を最新バージョンにアップグレードする。(参照:ここ)
 
その 3 パッチファイルを適用する。(参照:ここ)
この解決方法を紹介しているHPは多い。しかし、このパッチファイルは gscan2pdf 1.2.4 用であり、Ubuntu 14.04 でソフトウェアセンターなどからインストール出来るのは gscan2pdf 1.2.3 である。従って現在では何か理由があってPPAなどの外部から gscan2pdf 1.2.4 をダウンロードして、インストールし,アップグレードしないで使い続ける場合のみに有効な解決方法となる。