====== Screen ======
===== Présentation =====
* [[http://www.clx.anet.fr/spip/article.php3?id_article=242|Introduction à screen]]
===== Configuration (barre de statut et une barre de titre) =====
Exemple de configuration utilisant une barre de statut et une barre de titre :
caption always "%{= bb}%{+b w}%h %=%t %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
Les deux sont modifiables via le shell en utilisant des séquences d'échappement particulières, par exemple, en [[:shell:zsh]] on aura
quelque chose du genre :
function title {
# Use these two for GNU Screen:
local myhost
myhost=${$(hostname)//.*/}
print -nR $'\033k'$myhost$'\033'\\
print -nR $'\033]0;'$1$'\a'
}
preexec () {
emulate -L zsh
local -a cmd; cmd=(${(z)1})
title ${$(hostname)//.*/} "$cmd[1,-1]"
}
Pour mettre de façon automatique la barre de statut.
{{outils:shell.png}}
===== Configuration (affiche $PWD ainsi que la commande en cours) =====
Exemple de configuration affichant $PWD ainsi ainsi que la commande en cours [[:shell:zsh]] :
caption always "%{+u ck}%?%-w%?%{mk}[%t]%{ck}%?%+w%?"
hardstatus alwayslastline "%{kc} @%{+b kw}%H%{-b kc} %c-%D %d/%m/%y %{kc} ld: %l %{kc} %{kc}%1`%= %2`%= %{kc}"
if [[ $TERM == "screen" ]]; then
TAB_TITLE_PREFIX='"${USER}$PROMPT_CHAR"'
TAB_TITLE_PROMPT='`echo $PWD | sed "s/^\/Users\//~/;s/^~$USER/~/;s/\/..*\//\/...\//"`'
TAB_TITLE_EXEC='$cmd[1]:t'
TAB_HARDSTATUS_PREFIX='"[`echo $PWD | sed "s/^\/Users\//~/;s/^~$USER/~/"`] "'
TAB_HARDSTATUS_PROMPT='$SHELL:t'
TAB_HARDSTATUS_EXEC='$cmd'
function screen_set()
{
print -nR $'\033k'$1$'\033'\\\
print -nR $'\033]0;'$2$'\a'
}
function preexec()
{
local -a cmd; cmd=(${(z)1}) # the command string
eval "tab_title=$TAB_TITLE_PREFIX$TAB_TITLE_EXEC"
eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX$TAB_HARDSTATUS_EXEC"
screen_set $tab_title $tab_hardstatus
}
function precmd()
{
eval "tab_title=$TAB_TITLE_PREFIX$TAB_TITLE_PROMPT"
eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX$TAB_HARDSTATUS_PROMPT"
screen_set $tab_title $tab_hardstatus
}
fi
{{outils:sheel1.png}}
À voir également :
* [[config:asyd|Fichiers de configurations d'asyd]]