Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

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 : partagesamba.jpg

Pour permettre cette option, il vous faut installer l'extension Python à Nautilus. Pour cela, il suffit d'installer le paquet python-nautilus.

  • 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
Il semble que depuis Hardy, le sous-dossier extensions-1.0 ait été remplacé par extensions-2.0

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
La valeur 300 dans le script indique le délai en seconde avant régénération du cache (fichier : /tmp/.shared). J'ai pour ma part modifié cette valeur à 1 pour que l'icône se modifie instantanément dès le rafraichissement de Nautilus (touche F5).

Voici donc ce que vous devriez obtenir :

shared.jpg

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.

  • tutoriel/comment_avoir_icone_partage_samba.1290473233.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)