Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:comment_avoir_icone_partage_samba [Le 23/06/2008, 14:47] 82.121.220.224, 127.0.0.1 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Warty Hoary Breezy samba tutoriel}} | ||
- | ---- | ||
- | |||
- | |||
- | |||
- | ====== Comment avoir une icône pour les répertoires partagés par Samba ? ====== | ||
- | |||
- | |||
- | Cet article va vous permettre d'avoir une icône spéciale pour les dossiers partagés par Samba. | ||
- | En réalité, il s'agit d'ajouter automatiquement l'emblème "shared" à l'icône du dossier partagé. | ||
- | |||
- | |||
- | |||
- | |||
- | ===== Prérequis ===== | ||
- | |||
- | Pour permettre cette option, il vous faut installer l'extension Python à Nautilus. Pour cela, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] [[apt://python-nautilus|python-nautilus]]. | ||
- | |||
- | |||
- | ===== Installation ===== | ||
- | |||
- | * On commence par créer le fichier **shared.py** dans **/usr/lib/nautilus/extensions-1.0** | ||
- | |||
- | Dans une console : | ||
- | sudo gedit /usr/lib/nautilus/extensions-1.0/python/shared.py | ||
- | |||
- | <note important>Il semble que depuis **Hardy**, le sous-dossier **extensions-1.0** ait été remplacé par **extensions-2.0**</note> | ||
- | 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 | ||
- | <code python> | ||
- | 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") | ||
- | </code> | ||
- | |||
- | * Il ne reste plus qu'à relancer Nautilus : | ||
- | |||
- | nautilus -q | ||
- | |||
- | <note tip>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).</note> | ||
- | |||
- | Voici donc ce que vous devriez obtenir : | ||
- | |||
- | {{applications:samba:shared.jpg}} | ||
- | |||
- | ---- | ||
- | |||
- | //Contributeurs : [[utilisateurs:PiTiLeZarD]],[[utilisateurs:Gogy]].// |