Pouvoir enfin sauvegarder sur un partage Samba avec OpenOffice
Comme vous l'avez peut-être (douloureusement) constaté, il est difficile de travailler avec OpenOffice.org 3 sur des documents présents sur un partage CIFS (Samba/Windows), car on obtient un message d'erreur lorsqu'on sauvegarde le document. Heureusement, comme toujours sous Linux, une solution existe. Les instruments, version Ubuntu : des droits administrateurs, un éditeur de texte, et les paquets smbfs et winbind.
L'infâme message d'erreur
La solution magique est de monter le partage avec l'option nounix, le problème venant du nom des fichiers temporaires qu'utilise OpenOffice et que Samba n'accepte pas sans cette option. Mais pour activer cette option, il faut utiliser une entrée dans le /etc/fstab comme un bon geek, plutôt que d'utiliser le gvfs-clickodrome de Gnome.
Ainsi donc ajoutez une entrée pour votre partage. Le type de partition étant cifs, il vous faudra installer le paquet smbfs pour que cela soit reconnu. J'utilise la forme suivante :\Nom_de_votre_partagele_dossier /mnt/samba cifs credentials=/root/.credentials,nounix,uid=mon_user,gid=mon_user,iocharset=utf8 0 0
Le fichier credentials doit être bien protégé. En effet, il contiendra les informations de l'utilisateur utilisé pour se connecter au partage réseau, sous la forme :
username=mon_user
password=mon_password
Les options uid et gid permettent de régler le propriétaire des fichiers du partage, à bien régler pour avoir les accès en écriture. L'option iocharset évite les mauvaises surprises avec les noms de fichiers. Ubuntu fonctionnant avec UTF-8, c'est ce codage de caractère qui sera utilisé.
Vous remarquerez qu'en essayant de monter le partage réseau à ce point, ça ne fonctionnera pas, à moins que vous n'utilisiez une adresse IP pour atteindre la machine hôte. En effet, ce bêta de système n'est pas capable de résoudre les noms d'hôtes sur le réseau par lui-même. Il vous faudra installer le paquet winbind puis modifier (avec précaution) le fichier /etc/nsswitch.conf pour ajouter l'option "wins" à la ligne "hosts:". Par exemple :
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
deviendra :
hosts: files wins mdns4_minimal [NOTFOUND=return] dns mdns4
Vous voilà fin prêt. Maintenant un petit :
mount /mnt/samba
Et magie, on peut sauvegarder des fichiers sur un partage CIFS avec OOo. Autre avantage sur une solution utilisant gvfs, c'est que le partage sera automatiquement monté au démarrage et ne vous demandera pas de mot de passe, grâce au fichier credentials.