emacsシェルモードのGNU画面:カラーエスケープコードを修正する方法

StackOverflow https://stackoverflow.com/questions/4689822

  •  11-10-2019
  •  | 
  •  

質問

シェルモードで、Emacs内に画面またはTMUXを添付したいと思います。私は、リモートサーバー上の画面内で劣ったプロセスを備えたEMACを実行していることがよくあります。ワークフローをローカルEMACS +トランプにシフトできればいいでしょう。ただし、永続的なセッションを再装備する能力は必須です。 (そのようなワークフローは、R [1]の分析に特に役立ちます)

シェルモードは、MX用語またはMX ANSI-TERM +スクリーン + Rの組み合わせを使用すると、その他のグリッチに遭遇し続け、さらにはクラッシュします。 MXシェルの下で実行するときに画面を画面。使用するとき ansi-color-for-comint-mode-on, 、彼らは大丈夫です - しかし、画面が点灯するとすぐに、それは恐ろしい混乱になります。

シェル +スクリーンまたはTMUXを使用してANSI色を適切に解釈するための一連の条件を理解した人はいますか?色を完全に取り除くのはどうですか?..永続的なリモートプロセスを実行してローカルエマックに取り付けるという点で、他の選択肢がありますか?..

[1] http://blog.nguyenvq.com/2010/07/11/using-r-ess-remote-with-screen-in-emacs/

役に立ちましたか?

解決

私が知る限り、画面では、emacsのシェルモードには、VT100のような従来のキャラクター端末ではないという理由だけで、Emacsのシェルモードが単に提供できず、提供できないという端末の機能が必要です。したがって、問題は、カラーコードを取り除いたり解釈しようとすることではありません。画面が正しく機能する必要がある端末機能が増えます。

デフォルトでは、画面がEMACSのシェルモードで起動することさえありません。 Webの周りの一部の投稿は、ターミーを設定するように設定してこれを回避することを提案しているようですが、端末にはXtermの機能があると考えてスクリーンをだましているだけです。

EMACSの用語とANSI-Termモードは、画面で必要な端末機能を提供しますが、残念ながらこれらのモードに問題があったようです。

代わりに私が提案するのは、「emacsclient -t」コマンド(EMACSの一部)を見ることです。以前に作成された画面インスタンス。そうすれば、おそらくローカルコンピューターにemacsclientを構成して、TCPを介して永続的なリモートEMACSインスタンスに再接続することができます。

他のヒント

画面は使用していませんが、.bashrcからこれを修正できます。そこにはたくさんの条件付きコードがあり、Xterm Windowsの色をオンにしますが、それをサポートしていない他の端子にはオフにします。 MXシェルは、変数という用語をダムに設定するため、それをテストしてそれに応じて色を設定できます。

case "$TERM" in
dumb)
## non-color settings here
;;
xterm)
## color settings here
;;
*)
## default (maybe you want non-color here?)
;;
esac
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top