Guide de dépannage du Bureau GNOME 2.0 pour l'environnement d'exploitation Solaris

6.1 Le titre défini dynamiquement ne fonctionne pas

Problème  

Bug 4855527, Terminal.

Dans la fenêtre Édition de profil, onglet Titre et commande, les options de menu du menu déroulant Titre défini dynamiquement ne fonctionnent pas. L'application Terminal utilise la variable d'environnement de shell bash suivante pour définir le titre dynamiquement et l'invite du shell :

PROMPT_COMMAND=$'echo -ne "\\033]0;${USER}@${HOSTNAME}: ${PWD}\\007"' PS1=$'[\\u@\\h \\W]\\$ ' USER=`id -un`

Sur Linux, /etc/bashrc définit les variables d'environnement requises, mais ne les définit pas dans l'environnement d'exploitation Solaris. Ainsi, le titre défini dynamiquement et l'invite du shell ne fonctionnent pas dans l'environnement d'exploitation Solaris.

Solution  

Une solution de rechange consiste à définir la variable d'environnement requise en exécutant des scripts pour les différents shells. 

shell bash : 

Définir la variable suivante dans bashrc :

case $TERM in
         xterm*)
             PS1="\[\033]0;\u@\h: \w\007\]bash\\$ "
             ;;
         *)
             PS1="bash\\$ "
             ;;
     esac

(ou)

USER=`/usr/xpg4/bin/id -un`
export USER

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'

shell ksh : 

Ajouter la variable suivante dans le fichier ~.profile :

mycd () {
cd "${@}"; echo "\033]0;${USER}@${HOSTNAME}: ${PWD}\007\c"
}
alias cd=mycd

shell csh : 

Définir la variable suivante dans cshrc :

switch ($TERM)
         case "xterm*":
             set host=`hostname`
             alias cd 'cd \!*; echo -n "^[]0;${user}@${host}:
${cwd}^Gcsh% "'
             breaksw
         default:
             set prompt='csh% '
             breaksw
     endsw

Les caractères '^[' et '^G' de la chaîne d'invite sont des caractères simples pour ESC et BEL. Vous pouvez saisir ces caractères à l'aide des touches Ctrl+v+ESC et Ctrl+v+g.