Posiadam laptopa Apple Macbook Pro z 64-bitowym systemem OS X 10.11 „El Capitan” z systemem Samba 3, który zainstalowałem za pośrednictwem Macports .
Posiadam również laptop Dell Inspiron z 64-bitowym GNU / Linux XUbuntu 16.04 „Xenial Xerus” z Sambą 3, który zainstalowałem przez APT.
Oba komputery mają foldery współdzielone w sieci i używają Samby do komunikacji w mojej sieci WLAN (bezprzewodowej sieci LAN).
Oba moje systemy są w brazylijskim portugalskim. Dlatego używam znaków specjalnych, takich jak ç , á , ã , â , ô , é , ó et cetera.
Kiedy korzystam z laptopa z Linuksem, aby uzyskać dostęp do moich udziałów OS X Samba, wszystkie ciągi są wyświetlane poprawnie: słowa takie jak maçã , ônus i bênção są wyświetlane poprawnie. Pliki i foldery o długich nazwach są również wyświetlane, a ich nazwy są wyświetlane poprawnie. Tak więc serwer Samba działający w systemie OS X jest już poprawnie skonfigurowany ...
... ale rzeczy nie działały na odwrót: jeśli użyłem aplikacji Finder w systemie OS X, aby uzyskać dostęp do moich udziałów Linux Samba, wszystkie pliki i foldery mające co najmniej jeden z tych znaków specjalnych nie byłyby widoczne (pozostały niewidoczne ja), a długie nazwy plików i folderów zostały przekonwertowane na dziwne krótkie nazwy. Tak więc coś było nie tak z serwerem Samba działającym na moim komputerze z systemem Linux.
=> W moim przypadku rozwiązaniem tego problemu było dodanie następujących wierszy do [global]
sekcji wewnątrz smb.conf
pliku na moim komputerze z systemem Linux:
mangled names = no
dos charset = CP850
unix charset = UTF-8
Następnie otworzyłem okno terminala powłoki i zrestartowałem serwer Linux Samba za pomocą tego polecenia:
sudo service smbd restart
... które można zastąpić innym poleceniem (w przypadku, gdy powyższe polecenie nie działa w twojej dystrybucji Linuksa):
sudo systemctl restart smbd.service
Po zrestartowaniu serwera Linux Samba aplikacja Finder w systemie OS X w końcu poprawnie wyświetliła wszystkie pliki i foldery, które wcześniej były ukryte, ponieważ ich nazwy zawierają jeden lub więcej znaków specjalnych. Zmienione („skrócone”) nazwy były również „niezmienione”.
Przypisy :
- W systemach GNU / Linux standardową lokalizacją
smb.conf
pliku jest/etc/samba/smb.conf
- Zakładając, że twój system Linux
smb.conf
przechowuje plik w standardowej lokalizacji /etc/samba/
: istnieje kilka różnych sposobów edycji smb.conf
pliku. Na przykład, jeśli nie używasz Desktop Environment (np system posiada tylko terminal powłoka, bez okien) można zainstalować Nano edytor tekstu, wydając polecenia takiego jak sudo apt-get install nano -y
lub sudo dnf -b -y install nano
czy coś innego (w zależności od dystrybucji Linuksa cię używają), a następnie uruchom sudo nano /etc/samba/smb.conf
. W przypadku, gdy używasz środowisko graficzne, można zainstalować graficzny edytor tekstu, takie jak GNOME Edytuj , wydając polecenia takiego jak sudo apt-get install gedit -y
lub sudo dnf -b -y install gedit
czy coś innego (w zależności od dystrybucji Linuksa używasz), a następnie uruchomić sudo gedit /etc/samba/smb.conf
.
- W Sambie 3+
display charset
parametr jest przestarzały.
- Ten
dos charset
parametr nie obsługuje UTF-8
argumentu. Dlatego musi użyć domyślnego argumentu CP850
.
mangled names = no
instruuje serwer Samby, aby nie skracał długich nazw plików i folderów. W związku z tym, ponieważ klient Samba po prostu replikuje użytkownikowi to, co serwer Samba przekazał klientowi, po prawidłowym skonfigurowaniu serwera klient nie będzie już pokazywał użytkownikowi skróconej nazwy.