dimanche 29 janvier 2012

Gérer les documents récents dans gnome-shell

Gnome-shell fait apparaître les documents récents à chaque recherche, pour la confidentialité c'est pas vraiment top.

Quelques astuces pour gérer les documents récents sous gnome-shell (et gnome par la même occasion)


Préambule:

Par défaut Gnome et Gnome-shell conservent la trace des documents récents dans un fichier : recently-used.xbel (pour Unity c'est zeitgeist qui se charge du boulot).

Pour les dernières versions de gnome, vous pouvez retrouver ce fichier à l'adresse suivante: ~/.local/share/recently-used.xbel, pour les versions antérieures il se trouve à ~/.recently-used.xbel.

1) Effacer l'intégralité du fichier 
Dans un terminal, taper :

cat /dev/null > ~/.local/share/recently-used.xbel
Puis relancer gnome-shell (Alt+F2, puis r)

2) Effacer une data du fichier et une seule
Par ce qu'il peut être utile de garder certaines données et d'en effacer d'autres
Il suffiet de repérer les balises "Bookmark" qui encadre l'entrée à supprimer.

Le batch suivant réalise la manip.

#!/bin/bash
# Efface une et une seule entrée dans le fichier .recently-used.xbel (documents récents du gnome-shell
# Attention au répertoire : version ancienne de gnome : ~/.recently-used.xbel

# Ecriture d'un fichier temporaire
cat ~/.local/share/recently-used.xbel > essai_book &&

choix=`cat essai_book | grep -n "<bookmark href=" | zenity --list --title="Gnome Documents Récents enregistrés" --text="Sélectionner le point de SVG à supprimer"  --height "600" --width "800" --column="Points de SVG" `

if [ -z "$choix" ] ; then
rm essai_book
exit
fi

# Recherche des N° de lignes de début et de fin de bookmark
ligne1=`echo $choix | cut -d":" -f1`
ligne2=`tail -n +$ligne1 essai_book | grep -n -m 1 "bookmark>" | cut -d":" -f1`
ligne2=$(($ligne2-1+$ligne1))

# Effacement de l'intervalle de ligne1 à ligne2
sed ''$ligne1','$ligne2'd' essai_book > ~/.local/share/recently-used.xbel
zenity --info --title "Gnome Documents Récents" --text "Effacement effectué : Bye" --timeout "5"

# Effacement du fichier temporaire

rm essai_book

exit



3) Passer en mode "privé"

Pour désactiver l'enregistrement des documents récents:
Dans un terminal, taper :
sudo chattr +i ~/.local/share/recently-used.xbel

Pour réactiver l'enregistrement des documents récents:
Dans un terminal, taper : 
sudo chattr -i ~/.local/share/recently-used.xbel



Le script suivant vous permettra de basculer dans un mode ou dans l'autre:

#!/bin/bash
# Bloquer les écritures dans .recently-used.xbel (documents récents du gnome-shell)
# Attention au répertoire : version ancienne de gnome : ~/.recently-used.xbel
# A adapter selon le chemin au fichier
fichier="/<chemin>/<d'accès>/<au>/.local/share/recently-used.xbel"

if [ $USER = root ]
    then echo "Vous êtes root"
else
    echo "Vous n'êtes pas root, execution du script en sudo"
    gksu $0
    exit
fi

attribut=` sudo lsattr "$fichier"| cut -d'-' -f5 ` &&

if [ "$attribut" == "i" ] ; then
zenity --question --text="Gnome est en mode  confidentiel, voulez-vous quitter ce mode ?" && sudo chattr -i "$fichier" && zenity --info --text=" <b><span color=\"red\"> Gnome n'est plus en mode confidentiel </span></b> " || exit

else
zenity --question --text="<b><span color=\"red\"> Gnome n'est pas en mode confidentiel </span></b>, voulez-vous l'activer ?" && sudo chattr +i "$fichier" && zenity --info --text="Gnome est maintenant en mode <b><span color=\"red\"> confidentiel </span></b>" || exit
fi

exit




PS : Les batch ci-dessus sont bruts de fonderie, ils sont donc à utiliser en connaissance de cause...

Info Butinée IcI

2 commentaires:

  1. exactement ce que je cherchais, merci bcp :D

    RépondreSupprimer
  2. Merci pour le tuyau... c'est pas percé!
    Parfaitement fonctionnel sous Fedora 17, Gnome 3

    RépondreSupprimer