* shell *バッファーのsshで「ターミナルが完全に機能しない」


8

シェル(M-x shell)を使用して、SSH経由でリモートホストに接続しています。いくつかのコマンドラインツール(主にpsql、postgresqlコマンドラインインターフェイスですが、たとえばmanも同じ)を起動すると、シェルから次の警告が表示されます。

WARNING: terminal is not fully functional                                                    
-  (press RETURN) 

私の知る限り、これはポケットベルの問題のように見えます。ページャを変更しcat、私の中.emacsのファイル:

(setenv "PAGER" "/bin/cat")

これらのメッセージを取り除くのに役立ちましたが、ローカルコマンドに対してのみです(そして、ポケットベルとしてcatを使用してもかまいません)。Emacsのローカルインスタンスは1つしかないので、リモートホストで別のポケットベルを使用する方法はありますか?または、可能な場合に切り替えることなく、警告メッセージを取り除くための他の方法ansi-term?助けになるなら、私はGNU Emacs 24.3.1を使っています。


4
または、を使用M-x ansi-termするのではなく、を使用して、完全に機能する端末を実行しM-x shellます。
フィル、2014年

回答:


9

「問題」とはM-x shell(またはM-x eshellbtw)、Emacsは非常に限られたターミナルエミュレータを使用するため、TERM正しく設定されます。dumb

派手なポケットベルはそのような制限された制約の下で動作できないため、cat代わりに使用する必要があります。さて、そのシェルからssh接続を開くと、TERMまだ馬鹿げPAGERていますが、他のシステムが使用する必要があると思われるものにリセットされます。これを修正するには、リモートシステムのシェル構成を変更して、ダム端末からアクセスするときに適切なデフォルトを使用するようにする必要があります。

何かのようなもの:

[ "$TERM" = "dumb" ] && export PAGER=/bin/cat

答えてくれてありがとう。リモートサーバーの設定を変更するつもりはないので、ssh接続文字列で環境変数を送信しようとするか、単にansi-termに慣れることができます。
KookieMonster 2014年

色を表示するページャーはありますか?
erjoalgo 2015年

@erjoalgo色については、catの代わりにccatを使用できます。結果は本当に甘いです:)
prosoitos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.