Trabalhei em torno da minha própria solução a partir de vários posts. Isso cria um título contendo o comando user, hostname, pwd, tty e atualmente executado (por bash).
Isto se parece com isto (nenhum comando sendo executado):
.:[user@hostname:/home/user][pts/10]:.
E assim (executando um comando):
.:[user@hostname:/home/user][pts/10] {tail -F /var/log/syslog}:.
Em algum lugar no .bashrc, estendi o PS1:
# set the terminals title. This is the "post-command" part,
# need to use a trap for pre-command (to add the command line to the title)
PS1+="\[3]2;.:[\u@\h:\$PWD] [$(tty | cut -b 6-)]:.# set a fancy title (this is pre-command, in PS1 is after-command (to reset command)
trap 'echo -ne "3]2;.:[${USER}@${HOSTNAME}:${PWD}] [$(tty | cut -b 6-)] {$(history 1 | sed "s/^[ ]*[0-9]*[ ]*//g")}:..:[user@hostname:/home/user][pts/10]:.
7"' DEBUG
7\]"
Adiciona o comando atual, usando histórico 1 e trap :
.:[user@hostname:/home/user][pts/10] {tail -F /var/log/syslog}:.
Sinta-se à vontade para adotar as suas necessidades.