Contenu | Rechercher | Menus
Cette page est en cours de rédaction.
Apportez votre aide…

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'affiche automatiquement en cas de partage avec SAMBA :
partagesamba.jpg

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 :

gksudo 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 :

gksudo 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.txt · Dernière modification: Le 20/12/2010, 23:33 par Aldian
Le contenu de ce wiki est sous licence : CC BY-SA v3.0