プロが教えるわが家の防犯対策術!

 Red Hat Linux 6.2Jを使っています。telnetでSolaris 8にログインし、viを使おうとすると、unknown terminal typeと出て、ラインエディタのようになってしまいます。どう対処すればいいでしょうか。

A 回答 (8件)

二つの原因が複合しているのだと思います。


1.TERM変数が設定されていない。
 端末(仮想端末)の種類は、環境変数$TERMに設定されますが、
 telnet等でリモートログインした場合、これがunknownとなっている
 場合があります。ローカル側のTERM変数の値を調べておいて、
 ログイン後にsetenv等で設定します。
2.termcapが合わない。
 端末(仮想端末)の制御情報は/etc/termcapに記録されていますが、
 LINUX側の情報がSolaris側に書かれていないことが考えられます。
 LINUX側のファイル内容をSolaris側に付け加えればこの問題は解消
 します。

OSの種類により、ファイル名等微妙に違うかもしれませんが、その場合は
ご容赦を。
    • good
    • 0

xjdさん検証ありがとうございました。



手抜きも考えましたが、確認できる実機がないので控えました。
コンパイルとは言ってもいわゆる普通のコンパイルとは違い、入力可能な文字として表現している
記号を実際のコントロールコード(例えば \ → \x1b)に変換している(注)ので
大丈夫かと思いましたが、コマンドで作成する方法であればログインする相手がなんであれトラブ
ルことはないので提案するのはやめました。

ということで、どんな環境でも問題の出る可能性の少ない『コマンドで作成する』を推奨します。

(注)何をやってるかよく分かっていません。それだけではなさそうです。
    • good
    • 0

(お詫びと、再検証報告)


すみませんでした。Marionetteさんの指摘どおり、私が#5で説明した
方法ではviで日本語が扱えませんでした。

というわけで再検証しました。(JF1Msfさんがktermを使っていると仮定)


(方法1)RedHat側のktermエントリをそのままSolarisで使う(手抜き?)

RedHat側の
/usr/share/terminfo/k/ktermというファイルを

Solaris側の
/usr/share/lib/terminfo/k/配下にftpしたところ、
RedHat側(kterm)よりSolarisにログインし、viで日本語の入力・表示が正常に
できるようになりました。


(方法2)Marionetteさんの手順(ちゃんとコマンドで作成する)

RedHat側でktermのテンプレートを作成する。
# infocmp -I kterm > /tmp/terminfo.src

terminfo.srcをSolaris側にftpする。

Solaris側でテンプレートをコンパイルする。
# tic /tmp/terminfo.src
(#3に書かれている-o,-s というオプションはありませんでした)

/usr/share/lib/terminfo/k/ktermが作成されている事を確認する。

方法1と同じく、viで日本語が扱える様になりました。

(追記)viの機能を全て確認したわけではありません。
    • good
    • 0

回答ではありませんが。

。。

xjdさんへ

ktermとxtermでは微妙に動作が違いませんか?
漢字入力で問題が出るとか?

#3も試してもらえると助かります。Solaris環境はないので。
    • good
    • 0

検証報告。



RedHatはktermをお使いでしょうか?
自宅の、Solaris8(Intel版)とRedHat7.2で試してみましたが、

/usr/share/lib/terminfo/k/配下にktermというエントリーがなかったので、

/usr/share/lib/terminfo/x/配下にある、xtermというファイルを、
/usr/share/lib/terminfo/k/kterm、という名前でコピーしてみたところ
viエディタが正常に使える様になりました。
    • good
    • 0

#3 です。


Solarisでした。terminfoのディレクトリも確認してくださいね。
    • good
    • 0

最近いやかなり以前からアプリケーションやライブラリはterminfoを使うようになっており


termcapは一部(例えばコンソール用の漢字入力フロントエンドのcanuum)でしか使用されていません。

Soraris側でterminfoを用意する必要があります。次のようにすればよいのでは?

1. Linuxでterminfoソースを準備する。
  infocmp [infoname] > terminfo.src
2. 出来上がったterminfoソースをSoraris側にコピーし、コンパイルする。
  tic -s -o /usr/share/terminfo terminfo.src

以上で、/usr/share/terminfo/*/ に作成されているはずです。

(注)「*」は terminfoの頭一文字
  コマンドとオプションは Linuxのものなので Sorarisでは若干異なるかもしれません。
    • good
    • 0

>unknown terminal type



エラーメッセージはこれだけですか?
もっと表示されていると思いますが。。。

おそらく、Solaris側のterminfoにあなたが使用している
ターミナルソフトのエントリーがない、と言う事です。

情報不足なので、これ以上の回答はできないです。

この回答への補足

早々のご回答ありがとうございます。

Solaris側にログインすると、
tcsh: using dumb terminal settings.
と表示され、shellプロンプトが出てきます。
そして(Solaris側で)viを起動すると、
linux: Unknown terminal tepe
I don't know what kind of terminal you are on - all I have is 'linux'.
とエラーメッセージが出てきます。

もう一点、重要なことを書き忘れていました。すみません。
この症状が出るのは、Linux(Fujitsuの6年ほど前のノート型, X Window System使用せず)の"コンソール"からtelnetでログインした時のみです。
他のコンピュータからこのLinuxに入って、さらにSolarisに入り込むと、何ら問題はありません。
よろしくお願いします。

補足日時:2003/09/24 09:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!