Debianのインストール

2010/07/01未分類import

Debianのインストールについて

解説しているページは非常に多い.
インストールしたバージョンはLenny(Debian GNU/Linux 5.0.4 2010年1月リリース).

公式ページにISOイメージはあるのでそちらを参照して欲しい.
リンク切れの可能性もあるが,その時点でのstable*1のインストールマニュアルはこちら
パソコンのアーキテクチャごとにマニュアルが異なるようなので,適切なリンク先を辿って欲しい.
2010年の時点では,Intel系のCPUのコンピュータなら
たぶん「Installation Guide Intel x86 用」などと書いてあるものをたどっていけば良いと思う.
わからない場合は,人に聞くか,適宜調べてください.

詳しい解説は上記リンク先に任せるものとして,
この記事では,本サーバでどのような設定を行ったかをなるべく順序よく記述するものとします.

*1 : 安定版.その時点(あなたが閲覧している今そのとき)でインストールが推奨されているバージョン.名前の通り安定していて扱いやすい.ただし,最新の機能は使えない

要点

インストールディスクを起動する

インストールディスクを用意して,インストールマシンで起動する.大まかに,以下の流れになります.
  1. インストールディスクの入手(可能な限り最新の安定版を入手することを勧めます).
    • ISOイメージをDVDなどに書き込んで,ブートディスクを作ります.
  2. ディスクをインストールしたいマシンに入れて,電源投入.
    • インストールディスクを読み込ませるには,BIOS上でFirst Boot DeviceをCDドライブにしておく必要があります.
  3. インストールディスクのメニュー
    • この辺りから,Debianのバージョンごとに少しずつ異なってくるので,マニュアルを見て適切なものを判断してください.
    • 私(Hirayama)は,最初のメニューで,Option→Expert Graphical Installというように選択しました.これはインストールがGUIで行えて,それなりの詳しさで設定を行えるインストールモードです.

インストール本番

多分にOSのバージョンごとに微妙な差異が生じていると思いますので,どんな設定をしたかをまとめておきます.
インストールのモードによっては設定項目が存在しない場合もあります.
以下の設定項目はクイックインストールに準拠しています.
このページの方が記述量が少なくて見やすい.このページを参照しつつ,わからないことがあったら,上で紹介した詳細な解説を参照するのがベターでしょう.
  • 言語は日本語.
  • キーボードは106日本語キーボード
  • 言語ロケールは,システムで使うものはEUC-JP,追加でUTF-8*2
    • この設定項目は普通のグラフィカルインストールだと表示されない模様.インストール後にも設定できるので問題ない.
  • ディスク(HDDやSSDなど)の使い方は,「最大の空き領域を使う」→「すべてのファイルを1つのパーティションに」とした.
    • 大規模なサーバでもないので.
  • ファイルシステムはext3.
  • 管理者の設定はrootを有効にして,パスワードを設定(パスワードはサーバの箱のどこかに書いてあります.)
  • 一般ユーザの設定はとりあえず,インストールした人の名前(yushi)のユーザを作りパスワード設定しました.
  • ネットワークの設定
    • ホスト名はとりあえずDebian
    • ドメイン名は空白.
    • IPアドレスは,LAN内のもので192.168.11.6(ルータでも設定しておく).
    • 当然DHCPは使わない.
  • パッケージ設定
    • 追加パッケージといったものはYes
    • NonFreeもイエス(選択肢があれば.なければ別によい)
    • ソフトウェアコレクションは下記を選択した.
      • デスクトップ環境
      • ウェブサーバ
      • ファイルサーバ
      • 標準システム
  • GRUBのインストールははい.grub2をMBRにインストール.
ここまでで一通りインストールが完了する.
再起動して,ログイン画面が出ればそれでOK.

*2 : TeXを使う場合にロケールがUTF-8だと2010年の時点だと不便であるため

Debianサーバ構築編

2010/07/01未分類import
DebianというのはLinuxディストリビューションの一つで,安定性に定評があります.
このページが動いているサーバは,Debianで構築されています.
Debianは大型計算機から,デスクトップ,低スペックの録画サーバまで(例が変?),
様々なスケールのシステムに利用できます.
このサーバ構築の方法について,順を追って記録しておきます.

sysv-rc-conf

2010/06/28未分類import
設定ファイルなどをいじることなく,
OSの起動と同時に立ち上がるデーモンをランレベルごとに指定できる便利なコマンド.
Debian系限定.Red Hat系は別の「chkconfig」というコマンドを利用することになる.
標準では入っていないので,aptitudeでインストール.
実行はそのまま,sysc-rc-confとタイプするだけ.操作は画面上に記載されているので特に困らない.
良くこのコマンド名を忘れるので記載.

ただし,Gnomeデスクトップにログインできる環境にある場合,
システム設定の項目に同様のものがあるのでそれを使うというのもありです.

dvioutのEPS表示設定

2010/06/18未分類import
WindowsでTeXを使う際,最も一般的なプレビューソフトはdvioutだと思う.
このプログラムは,EPS形式の画像ファイルについては標準の設定でプレビューをサポートします.
しかし,このプレビュー時に問答無用で作成されるpbmファイルは,
画像を追加する度にその数だけ,編集しているファイルのあるディレクトリに無秩序に追加されていき邪魔な存在です.

この問題に対しての解決策がネットにあったので,メモっておきます.こちらが参考にさせていただいたサイトです.ありがとうございます.

要は,dvioutの設定画面で,pbmファイルの保存先を指定してやればよいということでした.
私は以下のように設定しています.

WS000038.jpg


このようにgdat:というパスをpbmを置きたい場所にすればよいのです.
ただし,この設定では,PNGやJPGなどのファイルを取り込んだときはエラーになり,正常に表示されません.
TeXで何かを作るときは,EPSにした方が精神衛生上よいでしょう*1

*1 : ただし,dvipdfmxを使ってPDF変換する際は正常に表示されます.

inkscapeで数式

2010/06/16未分類import

textextを使ってTeX文章をベクトル画像化

inkscape上で,textextを使ってTeX文章をベクトル画像化します.
同じことを扱っているネット上の記事は多いですが,成功例ということで記述します.

環境について

使っているパソコンにTeXの環境と,pstoedit,inkscape本体がインストールされていることが必要です*1
特に,pstoeditはパスを通しておくことが必要だと思います*2
TeXについては以下の環境で構築しました.
dvioutのSystemInfoからの抜粋です.なお,ハードはThinkPad X200です.
 --- Environment ---
C:\usr\dviout\dviout.exe
dviout          : Ver 3.18.1 (July 20, 2006)
OS              : Windows2000  Version 6.0 (4 日本語 (日本)) ←つまり,Vistaです.Windows Vista Business 32bit.
comctl32.dll    : Version 5.82
shell32.dll     : Version 6.0
printer         : Brother HL-5070DN series(1200dpi)
TeX 3.1415926 (Web2C 7.5.7)
pTeX 3.1415926-p3.1.10 (sjis) (Web2C 7.5.7)
dvips(k) p1.7b 
dvipdfmx-20090115(cvs) 
GPL Ghostscript 8.64 (2009-02-03)
TEXMF=""
TEXMFMAIN=""
TEXMFCNF=""
GS_LIB=""
PATH="C:\Program Files\ImageMagick-6.5.7-Q16;C:\Program Files\ImageMagick-6.5.5-Q16;C:\Program Files\Intel\WiFi\bin\;c:\l2h\zlib\bin;c:\l2h\tool;c:\l2h\tiff\bin;c:\l2h\rle\bin;c:\l2h\png\bin;c:\l2h\netpbm\bin;c:\l2h\jpeg\bin;c:\l2h\jbigkit\bin;C:\MinGW\bin;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\gs\gs8.64\lib;C:\gs\gs8.64\bin;C:\usr\bin;C:\Program Files\Lenovo\Client Security Solution;C:\Program Files\ThinkPad\ConnectUtilities\;c:\Program Files\Common Files\Lenovo;C:\Windows\System32\Wbem;C:\Windows;C:\Windows\system32;C:\PROGRA~1\JUSTSY~1\JSLIB32;C:\Perl\bin;C:\Perl\site\bin;C:\Program Files\ThinkPad\Bluetooth Software\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\JustSystems\JSLIB32;C:\Software\gfortran\libexec\gcc\i586-pc-mingw32\4.5.0;C:\Software\MinGW\bin;C:\borland\bcc55\Bin;c:\l2h\jbigkit\bin;c:\l2h\jpeg\bin;c:\l2h\netpbm\bin;c:\l2h\png\bin;c:\l2h\rle\bin;c:\l2h\tiff\bin;c:\l2h\tool;c:\l2h\zlib\bin;C:\borland\bcc55\Bin;C:\Software\gnuplot\bin;C:\Program Files\OpenVPN\bin;C:\Software\pstoedit;C:\Software\potrace-1.8.win32-i386;C:\Software\gfortran\libexec\gcc\i586-pc-mingw32\4.5.0;C:\Software\MinGW\bin;"
 --- parameters ---
multi=4
dpi=600
GS=16
gsx="C:\gs\gs8.64\bin\gswin32c.exe "
spi=c:\usr\dviout
ToEdit=^c^V
gen="`C:\usr\bin\mktexpk.exe --dpi ^d --bdpi ^D --mag ^M ^s"
Wshow=+
TEXROOT=C:\usr\share\texmf\fonts;C:\usr\share\texmf-local\fonts
TEXPK=^r\tfm\\^s^tfm;^r\pk\\^s.^dpk;^r\vf\\^s.vf;^r\ovf\\^s.ovf;^r\tfm\\^s.tfm

 --- End ---

textextの入手とインストール

公式サイト?から最新版をダウンロードしてきます.
アーカイブか実行ファイルかはお好きな方を.インストーラで入れた方が確実といえば確実ですが,
どちらの場合であっても,必要なソフトのパスを通し,
inkscapeのインストールフォルダのshare/extesions/以下にtextext.inxとtextext.pyを置けば問題ないはずです.
この操作だけで,すんなりと動けば良かったのですが,
このままではWindows上では正常にこのプログラムは動かないので,いくつか変更する場所が出てきます.

半角文字だけのTeX文書を正常に実行できるようにする

上の状態では,このtextextは動きません.
一時ファイルの保存場所が,ユーザのディレクトリになっているのが問題らしいです.
そのため,インストールしたtextext.pyを直接編集します.バックアップをしたのち,下記のように編集してください.


まず,650行付近を編集します.スペースもしっかり合わせるようにしないと,
Pythonは正常に動作しないとのことなので注意が必要です.
        #self.tmp_path = tempfile.mkdtemp()
        self.tmp_path = 'c:/tmp/textext/'
	self.tmp_base = 'tmp'
730行付近.パスを消す必要はないのでそれをコメントアウトします.
    def remove_temp_files(self):
        """Remove temporary files"""
        base = os.path.join(self.tmp_path, self.tmp_base)
        for filename in glob.glob(base + '*'):
            self.try_remove(filename)
        #self.try_remove(self.tmp_path)
この2個所の編集で,ちゃんとTeX記法で数式が打てるようになるはずです.
画面のように操作できるようになります.
WS000031.jpg

WS000034.jpg


日本語を含むTeX文章を入力できるようにする

上記に加えて,もう少し設定すると日本語を含んだTeX文章もinkscape上で利用できるようになります.
方針としては,PDFファイルを作成するのに利用するプログラムをpdflatexからplatex + dvipdfmxに変更し,
フォントを一度ベクトル画像に置き換えたepsファイルを作って,pstoeditに渡してやるというもののようです.

まず,55行目付近を下のように変更します.
import inkex
import codecs
import os, sys, tempfile, traceback, glob, re, md5, copy
from lxml import etree
720行目付近
        # Convert TeX to PDF

        # Write tex
        f_tex = open(self.tmp('tex'), 'w')
        try:
            #f_tex.write(texwrapper)
	    sjis_tex = codecs.getwriter('shift_jis')(f_tex)
	    sjis_tex.write(texwrapper)
        finally:
            f_tex.close()
            
        # Exec pdflatex: tex -> pdf
        #exec_command(['pdflatex', self.tmp('tex')] + latexOpts)
        exec_command(['platex', self.tmp('tex')] + latexOpts)
	exec_command(['dvipdfmx', self.tmp('dvi')])
	if not os.path.exists(self.tmp('pdf')):
            raise RuntimeError("pdflatex didn't produce output")
850行目付近
        # Exec pstoedit: pdf -> svg
	exec_command(['gswin32c', '-dSAFER', '-q', '-dBATCH', '-dNOPAUSE',
	              '-sDEVICE=epswrite', '-dEPSCrop', '-r9600',
	              '-sOutputFile='+self.tmp('eps'), self.tmp('pdf')])
	exec_command(['pstoedit', '-f', 'plot-svg',
	              self.tmp('eps'), self.tmp('svg')]
	              + pstoeditOpts)

これで,日本語化ができたと思います.

WS000035.jpg

WS000036.jpg


ちなみに,textextの項目がなぜ「Tex Text」と「Tex Text Japanese」があるのかといえば,
何となく,最初に説明した個所を直したものを前者に,日本語化したものを後者に*3している関係でです.
こうすると,ファイルサイズが抑えられるかもしれないので*4


なお,この記事を書くにあたっては,こちらの記事と,こちらの記事,こちらの記事などを参考にしています.
特に,この記事の設定例は前の2つのページに沿っています.ただただ感謝するばかりです.

使い道

inkscapeのオブジェクトは,コピーペーストで
Word,Excel,PowerPoint,花子などにベクトル画像として貼り付けられます.
なので,図と数式を使って説明する資料を作成する場合にこの方法は非常に役に立つのです.
Adobeの製品のように追加で高額な投資をしなくても良いし,数式表現は厳密なものが使えますので.
活用してみてください.

*1 : 本記事の例では,pstoeditはversion3.50,inkscapeは0.47です.

*2 : インストーラを使うとパスの設定はしてくれるようですが,手動でやっても問題ないです.公式サイトはこちら

*3 : textext-jp.py,textext-jp.inxとリネームして,タイトルなどを適宜変更しています.

*4 : 日本語化の時点で,フォントが完全に図形になっているので…….ただ,日本語化前ももしかしたらフォントを図形化しているような気もするので意味はほとんどありません.