When I use SSH to login to a Ubuntu 12.04 machine from an ansi-term session in emacs the prompt displays incorrectly:
0;ubuntu@jumplin: ~ubuntu@jumplin:~$
This should look like the following:
ubuntu@jumplin:~$
I've tried a few of the suggestions in relation to utf-8 and colour support however they don't seem to be working (colour currently works fine in ansi-term):
Strange characters in ansi-term in emacs
I think it might have something to do with a unsupported ansi escape code or something like that, but I'm not really sure - the value of PS1 for this terminal session is:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Any advice would be much appreciated :) I always seem to get a bit lost when strange characters show up in terminal sessions.
\[\e]0;\u@\h: \w\a\]
in your prompt is to configure your xterm(?)'s title bar. Even though ANSI colorization is supported by ansi-term
, the escape sequences that manipulate title bar are not. That is why you see the prompt repeated twice - the first section is supposed to go to the title bar.
So either remove the first sequence from your PS1 or do something similar to what is suggested in Bash Prompt HOWTO:
function proml
{
case $TERM in
xterm*)
local TITLEBAR='\[\033]0;\u@\h:\w\007\]'
;;
*)
local TITLEBAR=''
;;
esac
PS1="${TITLEBAR}\
[\$(date +%H%M)]\
[\u@\h:\w]\
\$ "
PS2='> '
PS4='+ '
}
You can test specifically if you are in ansi-term
, the TERM
will be equal to eterm-color
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With