URL: https://linuxfr.org/forums/astucesdivers/posts/terminal-mon-environnement-shell Title: [Terminal] Mon environnement shell Authors: Mildred Date: 2007年11月10日T15:46:44+01:00 Tags: Score: 1 Bonsoir, J'aime bien utiliser mon shell, mais pas seulement. J'aime bien aussi mon interface graphique. Pour moi, le meilleur vient lorsqu'on mélange les deux. Je vous propose donc mes petits scripts et alias que j'ai développé pour cela: Mais d'abord un résumé : **E** — lance mon éditeur favori (kwrite) en arrière plan et le détache du terminal **EE** — lance mon éditeur favori au premier plan **EEsudo** — équivalent en mieux de sudo -e (copie le fichier lorsqu'il est modifié. Permet donc de tester les modifications sans avoir à quitter son éditeur de texte (car kwrite met du temps à démarrer) **Esudo** — pareil que EEsudo mais lance en arrière plan **P** — utilise kwrite comme pager **bsudo** — équivalent de sudo -b **delbakfile** — supprime les fichiers *~ du répertoire courant **fb** — lance mon navigateur de fichier (nautilus --browser ou thunar) **fm** — lance mon gestionnaire de fichier en mode visuel (nautilus ou thunar) **prename** — perl rename [http://www.perlmonks.org/?node_id=303814] **s** — (start) lance une commande en arrière plan et la détache du shell. Redirige toutes les sorties dans /dev/null **term** — lance mon émulateur de terminal favori (gnome-terminal) en arrière plan (et le détache) Maintenant mes alias dfh='df -h' duh='du --si' l=ls la='ls -ha' ll='ls -lh' lla='la -lha' ls='ls --color=auto' mplayer-fb='mplayer -vo fbdev2 -vf scale=1024:768 -quiet' rm='rm -i' Et maintenant le code source pour chacun de mes petits outils: **E** #! /bin/sh if [ -z "$DISPLAY" ]; then exec nano "$@" else EE "$@" & disown 2>/dev/null fi exit 0 **EE** #! /bin/bash if [ -z "$DISPLAY" ]; then exec nano "$@" fi exec kwrite "$@" >/dev/null 2>&1 **EEsudo** #! /bin/sh if [ -z "$DISPLAY" ]; then do_sudo(){ sudo "$@" return "$?" } else do_sudo(){ gksudo -- "$@" return "$?" } fi #sudo -v if [ -z "$DISPLAY" ]; then EDITOR=E exec sudo -e "$@" else while [ "$#" -gt 1 ]; do "0ドル" "1ドル" & shift; done orig="1ドル" file_pattern="`basename "$orig"`" file="`mktemp -t "$file_pattern.XXXXXXXXXX"`" || exit 1 file_timestamp="`mktemp -t "$file_pattern.timestamp.XXXXXXXXXX"`" || exit 1 #do_sudo sh -c 'cat "0ドル" > "1ドル"' "$orig" "$file" touch "$file_timestamp" do_sudo sh "`dirname 0ドル`/EEsudo.root" "$orig" "$file" "$file_timestamp" "$$" & wait=true stop(){ wait=false #echo "Stop sleep" } notify(){ echo "EEsudo: Save $file into $orig" } trap notify USR1 trap stop HUP while $wait; do #echo "Sleep pid=$$" sleep 0.1s done EE "$file" & eepid="$!" while ! wait "$eepid"; do true; done rm "$file_timestamp" #echo "Wait for saving process to finnish" wait rm -f "$file" "$file_timestamp" fi **Esudo** #! /bin/sh if [ -z "$DISPLAY" ]; then EDITOR=E exec sudo -e "$@" else EEsudo "$@" >/dev/null 2>&1 & disown 2>/dev/null fi exit 0 **P** #! /bin/sh if [ -z "$DISPLAY" ]; then exec less else kwrite --stdin >/dev/null 2>/dev/null <&0 & disown 2>/dev/null fi exit 0 **bsudo** #! /bin/sh # background sudo gnome-sudo 'echo -n' 2>/dev/null /usr/bin/sudo -b "$@" >/dev/null 2>&1 exit $? **delbakfile** #! /bin/bash filelist="`ls *~`" #echo $filelist [ -z "$filelist" ] && exit 0 ls *~ echo -n "Delete these files ? (y/N)" read -n 1 ans echo if [ "$ans" = y -o "$ans" = Y ]; then rm -f *~ else echo "Canceled." fi **fb** #! /bin/sh fb="nautilus --browser" # launch filemanager (browser) $fb ./ >/dev/null 2>&1 & res=$? disown 2>/dev/null exit $res **fm** #! /bin/sh # launch filemanager fm=nautilus dir="./" if [ -d "1ドル" ]; then dir="1ドル" fi $fm "$dir" >/dev/null 2>&1 & res=$? disown 2>/dev/null exit $res **s** #! /bin/sh # s : start a command line in background # without annoying me with anything. "$@" >/dev/null 2>&1 & res=$? disown 2>/dev/null exit $res **term** #! /bin/sh gnome-terminal "$@" & >/dev/null 2>&1 disown >/dev/null 2>&1 Typiquement, j'utilise énormément E, Esudo, s et fb que je trouve très pratiques. Et vous ? J'ai aussi beaucoup d'autres scripts qui me servent notament à initialiser ma session (le fichier ~/.xsession). A ce moment là, je définis des variables d'environnement, je lance ssh-agent et d'autres broutilles, et je prompte avec xmessage (je sais que zenety existe mais je prefère xmessage) pour demander sur quelle session je vais démarrer (GNOME, KDE, xfce, ...) ou si je veux stopper la session. Et encore un script qui me permet de gérer les liens symboliques de tout mes fichiers de config perso (~/.*) vers ~/.local/config/. Je ne met dans ~/.local/config que les fichiers de config importants et je sais que les autres, je peux les détruire. Évidamment, les trucs comme gconf ne fonctionnent pas. Et vous, comment vous faites ?

AltStyle によって変換されたページ (->オリジナル) /