Я маю ноутбук Apple Macbook Pro з 64-бітною ОС X 10.11 "El Capitan" під керуванням Samba 3, яку я встановив через Macports .
У мене також є ноутбук Dell Inspiron з 64-розрядним GNU / Linux XUbuntu 16.04 "Xenial Xerus" під керуванням Samba 3, який я встановив через APT.
Обидві машини мають папки з спільним доступом до мережі та використовують Samba для спілкування по моїй WLAN (бездротовій локальній мережі).
Обидві мої системи є на португальській мові. Таким чином, я використовую спеціальні символи, такі як ç , á , ã , â , ô , é , ó et cetera.
Коли я використовую свій ноутбук Linux для доступу до моїх акцій OS X Samba, всі рядки відображаються правильно: такі слова, як maçã , ônus та bênção , відображаються правильно. Також відображаються файли та папки з довгими іменами, а їх імена відображаються правильно. Таким чином, сервер Samba, що працює на OS X, вже правильно налаштований ...
... але все не працювало навпаки: якщо я використовував додаток Finder на OS X для доступу до моїх спільних Samba-акцій, усі файли та папки, що мають принаймні один із цих спеціальних символів, не відображалися (вони залишалися невидимими для я), а довгі назви файлів і папок були перетворені на дивні короткі імена. Таким чином, сталося щось не так із сервером Samba, який працює на моїй машині Linux.
=> У моєму випадку, що вирішило цю проблему, було додавання наступних рядків до [global]
розділу всередині smb.conf
файлу на моїй машині Linux:
mangled names = no
dos charset = CP850
unix charset = UTF-8
Після цього я відкрив вікно терміналу оболонки і перезапустив сервер Linux Samba з цією командою:
sudo service smbd restart
... яку можна замінити цією іншою командою (у випадку, якщо команда вище не працює у вашому дистрибутиві Linux):
sudo systemctl restart smbd.service
Після того як я перезапустив сервер Samba Linux, програма Finder в ОС X нарешті правильно показала всі файли та папки, які раніше були приховані через те, що їх імена мали один або кілька спеціальних символів. Наречені ("укорочені") імена також були "безлюдними".
Виноски :
- У системах GNU / Linux стандартне розташування
smb.conf
файлу/etc/samba/smb.conf
- Припускаючи, що у вашій системі Linux
smb.conf
файл зберігається у стандартному місці /etc/samba/
: існує кілька різних способів редагування smb.conf
файлу. Наприклад, якщо ви не використовуєте середовища робочого столу (наприклад , системи є тільки термінал оболонки, без вікон) ви можете встановити Nano текстовий редактор, з допомогою команди , такі як sudo apt-get install nano -y
або sudo dnf -b -y install nano
чи що - то інше ( в залежності від Linux дистрибутива вас використовують), а потім запустіть sudo nano /etc/samba/smb.conf
. У разі , якщо ви використовуєте середу робочого столу, ви можете встановити графічний текстовий редактор , наприклад GNOME Edit , виконавши команду , такі як sudo apt-get install gedit -y
або sudo dnf -b -y install gedit
чи що - то інше ( в залежності від Linux дистрибутив ви використовуєте), а потім запустити sudo gedit /etc/samba/smb.conf
.
- У Samba 3+
display charset
параметр застарілий.
dos charset
Параметр не підтримує UTF-8
аргумент. Таким чином, він повинен використовувати аргумент за замовчуванням CP850
.
mangled names = no
вказує серверу Samba не скорочувати довгі назви файлів і папок. Отже, оскільки клієнт Samba просто копіює користувача, що саме сервер Samba надав клієнтові, після правильного налаштування сервера клієнт більше не буде показувати користувачеві жодне скорочене ім’я.