My current findings are:
-
Windows uses NetBIOS names, et such protocol, being a broadcast one, allows them to find chaque autre sans tout central server.
-
Linux machines in modern distros uses natively a protocol called Avahi, qui is aussi a server-independent, broadcast protocol. Local network machines have a suffix .local, so you can ping depuis Linux to Linux using ping hostname.local, ou see them avec avahi-discover package. certains apps in Gnome use avahi to list machines in le network (par exemple, le Remote Desktop Viewer)
-
Installing Samba on a Linux machine will assign it a NetBIOS name (or, more technically, will make a Linux machine advertise itself in broadcast requests avec leur NetBIOS name, qui is par défaut leur hostname), et that allows Windows machines to find le Linux ones.
-
Gotcha: Although Linux machines avec Samba will reply to NetBIOS protocol requests, avec par défaut settings in distros like Ubuntu it ne va pas use NetBIOS as a method to resolve names, et c'est why Linux machines ne peut pas "see" chaque autre ou le Windows machines. For that, you need to edit /etc/nsswitch.conf file et add wins to le list in this line:
`hosts: files mdns4_minimal [NOTFOUND=return] dns wins mdns4
-
You *may* need to install `winbind` (and, if not installed automatically, `libnss-winbind`) package for the above to work.
-
So, for the visibility issue, you either install Samba on all Linux machines (and also edit `/etc/nsswitch.conf` to enable NetBIOS name resolution), ou you install Avahi support in Windows machines.
-
As for file sharing, Samba provides Linux machines file-sharing capabilities avec Windows. Theres no need to edit /etc/nsswitch.conf for Linux machines to see shared folders of chaque autre et Windows (and vice-versa) in le "Network" section of Nautilus