電子計測
2002.7.1


Back to index


  1. 本日の作業内容



  2. 出席

    最初の説明が終わったら出席確認です.パソコンの時計が合っているかを確認したら出席のメールを出してください.今 回の件名は

    inst 7-1 attend s0040**

    です.それ以外は前回と同じです.

    なお,入力ミスがあると出席として認 められないことになりますので,慎重に行ってください.文 字はすべて1バイト文字 (半角英数字) です.途中に入るスペースは一度に一個だけと してください.スペースは全部で3個です.また,**の部分は自分の学生番号の下二桁 です.他学科の人はそれなりに修正して下さい.

  3. make

    この授業ではLinuxを使用して電子メールの実習やネットワークの仕組み,さら には,TeXによる文書作成などを行ってきました.その中で,Netscapeや Sylpheedと言った一つの完成したアプリケーションを使用することもありました し,TeXやRubyスクリプトのようにエディタを使用してソースを作成し,ターミ ナルでコマンドにより実行するものもありました.Windows環境では後者のよう な小さなツールもしくは単機能のツールを組み合わせて,ある大きな目的のため に作業するということはほとんどありません.しかし,UNIXにおいては,伝統的 にそれが作業の中心であり,また,重視されてきました.

    ワークステーションは昔から今に至るまで高価ですし,商用UNIXオペレーティン グシステムも高価です.しかし,UNIXユーザは決してお金持ちな訳ではなく,ま た,お金を払ってアプリケーションを買う気はほとんどありませんでした.自分 にプログラミングの技術やUNIXの知識が十分にある人が使用するのが前提でした から,必要なツールは自分で作成しますし,また,お互いにツールのソースを交 換し合うことにより,自由に使える小さなプログラムがたくさん蓄積されている からです.

    このようなソースコードが公開されているものを「オープンソース」と今では言っ ていますが,昔からパブリックドメインソフトウェアやフリーウェアなどいろん な言葉で言われてきました.使用料が無料であるものをフリーウェアと限定して 呼ぶことがあり,また,ソースの公開されていないフリーウェアもあったりしま すから,最近では使い分けが行われるようになってきています.Linux自身もオー プンソースですので,自分でやる気があれば改変は自由です.世界中の優秀なプ ログラマが集まってこのように各種ツールやOSの改良を行ってきた結果が今日の UNIXの世界であり,業務でWindowsを使用「させられている」事務部門や管理部 門に属する人間とは根本的に考え方が異なっています.

    大学は従来はUNIX文化の中心的存在でしたが,最近の一人1台のパソコン時代を 迎てUNIX利用者の相対的な比率はどんどん低下していますし,科学技術計算が目 的のWindowsアプリケーションの増大から必要性も低下しています.しかし,上 のような自力開発や相互扶助の精神だけは残しておきたいものです.

    • アーカイブ

      教科書p.74

      上のようにソースコードが公開されているツールが世の中には無数にありますが, それらを公開して配布するために,「アーカイブ」と呼ばれる作業が必要になり ます.ソースコードは当然として,利用方法を示したマニュアルや資料に加え, ソースを利用可能な「バイナリファイル」とするために必要なファイルが多数付 属するのが通常です.それらをバラバラに配布するのでは提供者も利用者も不便 ですので,いったんそれらをまとめて一つのファイルとします.それをアーカイ ブと呼びますが,日本語では「書庫」といった意味になります.また,ネットワー ク上で配布する際にもデータの量が小さいほど好まれますので,データを圧縮す る作業も必要になります.まずは,その作業を行ってみますが,アーカイブコマ ンドの tar には様々なオプションがあり,最初は分かりにくいと思い ます.実際の例を使いながら試してみることにしましょう.

    • 例題用のファイルのダウンロード

      今日はいくつかのソースファイルをダウンロードして圧縮ファイルを伸長(復元) し,使える状態まで持っていく作業を行います.ファイルの所在は,今日の場合 はとりあえず,サーバの /tmp ディレクトリとしておきますが,今後 自分で必要に応じて探すことも検討してみてください.

      これまでFTPによるファイルの転送について言及していませんでしたが,今回は FTPを利用してダウンロードを行ってみます.FTPはターミナルからコマンドを使 用して行うのが,最も手っ取り早く簡単にできるのですが,それは教科書のP.82 を見ながら自分で試してみてください.とりあえず,GUIを利用して直感的な操 作が可能なgFTPをここでは使用します.起動は,GNOMEメニューの「インターネッ ト」の項目にありますので,そこから行います.すると,図1のような画面が開 きます.

      図1 gFTPの起動画面

      画面構成は左側が自分が作業している端末(ローカル)のファイル情報で右側が接 続先(リモート)の情報です.メニューバーの下にある「ホスト」のところに,接 続を希望するホスト名を入力し,「ユーザ」名にアカウント名を,「パスワード」 欄にパスワードを入力して接続します.全員で一斉に接続すると,サーバにかか る負荷が大きくなり過ぎて問題ですので,少しずつ時間差を置いて作業するよう にしましょう.

      接続する前にローカルの準備をしておきましょう.起動時には自分のホームディ レクトリがカレントディレクトリになっています.そこで,メニューの「ローカ ル」から「ディレクトリ作成」を選択し,図2のダイアローグに archives と入力して archives ディレクトリを作成しましょう.

      図2 ディレクトリ作成ウィンドウ

      ディレクトリが作成できたら,ローカルのウィンドウ内でそのディレクトリを探 し,ダブルクリックしてそのディレクトリの中に移動します.そこまで終わった ら接続を行います.

      ここで,接続する先は sv003 であり,ユーザ名とパスワードは教室の ものです.入力が終わったら,その項目の左端にあるコンピュータのアイコンの ついたボタンをクリックします.それにより接続が始まり,ログインできると右 側のリモートの欄にファイル名表示が現れます.ファイル名の一番最初にあるの は上位ディレクトリを表す .. であるので,それをダブルクリックしてホー ムディレクトリから /virtual/home に移動し,また, .. をダブルクリックしてルートディレクトリまで遡ります.その中に表示されてい る /tmp ディレクトリを探してダブルクリックにより開いて移動しま す.さらにその中の inst02 ディレクトリに移動し,置いてある3つ のファイルをダウンロードしましょう.ファイルを選択し,「リモート」から 「ローカル」側に向かっている←ボタン(下側)をクリックすると転送が行われま す.一番下のウィンドウに状況が表示されますが,最終的に

      226 Transfer complete.

      が表示されると,転送終了です.確認したら,「リモート」メニューの「接続を 切断」を選択してください.赤字でステータスが切断表示を出すと操作完了です. gFTPを終了してください.

    • plain2の伸長

      教科書のp.166に plain2 というツールが紹介されています.教室の環 境には用意されていないのでそのままでは使用できません.これを自分の環境で 使用できるように作業してみましょう.

      UNIXにおいては,ソフトウェアのインストールは管理者でないと行えません. Windows2000などのマルチユーザをサポートしたOSにおいても同様です.教室で 使用しているVine LinuxはRedHat系のLinuxであるので,RPM形式でバイナリ配布 されているアプリケーションを管理者がインストールするのが通常のやり方です. しかし,それでは自分で作ったツールやアプリケーションを使用することができ ません.誰もが利用できる形でインストールするには上述のような権限が必要で すが,自分で使うためだけならば管理者でなくても可能です.情報科学演習など の授業においてC言語のソースを自分でコンパイルして実行してきたはずですが, それと同じようにとってきたソースをコンパイルして実行可能な形式に変更し, 動かす方法について以下では説明しています.

      まずは,圧縮してあるアーカイブの復元です.教科書にオプションの説明がたく さん出ていますが,その中の x v f z を使用してgz形式のファイルも tar コマンドで一気に復元します.archives ディ レクトリに移動したら,まずは,

      & tar xvfz plain2-2.54.tar.gz

      により伸長してみましょう.このような長いファイル名を使用するコマンドでは 「補完」によりキー入力のミスを防ぐように習慣づけてください.

      コマンドにより中に含まれていたファイル名がずらずらと表 示されていき,作業が完了します.ディレクトリには plain2-2.54 と いうディレクトリが新たに作られています.その中に移動して ls に よりファイルを表示させると3つのディレクトリが作られているのが分かります. さらに, src ディレクトリに移動しましょう.srcとはソースの略で 他にも良く使われる名前です.中には,拡張子が .c であるCのソース や .h であるヘッダファイルなどが多数置かれています.それらをき ちんと動くように gcc コマンドで作業するのは大変です.そのため, それらを楽に行えるようにする make というコマンドが用意されてい ます.ディレクトリに Makefile というファイルがあるのに注意して ください.その中にどのようにコンパイルするべきかが示されています.コンパ イルはハードウェアやOSの機能に依存するため,ソースから最適なバイナリコー ドを作成するにはカスタマイズが必要になりますが,その辺りを自動化してくれ るファイルです.作業はおまじないと思って以下のようにコマンドの連続実行に より行ってみましょう.

      $ make dep; make clean; make

      依存関係を考えてコンパイルしてくれるはずです.その結果,ディレクトリ内に は拡張子が .o であるオブジェクトファイルがたくさん作られました. また,動作するアプリケーション本体の plain2 も作られています.

      ls -F --color

      などとすると良く分かるでしょう.

      あとは,教科書にあるようにプレーンテキストをTeXファイルに変更することが 可能ですが,注意も必要です.自分だけの環境で使用できるコマンドですので, コマンドパスが通っていません.そのため,パスを指定しないと作業ができませ ん.例えば,ホームディレクトリにある tex ディレクトリで作業しよ うと思うと,

      $ ~/archives/plain2-2.54/src/plain2 -tex hoge.txt > hoge.tex

      のようにしないと行けません.不便ですが,管理者権限無しでインストール可能 な方法ですので,我慢しましょう.これでも必要な場合には重宝します.もちろん,自分でパスを通せば普 通にコマンドして使用できるようになります.方法は,~/.bashrc と いうファイルに,

      
      export PATH=$PATH:$HOME/archives/plain2-2.54/src
      

      のように記述しておくと,次回から,もしくはそれ以降に起動したターミナルか ら実行可能です.今日説明する他のツールについても同様ですので,必要であれ ば,試してみてください.

    • emiclock の利用

      以前に「美少女コスプレ時計」(書いている私が少し恥ずかしいですが)をリモー トで起動する方法を紹介しましたが,今回は自分の環境で試してみましょう.先 ほどファイルはダウンロード完了しているので,あとは似たような作業です.以 下に手順を示しておきます.

      1. 伸長

        tar コマンドで先ほどと同じオプションをつけて実行します.

        $ tar xzvf emiclock-2.0.2.tar.gz

      2. ドキュメントを読む

        伸長が終わると emiclock-2.0.2 というディレクトリが作られており, その中に移動してください.中には,00.README INSTALL.ja といったドキュメント(文書)が用意されています.less コ マンドなどによりそれらに必ず目を通してください.そうしないと,インス トール方法が分かりません.

        INSTALL.ja を見ていくと,「3.Emi Clock をコンパイルする」とい う項目に,先ほどとは違うxmkmf というコマンドを使用すること が書いてあります.これは,Makefile を自分の環境に合わせて作っ てくれる霊験あらたかなコマンドです.注意にしたがって次のように作業し ましょう.

        $ xmkmf

        $ make depend

        $ make

        これで作業は完了です.ディレクトリ内に実行ファイルの emiclock が作られていますので,

        $ ./emiclock &

        で起動できるはずです.

      3. 動作設定

        emiclock を起動すると,ホームディレクトリに .emiclockrc という設定ファイルが作られます.それを編集することにより動作が 制御できますが,このファイルは emiclock が動いているときに 編集しても保存されません.emiclock の画面をクリックして出て くるメニューは基本的に教室の環境では使用できませんが,一番下のExitだ けは動作します.それをクリックして終了したのち,設定ファイルを編集し ます.たとえば,項目の中の,

        
        IsHourlyCharChange:     True
        IsAnimateCharacter:     True
        

        について上記のように修正しておくと,1時間ごとにコスチュームが変り,1分ご とに画面が変ります.

    • oneko のインストール

      こちらも実益の何もないツールです.しかも,動作中はウィンドウのアイコン化 ボタンが無効になってしまう問題のあるものですが,適当に試す分には小さくて 可愛らしいのでよしとしましょう.こちらも段取りを以下に列挙しておきます.

      1. 伸長

        $ tar xzvf oneko-1.2.tar.gz

      2. ドキュメントを読む

        READMEファイルを読みます.その中に,<コンパイルの仕方>という のがありますので,そこを良く読みましょう.こちらも,xmkmf を使うようにしていされています.

      3. コンパイル

        $ xmkmf

        $ make

      4. 起動

        $ ./oneko &

        で起動します.マウスカーソルをただ猫が追い掛けるだけのものです.しばらく マウスカーソルが動かないと猫は眠ってしまいます.終了させる場合には,面倒 ですが,kill コマンドにより行ってください.方法は起動したターミ ナルで

        $ ps

        コマンドを実行し,oneko のプロセスID(番号)を取得し,その番号を 使用して,

        $ kill ***

        のようにしてください.なお,その後は,マウスカーソルの形状が×印に変って しまいます.実害はありませんが気になる人は起動しないようにしましょう.ロ グインし直せばなおります.

  4. 実習作業

    他にもおもしろいツールを探してきてインストールしてみるのも良いかもしれま せんが,その際には,ドキュメントを良く読みましょう.また,plain2 の動作を確認する作業も行ってみましょう.

  5. 宿題

    授業の終りに宿題の説明をしますので、アナウンスに注意してください.


ページトップへ戻る

目次ページへ戻る