Frage

Ich möchte Bildschirm oder tmux innerhalb Emacs befestigen, im Shell-Modus. Ich finde ich oft Emacs mit minderwertigen Vorgängen im Bildschirm auf Remote-Servern ausgeführt wird; es wäre schön, wenn ich den Workflow zu lokalen Emacs + TRAMP verschieben könnte; Fähigkeit permanente Sitzungen wieder zu befestigen ist ein Muss, aber. (Eine solche Arbeitsablauf ist besonders nützlich für die Analyse in R [1])

Shell-Modus ist eher wünschenswert, weil ich verschiedene Pannen halten zu begegnen und sogar stürzt ab, wenn die Kombination von Mx Begriff oder Mx ansi-Begriff mit + Bildschirm + R. Allerdings kann ich nicht ansi farbig gemacht, um loszuwerden, scheint als Escape-Codes in Bildschirm, wenn sie unter Mx Shell ausgeführt. Als ich ansi-color-for-comint-mode-on benutzen, sie sind in Ordnung - aber sobald Bildschirm kommt, wird es eine schreckliche Chaos.

Hat jemand für die richtige Interpretation der ansi Farbe aus dem Satz von Bedingungen rechnet mit Shell + Bildschirm oder tmux? Was ist immer ganz der Farbe los? .. Gibt es andere Alternativen in Bezug auf persistente Remote-Prozesse laufen und sie an die lokalen Emacs? ..

Anbringen

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

War es hilfreich?

Lösung

Soweit ich sagen kann, Bildschirm erfordert Funktionen Ihres Terminal, dass Emacs' Shell-Modus einfach nicht und nicht zur Verfügung stellen kann, einfach weil es keine traditionelle Charakter Terminal wie VT100 ist. Also das Problem ist nicht über loszuwerden oder zu versuchen, Farbcodes zu interpretieren -. Mehr Terminal-Funktionen sind, dass Bildschirm korrekt zu funktionieren erfordert

Mit dem Standard-Bildschirm wird auch nicht in Emacs' Shell-Modus starten, soweit ich sagen (es Fehler heraus sagen, es ist klar Screen-Fähigkeit muss) kann. Einige Beiträge rund um das Internet scheinen TERM = xterm zu arbeiten, um diese vorzuschlagen Einstellung, aber es ist nur fooling Bildschirm zu denken, das Terminal die Fähigkeiten von XTerm- hat, die es nicht haben.

Der Begriff und Ansi Zeit Modi von Emacs wäre die Endgerätefähigkeiten von Screen erforderlich bieten, aber leider scheinen Sie mit dieser Modi hatten Probleme zu haben.

Was würde ich vorschlagen, stattdessen einen Blick auf dem „emacsclient -t“ -Befehl zu haben wäre (Teil des Emacs), mit dem Sie einem lokalen Rahmen zu einer vorhandenen Emacs-Instanz in einer ähnlichen Art und Weise verbunden öffnen kann als Bildschirm Dir erlaubt zu einer zuvor erstellten Bildschirm Instanz wieder zu verbinden. So kann man vielleicht ein emacsclient auf Sie lokalen Computer Reconnect über TCP zu einer persistenten Remote-Emacs-Instanz konfigurieren können.

Andere Tipps

Ich benutze keinen Bildschirm, aber vielleicht können Sie dieses Problem beheben von .bashrc. Ich habe dort eine Reihe von bedingten Code bekam, Farbe Anschalten für xterm Fenster, aber es weg für andere Endgeräte zu verlassen, die sie nicht unterstützen. M-x Shell setzt die Variable TERM auf stumm, so dass Sie entsprechend die Farbe für das und setzen testen können.

case "$TERM" in
dumb)
## non-color settings here
;;
xterm)
## color settings here
;;
*)
## default (maybe you want non-color here?)
;;
esac
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top