Christian KAKESA

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 7 novembre 2008

Personnaliser son prompt shell

Avoir un beau prompt shell (Linux)

Il y a quelques jours j'ai voulu avoir un prompt plus touchy avec quelques informations supplémentaires en permanence comme l'heure, la date, le chemin courant etc... J'ai commencer lire quelques tutoriels sur la personnalisation du terminal linux et je suis tombé sur un exemple qui me satisfait parfaitement.
Voici l'image de la copie d'écran de mon prompt actuel :
Copie d'écran de mon shell
Merci l'auteur d'avoir déj réalisé ce script bien utile.

Script d'origine :

#!/bin/bash
# based on a function found in bashtstyle-ng 5.0b1
# Original author Christopher Roy Bratusek (http://www.nanolx.org)
# Last modified by ayoli (http://ayozone.org) 2008-02-04 17:16:43 +0100 CET 

function pre_prompt {
newPWD="${PWD}"
user="whoami"
host=$(echo -n $HOSTNAME | sed -e "s/[\.].*//")
datenow=$(date "+%a, %d %b %y")
let promptsize=$(echo -n "--($user@$host ddd, DD mmm YY)---(${PWD})---" \
                 | wc -c | tr -d " ")
let fillsize=${COLUMNS}-${promptsize}
fill=""
while [ "$fillsize" -gt "0" ] 
do 
    fill="${fill}—"
	let fillsize=${fillsize}-1
done
if [ "$fillsize" -lt "0" ]
then
    let cutt=3-${fillsize}
    newPWD="...$(echo -n $PWD | sed -e "s/\(^.\{$cutt\}\)\(.*\)/\2/")"
fi

}

PROMPT_COMMAND=pre_prompt

export black="\[\033[0;38;5;0m\]"
export red="\[\033[0;38;5;1m\]"
export green="\[\033[0;38;5;2m\]"
export yellow="\[\033[0;38;5;3m\]"
export blue="\[\033[0;38;5;4m\]"
export magenta="\[\033[0;38;5;55m\]"
export cyan="\[\033[0;38;5;6m\]"
export white="\[\033[0;38;5;7m\]"
export coldblue="\[\033[0;38;5;33m\]"
export smoothblue="\[\033[0;38;5;111m\]"
export iceblue="\[\033[0;38;5;45m\]"
export turqoise="\[\033[0;38;5;50m\]"
export smoothgreen="\[\033[0;38;5;42m\]"

PS1="$green┌─($coldblue\u@\h \$(date \"+%a, %d %b %y\")$green)─\${fill}─($coldblue\$newPWD\
$green)────┐\n$green└─($coldblue\$(date \"+%H:%M\") \$$green)─>$white "

# bash_history settings: size and no duplicates and no lines w/ lead spaces
exportHISTCONTROL="ignoreboth"
export HISTSIZE=1024

# aliases #############################################

# enable color support of ls and also add handy aliases
eval `dircolors -b`
alias ls='ls --color=auto'
alias dir='ls --color=auto --format=vertical'
alias vdir='ls --color=auto --format=long'

# some more ls aliases
alias ll='ls -lhX'
alias la='ls -A'
alias ldir='ls -lhA |grep ^d'
alias lfiles='ls -lhA |grep ^-'
#alias l='ls -CF'

# To see something coming into ls output: lss
alias lss='ls -lrt | grep $1'

# To check a process is running in a box with a heavy load: pss
alias pss='ps -ef | grep $1'

# usefull alias to browse your filesystem for heavy usage quickly
alias ducks='ls -A | grep -v -e '\''^\.\.$'\'' |xargs -i du -ks {} |sort -rn |head -16 | awk '\''{print $2}'\'' | xargs -i du -hs {}'

# cool colors for manpages
alias man="TERMINFO=~/.terminfo TERM=mostlike LESS=C PAGER=less man"

##########################################################
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

Google Gadgets sur Debian Lenny

Installation de Google Gadgets sur Debian Lenny

Voici la procédure pour profiter des gadgets de Google.

sudo apt-get install build-essential autoconf automake libtool
sudo apt-get install libcurl4-openssl-dev libdbus-1-dev libgstreamer-plugins-base0.10-dev libgtk2.0-dev libmozjs-dev libqt4-dev libqt4-opengl-dev librsvg2-dev libxml2-dev xulrunner-dev xulrunner-1.9 xulrunner-1.9-gnome-support
wget http://google-gadgets-for-linux.googlecode.com/files/google-gadgets-for-linux-0.10.2.tar.bz2
tar -jxvf google-gadgets-for-linux-0.10.2.tar.bz2
cd google-gadgets-for-linux-0.10.2
./configure
make && sudo make install

Pour lancer l'application ggl-qt pour la version Qt ou ggl-gtk pour la version gtk

ggl-gtk

mercredi 8 octobre 2008

Installer une police de caractère pour un utilisateur avec fontconfig [linux]

Installons la police de caractère "Monaco" (les utilisateurs mac connaissent bien cette police).
Dans un premier créons le fichier "~/.fonts.conf" et le répertoire "~/.fonts".

>$ mkdir ~/.fonts
>$ touch ~/.fonts.conf

Récupérer la police de caractère monaco.ttf : http://www.gringod.com/2006/02/24/return-of-monacottf/

>$ cd ~/.fonts
>$ wget http://url_de_la_police/monaco.ttf
>$ fc-cache

Ici la commande "fc-cache" permet de vider le cache des polices de l'utilisateur.
Une fois réalisé toutes les applications GTK, QT3/+ proposeront la nouvelle police.

Il est possible de personnaliser la gestion des polices de caractères grâce au fichier "~/.fonts.conf". Vous pouvez lire sa documentation en ligne http://fontconfig.org/fontconfig-user.html.
Voici un exemple basique de mon fichier "~/.fonts.conf"

<?xml version="1.0">                                                                                                                      
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">                                                                                                   
<fontconfig>                                                                                                                               
        <match target="font">                                                                                                              
               <test qual="all" name="rgba"><const>unknown</const></test>                                                                  
               <edit name="rgba" mode="assign"><const>rgb</const></edit>                                                                   
        </match>                                                                                                                           
        <match target="font">                                                                                                              
               <edit name="autohint" mode="assign"><bool>true</bool></edit>                                                                
        </match>                                                                                                                           
        <match target="font">                                                                                                              
               <test qual="any" name="family" compare="eq"><string>Monaco</string></test>                                                
                <edit name="antialias" mode="assign"><bool>true</bool></edit>                                                              
        </match>                                                                                                                           
</fontconfig>

dimanche 27 janvier 2008

Le repertoire /usr sous linux kezako ?

Ce billet est une dédicasse pour un amis (geek) qui ne m'a pas crut que le répertoire "/usr" ne voulait pas dire user mais Unix System Ressource.

It's 4 U Kil....

jeudi 1 mars 2007

Eliminer les fin de ligne windows '^M' la fin d'un fichier [UNIX]

Bon je vais immortaliser cette commande magique qui permet de nettoyer les fins de lignes windows :

sed s/<CTRL>+V<Entrer>//g mon_fichier_pourri > mon_fichier_clean

Ce qui doit donner ceci l'invite de commande : sed s/^M//g mon_fichier_pourri > mon_fichier_clean

++