"Terminal no es completamente funcional" sobre ssh en un búfer * shell *

8

Estoy usando el shell ( M-x shell) para conectarme a un host remoto a través de SSH. Después de lanzar algunas herramientas de línea de comando (principalmente psql , la interfaz de línea de comando postgresql, pero man sería el mismo, por ejemplo), el shell me está dando la siguiente advertencia:

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

Hasta donde yo sé, esto parece un problema de buscapersonas. Cambiar el localizador a catmi .emacsarchivo:

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

me ayudó a deshacerme de esos mensajes, pero solo para los comandos locales (y no me importa usar cat como buscapersonas). Como solo tengo una instancia local de Emacs, ¿hay alguna manera de usar un localizador diferente en el host remoto? ¿O alguna otra forma de deshacerse de los mensajes de advertencia, si es posible sin cambiar a ansi-term? Si es de alguna ayuda, estoy usando GNU Emacs 24.3.1.

KookieMonster
fuente
44
Alternativamente, use M-x ansi-termpara ejecutar un terminal completamente funcional, en lugar de usar M-x shell.
Phil

Respuestas:

9

El "problema" es que con M-x shell(o por M-x eshellcierto), Emacs usa un emulador de terminal muy limitado, por lo que TERMestá configurado correctamente endumb

Los buscapersonas de lujo no pueden operar bajo restricciones tan limitadas, por lo que debes usarlos cat. Ahora, cuando abre una conexión ssh desde ese shell, TERMtodavía es tonto, pero PAGERse restablece a lo que el otro sistema cree que debería usar. Para solucionar esto, debe modificar su configuración de shell en el sistema remoto para que use valores predeterminados decentes cada vez que se acceda desde un terminal tonto.

Algo como:

[ "$TERM" = "dumb" ] && export PAGER=/bin/cat
Sigma
fuente
Gracias por la respuesta. Como no se supone que modifique la configuración del servidor remoto, podría intentar enviar variables env con mi cadena de conexión ssh ... ¡o simplemente acostumbrarme a ansi-term!
KookieMonster
¿hay un buscapersonas que muestre color?
erjoalgo
@erjoalgo Para los colores, puede usar ccat en lugar de cat. El resultado es realmente dulce :)
prosoitos