2003 CNS GUIDE
copyright
 

UNIXに関するトラブルシューティング

ログインできない

パスワードが間違っている

ログインする際にパスワードを間違って入力すると,ログインウィンドウに`Login incorrect'と表示されます. この場合には,<CAPS>が 押されていないか確認して,再度ログインの操作を行います.

何回繰り返してもログインできない場合には,パスワードが間違ってい る可能性があります.ITC (内線52512) で学生証を提示し,仮パスワードを発行してもらってください.仮パスワー ドはすみやかにyppasswd([*])を利用して変更してください.

環境設定ファイルを編集した直後である

環境設定用の各種ファイルを 作成,編集 した直後にログインできなくなったときは,環境設定が原因であると考えられます. この場合は次の方法のうちのどちらかの方法でログインします.

  1. 他のユーザのシェルからリモートログインする.
    他のユーザのシェルから,`ssh -l [ログイン名]'と入力して リモートログインします.
    % ssh -l t02000tf <ENTER>
    % _
    


  2. xtermを起動する.
    ログインウィンドウでパスワードを入力した後に <ENTER>の代わりに<F1>を入力します.

どちらかの方法でログインできた場合には,ログイン時に読み込まれる環境設定用ファイルの記述が 間違っている可能性があります.

どうしてもログインできない場合には,ITC (内線52512) または CNS コンサルタント (内線52519) に相談してください.

ファイル使用量が使用制限を超えている

個人の所有するファイル使用量が制限を超えている場合には,ログインできな いことがあります.ファイル容量が使用制限を超えている場合には,次のようなメッ セージが表示されます.

Over disk quota on /a/fs0601a, remove 9160K within 6.3 days

CNS のユーザは1人1GByte,100000ファイルまでファイル空間を使用できますが,マルチメディアデータファイル,プログラムの異常で発生する coreファイルなどは,ファイル容量が大きいので,個人でそのようなファイルを複数持つと 使用可能なファイル容量を超えてしまうことがあります. その場合は,不要なファイルを消去する,圧縮する,バックアップをとるなどの対応をして,ファイル使用量を減らしてください.

印刷の課金を支払っていない

CNS ではモノクロプリンタからの印刷が年間500枚に制限されています. 印刷枚数が500枚を越えると,1枚当り5円の課金が発生します. また,カラープリンタからの印刷には1枚当り50円の課金が発生します. 課金が発生しているユーザは,一定期間内に超過料金を支払わない場合,アカウントが停止されます. 学年度末に事務の掲示板などに課金が発生したユーザのリストが掲示されるので,各自確認してください. また,printer-acctコマンド を実行して自分が現在までに何枚印刷しているかを調べることができます.

パスワードを変更していない

3か月を過ぎて,一度もパスワードを変更していない場合にはアカウントが停止されます. この場合は,学生証などの身分証明証を持ってメディアセンター1階リサーチエリアの CNS /ERNSサービス窓口に行ってください. 本人であることを確認の上,仮のパスワードが設定されます. この仮のパスワードでログインしたら,すぐに yppasswdコマンド([*]) を使って新しいパスワードに変更してください.

ホームディレクトリに移動できない

ファイルサーバが停止している

ファイルサーバの不調により,そのファイルサーバにホームディレクトリがあるユーザが,一時的にログインできなくなることがあります. この場合は,しばらくたってからログインし直してください.

ホームディレクトリの保護モードが正しく設定されていない

自分のホームディレクトリの保護モードが正しく設定されていないことが考えられます. ユーザに対して読み,書き,実行が許可がされているか確認し,もし設定に不備があれば chmod コマンド を実行して保護モードの設定を行い,ログインし直してください. 次に実行例を示します.

No directory! Logging in with home=/
Last login: Fri Feb 27 18:44:29 from ccz01
Sun Microsystems Inc.   SunOS 5.6       Generic August 1997
> cd /home <ENTER>
> ls -l t02000tf <ENTER>
> ypmatch t02000tf amd.home <ENTER>                  <- ファイルサーバを確認
type:=link;fs:=/home/fs0601a;sublink:=${key}
> cd /home/fs0601a <ENTER>
> ls -l |grep t02000tf <ENTER>
d---r-xr-x 51 t02000tf 3584 Feb 22 15:34 t02000tf  <- 保護モードを確認
> chmod 755 t02000tf <ENTER>                         <- 保護モードを正しく変更
> cd /home/t02000tf <ENTER>                          <- 移動できることを確認
> pwd <ENTER>
/a/fs0601a/t02000tf
> logout <ENTER>

コマンドが入力できない

C-sが押された

シェル上でC-sを押すと画面 への出力が止まるので,キー入力しても何も画面に表示されません.この場合は C-qを押すと画面への出力が再開されます.

フォアグラウンドジョブが処理中である

プロンプトが表示されていることを確認します. フォアグラウンドでジョブが動いているときは,C-zを入力して 現在動いているジョブをサスペンドしてからbgコマンドを実行し,ジョブをバックグラウンドにします.

システム異常

マウスカーソルが動くか,他のウィンドウは入力を受けつけることを確認します. もし入力が受けつけられない場合には,システムやホスト自体に問題がある可 能性があります.そのような場合はITC (内線52512) かCNS コンサルタント (内線52519) に連絡してください.

画面の表示がおかしい

writeコマンドなどで画面が乱れている

C-lを実行して,画面の再表示を行います.

その他の場合

ウィンドウ内で<CTRL>を押しながら,マウスの中ボ タンをプレスすると[*]が 表示されるので,[Do Full Reset]を選択し中ボタンをリリースしてFull Reset を実行します.画面がクリアされるので,<ENTER>を何度か押すとプロンプト が表示されます.ただしVT Optionsメニューは,ホストによって利用できない場合 があります.また個人の環境設定によっては正常に実行できないことがあります.

どうしても直らない場合

上記いずれの方法でも直らない場合は,最後の手段としてウィンドウを強制的 に閉じます.ウィンドウを閉じるには,ルートウィンドウでマウスの左ボタンを 押してから[Destroy] を選択します.マウスカーソルの形が変わるので,閉じるウィンドウにマウスカー ソルを合わせてクリックします.その際,コンソールウィンドウを閉じるとログア ウトします.

ウィンドウを強制的に閉じることはプログラムの異常終了につながります. できるだけ避けてください.

ユーザの設定不備によりコマンドが実行できない

`/usr/local/lib/setup/.cshrc'が正常に読み込まれていない

次のように入力して,`.cshrc' を読み込みます.

% source /usr/local/lib/setup/.cshrc <ENTER>
% _

.cshrcファイルを読み込むことができない場合や`Not found'などのエラーメッセージが表示された場合,.cshrcファ イルを読み込んでいてもコマンドが実行できない場合には,ITC (内線52512) またはCNS コンサルタント (内線52519) に相談してください.

ホストの不備によりコマンドが実行できない

ファイルサーバが停止していたり,利用しているホストに異常がある場合,コ マンドを実行できないことがあります.いずれの場合も,ITC (内線52512) またはCNS コンサルタント (内線52519) に相談してください.

C-zで多くのコマンドを中断している

多くのコマンドを中断していると,新たにコマンドを実行できません. jobsコマンドを実行して,サスペンドされているコマンドが多数存在している場合には,不必要なジョブを killコマンドで終了させます.

? <C-z>
Suspended
% jobs <ENTER>
[1]    Suspended              platex apec.tex
[2]    Suspended              platex apec.tex
[3]    Suspended              platex apec.tex
[4]    Suspended              platex apec.tex
[5]  - Suspended              platex apec.tex
[6]  + Suspended              platex apec.tex
% kill %1 <ENTER>
[1]    Terminated             platex apec.tex
% _

操作を受けつけない

動画ファイルなど大きなファイル容量を要するアプリケーションを起動してい て,ホストに多大な負荷がかかっている際は,文字入力が受けつけられなくなっ たり,マウスカーソルが動かなくなったりするなど,ホストが反応しなくなること があります.

その場合にはpsコマンドとkillコマンドを利用して,停止したジョブを強制終了します.psコマンドは,現在ホストで動 作しているジョブと,それらのジョブに関するさまざまな情報を得る場合に利 用します.

% ps <ENTER>
   PID TT       S  TIME COMMAND
  2717 pts/0    S  0:00 -tcsh
  2735 pts/0    T  0:00 emacs -nw
% _

また上記のジョブのうち,emacsを強制終了する場合には,emacsというジョブに対応するPIDを調べ,その番号を引数にして killコマンドを実行します.

% kill 2735 <ENTER>
[1] Terminated  emacs -nw
% _

psコマンドには,さまざまなオプションが用意されています. 詳しくはmanコマンド([*]) を利用してオンラインマニュアルを参照してください.

LaTeXが思い通りに処理されない

文字コードがおかしい

WindowsやMacintoshで編集したものをCNS のホームディレクトリに転送した際,日本語文字コードが正しくないため,`Text line contains an invalid character' と表示されてLaTeX処理が行われない場合があります. その場合には nkfコマンド([*]) を利用して日本語文字コードをISO-2022-JPに変換してからやり直してください. また,Emacsでも文字コードを変換できます([*]).

バイナリ形式のEPSが含まれている

Photoshopなどで作成したバイナリ形式のEPSファイルが含まれているとLaTeX処理が正常に終了しません.その際には,EPSファイルをテキスト形式で保存し てからやり直してください. また,IllustratorでEPSファイルを作成した場合,保存の際に`プレビュー'は`なし'を選択する必要があります.

極端に行間が空く

コントロールシーケンスと呼ばれる特殊記号が含まれているためにLaTeXが 通らない場合があります. いくつかの方法で,ファイル中に存在するコントロール シーケンスを取り除けます.

方法1

Emacsでソースファイルを開き,コピー・アンド・ペースト して,新しいファイルとして保存したものをLaTeX処理します.

  1. Emacsでコントロールシーケンスが 含まれているファイル(test.texとする)を開く.
  2. C-x 2で画面を2分割し,新しいバッファ(test1.texとする)を表示する.
  3. M-<でtest.texの先頭にカーソルを移動し,C-<SPACE>でMark setをする.
  4. M->でファイルの最後にカーソルを移動し,M-wでファイル全体をバッファに取り込む.
  5. C-x oで test1.texを編集するウィンドウに移動し,C-yでバッファの内容をペーストして,保存する.

方法2

Windows やMacintosh で作成したファイルをUNIXで編集する場合には,次のようにして改行コードを変更します.

% tr -d '\015' < [Windowsのファイル] > [UNIXのファイル] <ENTER>
% tr -d '\015' '\012' < [Macintoshのファイル] > [UNIXのファイル] <ENTER>

\maketitleを記述する場所が間違っている

1ページ目から2ページ目への改ページが正しくされない場合は,\maketitleが \begin{document}の前に書かれている場合 が多いので,LaTeXのソースファイルを確認します.

コマンドの中止

フォアグラウンドコマンドを中止したい

実行中にC-zを入力することでジョブをサスペンドできます. また,C-cやC-dを入力することで ほとんどのコマンドを終了できます.

Emacsの異常終了

Emacsが異常終了したときに編集していたファイルを復元したい

Emacsが作業の途中で異常終了した場合は,編集中のファイルが`#ファイル名#'という名前で保存されます. もとのファイルを復元するには,Emacsを起動してM-x recover-fileを行い,もとのファイル名を指定します(図[*]). ただし,#ファイル名#に常に最新の編集中のファ イルの内容が保存されているとは限りません.


M-x recover-fileの実行例

作成したファイルにアクセスできない

ファイル名に記号が含まれている

記号の含まれたファイル名をつけた場合,lsコマンドでファイル の存在は確認できても,catコマンドやrmコマンド を使ってファイル操作を行うことができません.例えばfile.*のよ うにファイル名に記号が入ってしまった場合,次のようにシングルクォーテーショ ンでファイル名を囲うことで指定できます.

% cat 'file.*' <ENTER>

また,`-file2'のように -記号が入ってしまった場合には コマンドのオプションと認識されてしまいます. この場合はオプションに- (ハイフン)をつけます.

% mv -file2 file2 <ENTER>
usage: mv [-if] f1 f2 or mv [-if] f1 ... fn d1 
% mv - -file2 file2 <ENTER>
% _

ファイル名が日本語である

CNS のUNIX環境ではWindows やMacintosh で作成した日本語のファイル名を扱えません. Emacsで編集したファイルを保存するときや Windows や Macintosh からファイルを転送するときには,半角英数でファイル名をつけてください.

どうしても消去できない場合は,ls -iを実行し,ファイルがどこに記憶されているのか,一覧を表示します. その番号を利用し次のように入力することでファイルを消去できます.

% find . -inum [番号] -exec rm {} \; <ENTER>
% ls -i <ENTER>
562240 china.txt                562050 holland.txt
186231 i'red,?txt               561999 egypt.txt
186232 malaysia.txt             186233 italy.txt
% find . -inum 186231 -exec rm {} \; <ENTER>
% _

WWWで `個人のホームページ一覧'に名前が に登録されない

自分のホームページを新しく作成したり,すでにホームページを持っている学生のページが,`個人のホームページ一覧' というSFCのリストに登録されていないことがあります. この場合,次のような原因が考えられます.

public_htmlのディレクトリ名が間違っている

publichtml,public-html,public_http など,ディレクトリの名前が間違っていないことを確認します.

public_htmlディレクトリやファイルの保護モードが正しくない

WWWで情報公開を行うには,ホームディレクトリと公開する情報が書かれた ファイル,ディレクトリ の保護モードが,othersに対して読み込みと実行を許可しなくてはいけません. 現在自分のディレクトリやファイルの保護モードが どのように設定されているのかを調べるには,lsコマンドを-lオプションとともに実行します. その際public_htmlは次のような設定になっていなければなりません.

drwxr-xr-x  3 t02000tf student      512 Feb 12 02:29 public_html

もし保護モードの設定が上記のようになっていない場合には,`ssh'コマンドを実行してディレクトリの保護モードを変更します.

% chmod 755 /home/t02000tf/public_html} <ENTER>
% _

public_htmlディレクトリに.hidemeが存在している

public_htmlディレクトリの下に .hidemeというファイルが存在すると,`個人のホームページ一覧'のリストに登録されません. この場合,.hidemeというファイルを削除すると登録されるようになります.

ホームページの作成,訂正を行ったばかりである

`ホームページを持っている人達'のリストは1日に数回更新されます. 実際にリストの更新が行われるまでは登録されません.

メールの転送

CNS のメールアドレスに届いたメールを,自動的に外部のメールアドレスへ転送する設定ができます.

転送の設定

設定はメールサーバにリモートログインし,`/var/forward/'ディレクトリで行います. このディレクトリに,Emacs ([*])などのテキストエディタや echoコマンドを利用して,自分のログイン名のついたファイルを作成し,設定を記述します.

転送には,CNS のサーバにメールを残さない設定と 残す設定の2つがあります. CNS のサーバに残さない場合は,転送先アドレスのみを記述します. CNS のサーバにもメールを残す場合は,転送先アドレスの前に,\ログイン名を 書き,カンマで区切ります.

次に,sshコマンドと echoコマンドを利用して,t02000tfのメールをpicasso@guide.ac.jpに 転送する設定の実行例を示します.

1. メールサーバにリモートログインする.

% ssh mail <ENTER>
t02000tf's password: <ENTER>
Sun Microsystems Inc.   SunOS 5.6       Generic August 1997
% cd /var/forward <ENTER>
% _

2. ログイン名のファイルを作成し,転送先のメールアドレスを記述する.

% echo [転送先メールアドレス] > [ログイン名] <ENTER>
% echo picasso@guide.ac.jp > t02000tf <ENTER>
% more t02000tf <ENTER>
picasso@guide.ac.jp
% _
% echo \\[ログイン名],[転送先メールアドレス] > [ログイン名] <ENTER>
% echo \\t02000tf,picasso@guide.ac.jp > t02000tf <ENTER>
% more t02000tf <ENTER>
\t02000tf,picasso@guide.ac.jp
% _

3. メールサーバからログアウトする.

% logout <ENTER>
Connection to mail closed.
% _

転送の解除

メールサーバへリモートログインし,/var/forward/に作成した設定ファイルを削除します.

% ssh mail <ENTER>
t02000tf's password: <ENTER>
Sun Microsystems Inc.   SunOS 5.6       Generic August 1997
% cd /var/forward <ENTER>
% rm t02000tf <ENTER>
% _