Я намагаюся домогтися, screenщоб встановити свою xtermназву. У мене це працює поза межами screen, але screenзберігає те, що заголовок мав місце, коли я його починав. Ось мій .bashrc:
функція bash_prompt_command () {
# Скільки символів $ PWD слід зберегти
локальний pwdmaxlen = 25
# Вкажіть, що відбулося усічення
локальний trunc_symbol = ".."
місцевий dir = $ {PWD ## * /}
pwdmaxlen = $ (((pwdmaxlen <$ {# dir})? $ {# dir}: pwdmaxlen))
NEW_PWD = $ {PWD / # $ HOME / \ ~}
локальний pwdoffset = $ (($ {# NEW_PWD} - pwdmaxlen))
if [$ {pwdoffset} -gt "0"]
потім
NEW_PWD = $ {NEW_PWD: $ pwdoffset: $ pwdmaxlen}
NEW_PWD = $ {trunc_symbol} / $ {NEW_PWD # * /}
фі
експорт NEW_PWD
}
PROMPT_COMMAND = bash_prompt_command
# Колірна діаграма @ http://wiki.archlinux.org/index.php/Color_Bash_Prompt
випадок "$ {TERM}" у
"xterm")
TITLEBAR = '\ [\ 033] 0; \ u @ \ h> $ {NEW_PWD} \ 007 \]'
PS1 = "$ {TITLEBAR} \ [\ e [1; 32m \] [\ e [0; 36m \] \ u \ e [1; 32m \] @ \ e [1; 33m \] \ h \ e [ 1; 32м \]] \ е [0; 37м \] \ $ {NEW_PWD} / \ e [1; 32м \] \ $ \ [\ е [0м "
;;
"екран")
TITLEBAR = '\ [\ 033] 0; \ u @ \ h> $ {NEW_PWD} \ 007 \]'
ESC = '\ [\ ek \ e \\\]'
PS1 = "$ {TITLEBAR} \ [\ e [1; 32m \] [\ e [0; 36m \] \ u \ e [1; 32m \]] \ e [0; 37m \] \ $ {NEW_PWD} / \ e [1; 32м \] \ $ $ {ESC} \ [\ e [0м "
;;
*)
PS1 = "\ [\ e [1; 32m \] [\ e [0; 36m \] \ u \ e [1; 32m \] @ \ e [1; 33m \] \ h \ e [1; 32m \ ]] \ e [0; 37м \] \ $ {NEW_PWD} / \ e [1; 32м \] \ $ \ [\ е [0м "
;;
есак
І ось мій .screenrc:
hardstatus завждилайн
hardstatus string '% {= kg} [% {Y}% H% {g}] [% =% {= kw}%?% - Lw%?% {= b kR} (% {W}% n-% t%? (% u)%?% {= b kR})% {= kw}%?% + Lw%?%?% =% {g}] [% {Y}% l% {g}]% {g} [% {B}% m.% d.% Y% {G}% c% {g}] '
termcapinfo xterm | xterms | xs | rxvt ti @: te @
termcapinfo xterm 'hs: ts = \ E] 2;: fs = \ 007: ds = \ E] 2; екран \ 007'
altscreen на
оболонка '$ | bash'
Що я роблю неправильно?
Оновлення (19 серпня 2010 р.):
Проблема полягає в тому, що ви не можете оновити назву терміналу зсередини екрану, коли ви встановили alwayslastline. Тож моє рішення полягало в тому, щоб просто відмовитись і погодитися на заздалегідь визначений, корисний заголовок для моїх сеансів на екрані. Моє оновлення .bashrcта .screenrcйого можна знайти на веб-сайті http://bitbucket.org/jsumners/rcfiles/src .