Ceci est une ancienne révision du document !
Comment avoir une icône spéciale pour les dossiers partagés par Samba ?
Cet article va vous permettre d'avoir une icône "dossiers partagés" pour les dossiers partagés par Samba.
Pour cela, il va falloir insérer un script Python qui va se charger d'ajouter automatiquement l'emblème "shared" à l'icône du dossier partagé.
Ubuntu 10.10 : cette manipulation n'est plus nécessaire sous les dernières versions d'Ubuntu, une icône de partage (une double flèche) s'affichant automatiquement en cas de partage avec SAMBA :
Prérequis
Pour permettre cette option, il vous faut installer l'extension Python à Nautilus. Pour cela, il suffit d'installer le paquet python-nautilus.
Installation
- On commence par créer un fichier nommé shared.py dans /usr/lib/nautilus/extensions-1.0
Dans une console :
sudo gedit /usr/lib/nautilus/extensions-1.0/python/shared.py
La commande pour Hardy devient donc :
sudo gedit /usr/lib/nautilus/extensions-2.0/python/shared.py
Le fichier vierge s'ouvre…
- Copiez le texte ci-dessous et enregistrez
import nautilus import urllib import os import datetime,time class NCol_Shared(nautilus.InfoProvider): def __init__(self): pass def update_file_info(self, file): if not os.path.isfile("/tmp/.shared"): self._shared() if time.mktime(datetime.datetime.now().timetuple()) - os.path.getmtime("/tmp/.shared") > 300: self._shared() uri = urllib.unquote(file.get_uri()[7:]) if self._isShared(uri): file.add_emblem("shared") def _isShared(self,uri): f = open("/tmp/.shared",'r') lignes = f.readlines() f.close() try: i = lignes.index("%s\n"%uri) return True except ValueError: return False def _shared(self): os.system("cat /etc/samba/smb.conf | grep path | awk '{print $3;}' > /tmp/.shared")
- Il ne reste plus qu'à relancer Nautilus :
nautilus -q
Voici donc ce que vous devriez obtenir :
Article original et informations complémentaires :
http://www.blognote-info.com/index.php?2005/07/31/190-avoir-l-icone-dossier-partage&cos=1
Contributeurs : PiTiLeZarD,Gogy.