環境:FreeBSD4.3

FreeBSDサーバーに対して、windows98からtelnetでのリモートアクセスで
作業をしているのですが、おかしな事象が発生してしまいました。

viエディターで、ある文書を開きます。(例えばreadme.txt)
その状態から、画面を下にスクロールさせるために下キーを押すとします。
すると画面が下にスクロールせずにアルファベットの「B」が入力されてしまうのです。
同様に上キーを押すと「A」が、左キーだと「D」が、右キーだと「C」が入力されてしまい、
どうにもなりません。
それ以降は「:q」を入力しても何をしても無視されてしまいます。
telnetを強制終了するしか、そこを抜け出す手段がなくなります。

こうなってしまったタイミングはわかりません。
気がついたらこんな状態でした。
コマンド入力とかは普通にできます。
「vi」の動きだけがおかしくなってしまったのです。

ちなみにこの事象が起きるのはリモート操作の時のみです。
直接UNIXマシンで作業をすれば、正常にviを使えます。

こんなワケのわからない状態なのですが、何か解決方法があるのでしょうか?
すみませんがアドバイスをよろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

おかしいですね。


手元の環境ではwindowsのteraterm proからtelnetでログインして環境変数をvt100に設定している状態では矢印キーも効きます。

試したのはPC互換機のwin2000でHHKの場合とノート(IBM ThinPad)win2000日本語キーボードの2つです。

利用しているtelnetクライアントソフトがなにか知りませんが、矢印キーを押したときに送信されるキーコードがfreebsdのターミナル設定(terminfo)で定義されている矢印キーのキーコードと一致していないだけかもしれません。

これを確認するために初めてviで矢印キーを使いました。普通はhjklでしょう?

windowsで使っているtelnetクライアントソフトがなにか知りませんが、そいつのマニュアルとログインしているfreebsdマシンの環境変数(term)を確認するのが最初かとおもいます。

freebsdとnetbsdにログインして確認したところterminfoはありませんでした。失礼。
/usr/share/etc/termcapがあるのでman 5 termcapをみながらオリジナルターミナル設定ファイルを書けばなんとでもなるでしょう。
    • good
    • 0

winのtelnetクライアントが送信するキーコードがサーバもしくはviの理解できない(または変なエスケープシーケンス)になっているのではないでしょうか?



ファンクションキーや矢印キーやテンキーはキーコードが別なのでそれが原因だと思います。

今、netbsdとfreebsdにteraterm proのsshプラグインとteratermでログインしたらそのような現象には遭いませんでした。

telnetクライアントを交換すればよいと思います。

もちろん、端末設定をサーバがわにする方法もありますが、terminfo書けます?わたしはかけません。

あと、キーボートも多少関係するかもしれませんね。
今、HHKです。

この回答への補足

telnetする端末が違っても結果は同じなんですよね。
クライアント側から操作する限りは。

ということはサーバー側の問題なんでしょうか。
ということはterminfoとかいうのをいじらなければならないんですか?
そんなもの見たことも聞いたこともありません(^_^;

補足日時:2001/10/26 16:42
    • good
    • 0

私も似たようになることがあります。


矢印キーはなったことはありませんが・・・
SSHでログインしているとまずテンキーがまったく使えません。(Viの時だけ)
:q もつかえなくなるときがあります。
:q! で対応できるときもありますが不確実です。
ご存知かもしれませんが!を付加してあげれば強制的に終了になります。又書き換えもW!とすればリードオンリでも書き換えできます。

私が推測したことはキーボードの設定が違うことからうまく認識しないのでは?ということです。

何も解決策がでなくて申し訳ないです。
    • good
    • 0

私は、PCからtelnetでAIXにつなぐときになったことがあります。


上下などのボタンを押す前にESCキーを押せば使えました。
(理由はわかりませんが。)

この回答への補足

ESCキーを押した後、上下左右ボタンを押しても
結果が同じなんですよね。。すみません。

補足日時:2001/10/26 16:39
    • good
    • 0

こんにちわ。



私はSolarisマシンへコンソール端末から接続した際になりました。この時はコンソール端末のせいでした。別のコンソール端末なら問題が無かったのですよ。

矢印キーの変わりに、HJKLの各キーでカーソルが動きます。これはどうでしたか?

この回答への補足

HJKLの各キーなら上下左右の移動が可能です。
これらのキーに慣れるしかないんですかねぇ。。。

ちなみに、別のコンソール端末でも同様の事象が起きてしまいます。

補足日時:2001/10/26 16:05
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWindowsでtelnet経由のviを使用した場合

Redhat9にWindows2000よりtelnet接続しviを使用しています。

長文(1画面に収まらないもの)を編集する際のことでお尋ねします。

カーソルを下に移動して、そして、カーソルが画面の一番下に達した時、Redhatのターミナルでのviでは画面全体がスクロールする(下に新しい行が追加されると上の行が消える)のですが、Windowsのtelnetからのviだと、最下行のみ新しい行に置き換わって残りの上部の行はそのままで残ります。


これは仕様なのか何か設定が悪いのかどうなんでしょうか?

Aベストアンサー

このような現象は、接続した祭にターミナルから通知される端末タイプの設定が適切でない場合が多いです。

Windows2000のtelnetにおいては、デフォルトの端末タイプはANSIとなっています。
この設定をVT100などに変更して繋げば解消する可能性があります。
変更は引数無しで、telnetを起動しhelpと叩くと使い方がいろいろでますので、参照してください。
端末タイプの変更は、set TERM VT100 等となります。

QFreeBSDでリモート端末からのキーボード配列の変更

FreeBSDのホストにTELNETでリモート端末からログインしたときに、使っているキーボードの配列を変更するにはどうしたらいいでしょうか?

kbdcontrol -k device -l keymap のコマンドを使い、試しているのですが、device の指定方法が分かりません。 keymap は、us.unix.kbd を指定したく、/dev/console からこのコマンドを実行すると望みのように設定されます。

TIA

Aベストアンサー

kbdcontrol は、ホスト機に直接つながっているキーボードのハードウェア設定のためのコマンドなので、これを変えてもクライアント端末のキーボード配列は変更できません。

ホスト側のTELNET デーモンは、接続時に端末側から指定された端末種類を読み取って、それにしたがった個々のキーに対応するコードの組み合わせを受け取っているだけで、端末側でどのキーが押されたかを直接受け取っているわけではありません。

このため、キーボードの配列を変更したい場合には、TELNET を起動しているクライアントの方で設定を変更する必要があります。
となると、ホスト側に伝える端末名を変更するか、送るキーコードの設定を変えるかですが、通常端末名はvt100 や kterm など決まりきったものしかないので、クライアント端末自身のキーボード配列を変更する必要があると思います。

クライアントの端末に何を使用されているのか分かりませんが、例えばWindows 上の端末ソフトである TeraTermPro であればメニューからキーマップの設定(iniファイル)を読み込めるようになっていますし、その他のソフトでも、一般的に使われているキーボードの配列を変更するソフトを使用すれば、変更することは可能だと思います。

kbdcontrol は、ホスト機に直接つながっているキーボードのハードウェア設定のためのコマンドなので、これを変えてもクライアント端末のキーボード配列は変更できません。

ホスト側のTELNET デーモンは、接続時に端末側から指定された端末種類を読み取って、それにしたがった個々のキーに対応するコードの組み合わせを受け取っているだけで、端末側でどのキーが押されたかを直接受け取っているわけではありません。

このため、キーボードの配列を変更したい場合には、TELNET を起動しているクライアントの方...続きを読む

QRedHat 6.2 のtelnetのリモートアクセスができない

RedHat6.2をPCにインストールしたのですが、
Telnetのローカルログインは、できるのですが、リモート
ログインができません。
設定がわるいのでしょうか。

インストール方法としては、サーバパッケージでインストールしました。

一応チェックした点としては、
etc/hosts.allow
etc/hosts.denny
etc/inetd.conf

リモート端末は、Tera Termですが、サーバのポート23
は、クライアントからは、見えてます。

ローカルだと、ログオンしてカーネルが走って、login:
が表示します。
リモートだと、接続するのですが、肝心のlogin:がでません。
ご存知の方は、教えてください。

Aベストアンサー

LocalHostからTelnetできるのであればtelnetdはinetdから起動がかかっているはずなので、inetd.confは問題ないのではないでしょうか?

するとネットワークの設定か、hosts.allowの問題ではないでしょうか?
#この状況ですと多分hosts.allowの設定に
#誤りがあるような・・・
#問題なければhosts.allowの記述を教えてください。

Qリモートから自宅サーバにsshまたはtelnetでログオンするとタイムアウトで切断されます。

Red Hat Linux 9.0で自宅サーバを構築しました。
Tera termでssh接続をしたいと思ってます。

機器構成は以下のとおりです。

インターネット
 |
 |
自宅サーバ(Linux) global IP:xxx.xxx.xxx.xxx
 |   private IP:192.168.0.1
 |
HUB
 |
自宅内クライアント(Windows2000)
private IP:192.168.0.17


Windows2000からであれば、
接続可能です。
外からリモートで接続しようとすると、
タイムアウトで接続を切断されます。
リモートから自宅サーバのIPにpingをうつと
問題なく通ります。

過去の質問をみると、time out設定はtera term側
ではなくサーバ側だという情報もありましたが、
具体的な設定場所は明記されていませんでした。

リモートから自宅サーバのLinuxをどうしても
操作したいので、お助けください。
よろしくお願いいたします。

Red Hat Linux 9.0で自宅サーバを構築しました。
Tera termでssh接続をしたいと思ってます。

機器構成は以下のとおりです。

インターネット
 |
 |
自宅サーバ(Linux) global IP:xxx.xxx.xxx.xxx
 |   private IP:192.168.0.1
 |
HUB
 |
自宅内クライアント(Windows2000)
private IP:192.168.0.17


Windows2000からであれば、
接続可能です。
外からリモートで接続しようとすると、
タイムアウトで接続を切断されます。
リモートから自宅サーバのIPにpingをう...続きを読む

Aベストアンサー

(追加)
RedHat9ですから、iptables(またはlokkit)でFWを動作されていると
思いますが、その設定を確認してみて下さい。
WAN側でtelnetdまたはsshdのポートは空けてるのでしょうか?

また、telnetdもsshdもlibwrapperが組み込まれているので
/etc/hosts.allow /etc/hosts.denyの設定も必要です。

当然sshdが動いている事、xinetd経由でtelnetdが起動される事。

QtelnetでBackspaceキーが効かない

WindowsのTera TermからSunOS 5.8のワークステーションにtelnetでログインした時の話ですが、マシンによって、Backspaceキーが効かず"^H"というように表示されてしまいます。どちら側で、どうせっていすれば、キーが効くようになるのでしょうか?

Aベストアンサー

デフォルトのSHELLがshなら、
.profileに
stty erase "^H"
を書き込んでおけば良いかと、、、

または、その都度プロンプトから
stty erase [BS][Enter]
で治るかも、、、


このカテゴリの人気Q&Aランキング

おすすめ情報