Minimal illustration of two computer monitors with Windows and Linux icons connected by arrows, and the text ‘View Linux on Windows.’

How To View Linux Machines from a Windows 10 & 11 Network using the WSD Service

Last updated on | 100 replies

Introduction

This guide shows you how to enable Linux machines to be visible in the Windows 10/11 network neighborhood using WSD (Web Services for Devices).

If you can map a share via \\hostname\share or \\ip_address\share but it doesn’t show automatically under “Network,” you likely need WSD (Web Services for Devices) support on the Linux side.

While many examples here use Ubuntu/Debian commands, notes for other popular distributions (such as Fedora, Arch, or openSUSE) are included where applicable. This article focuses solely on using wsdd for network discovery, not a complete Samba setup guide—though having Samba installed is a prerequisite for file sharing.

Why You Need WSD for Windows Discovery

Microsoft disabled SMBv1 and NetBIOS-based browsing by default in Windows 10 and later versions. While you can still connect manually to SMB shares, they don’t appear automatically under “Network.” Instead, Windows expects devices to advertise themselves via WSD (Web Services for Devices). If your Linux system doesn’t run a WSD service, Windows won’t “see” it.

1. Install Samba (If Not Already Installed)

For Windows to access shared folders on Linux, Samba must be installed and running. On Ubuntu/Debian, run:

sudo apt update && sudo apt install samba

For Fedora users, try: sudo dnf install samba. Arch Linux users can use: sudo pacman -S samba. Also, ensure at least one folder is shared and verify your firewall isn’t blocking necessary Samba or WSD ports.

2. Install WSD (wsdd)

Starting with Ubuntu 22.04 LTS (and some prior releases), wsdd is readily available in the default repository, so you can install it with a single command. This means no manual downloads or service file edits are typically required anymore.

On Ubuntu/Debian:

sudo apt update && sudo apt install wsdd

For Fedora, you may run: sudo dnf install wsdd, and on Arch Linux: sudo pacman -S wsdd (if available). Check your distro’s package repositories for details.

3. Check and Enable the wsdd Service

Verify that the wsdd service is active:

systemctl status wsdd

If it’s not running, start and enable it:

sudo systemctl start wsdd
sudo systemctl enable wsdd

4. (Optional) Restrict wsdd to Specific Network Interfaces

If you want to restrict wsdd to specific network interfaces, edit the configuration file (usually /etc/default/wsdd or /etc/systemd/wsdd.defaults):

/etc/default/wsdd
# List of interfaces (space-separated)
WSDD_INTERFACES="eth0 wlan0"

# Additional wsdd options (see 'man wsdd' or 'wsdd --help')
WSDD_OPTIONS="--shortlog"

Save and exit (press CTRL + X, press Y, then press ENTER)

Then reload systemd and restart the service:

sudo systemctl daemon-reload
sudo systemctl restart wsdd

5. Firewall Considerations

Ensure your firewall permits the necessary WSD ports so Windows can detect your Linux machine. For example, on Ubuntu with ufw:

sudo ufw allow 3702/udp
sudo ufw allow 5357/tcp
sudo ufw allow 5358/tcp

Keep in mind that Samba itself also requires ports 139/tcp and 445/tcp (and 137-138/udp if you use NetBIOS).

6. Manual Installation for Older or Unsupported Distros

If your distribution does not offer wsdd in its repositories (common on older releases or less common distros), you can manually install it from the wsdd GitHub repository. Follow the instructions there to compile and configure the service.

7. Testing and Usage

With wsdd running and your firewall properly configured, any Windows 10 or 11 PC on the same LAN should eventually detect your Linux machine under “Network.” You may need to refresh or reboot your Windows PC to expedite discovery.

Remember that even if your Linux machine appears, you still need valid Samba credentials (or guest access configured) to access shared folders.

8. Uninstalling wsdd

To remove wsdd installed from your package manager (Ubuntu/Debian example):

sudo apt remove wsdd

If you manually installed wsdd, stop and disable the service, then remove the installed files:

sudo systemctl stop wsdd
sudo systemctl disable wsdd
sudo rm /usr/bin/wsdd
sudo rm /etc/systemd/system/wsdd.service

Reload systemd to finalize the uninstallation:

sudo systemctl daemon-reload

9. Conclusion

This guide focused on enabling WSD to allow Windows 10/11 systems to discover Linux machines on the network. Whether you are running Ubuntu, Fedora, Arch, or another Linux distribution, wsdd is a lightweight solution that bridges the gap between Linux and Windows network discovery. If you encounter any issues or have questions, feel free to leave a comment or visit the wsdd GitHub repository for more details. Happy networking!

Let me know if this helped. Follow me on Twitter, Facebook and YouTube, or 🍊 buy me a smoothie.

100 replies

Leave a reply

Your email address will not be published. Required fields are marked *

  1. Wow – As a brand new user to Linux after days of searching I found your instructions that were easy to follow to connect my Win 10 pc to my newly installed Linux Mint 20. Thank you – my headache is gone 🙂

  2. did not work

    someuser@somedevice:~ $ sudo service wsdd status
    ● wsdd.service – Web Services Dynamic Discovery host daemon
    Loaded: loaded (/etc/systemd/system/wsdd.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Tue 2021-06-29 20:35:41 -04; 29min ago
    Main PID: 2085 (code=exited, status=1/FAILURE)

    jun 29 20:35:41 microdispositivos wsdd[2085]: File “/usr/lib/python3.5/sysconfig.py”, line 546, in get_config_vars
    jun 29 20:35:41 microdispositivos wsdd[2085]: _CONFIG_VARS[‘userbase’] = _getuserbase()
    jun 29 20:35:41 microdispositivos wsdd[2085]: File “/usr/lib/python3.5/sysconfig.py”, line 205, in _getuserbase
    jun 29 20:35:41 microdispositivos wsdd[2085]: return joinuser(“~”, “.local”)
    jun 29 20:35:41 microdispositivos wsdd[2085]: File “/usr/lib/python3.5/sysconfig.py”, line 184, in joinuser
    jun 29 20:35:41 microdispositivos wsdd[2085]: return os.path.expanduser(os.path.join(*args))
    jun 29 20:35:41 microdispositivos wsdd[2085]: File “/usr/lib/python3.5/posixpath.py”, line 238, in expanduser
    jun 29 20:35:41 microdispositivos systemd[1]: wsdd.service: Main process exited, code=exited, status=1/FAILURE
    jun 29 20:35:41 microdispositivos systemd[1]: wsdd.service: Unit entered failed state.
    jun 29 20:35:41 microdispositivos systemd[1]: wsdd.service: Failed with result ‘exit-code’.

  3. I was able to “see” my ubuntu share but i got an error when i tried to click the folder from my windows 10 machine: Network Error
    Windows cannot access \\Asqrd\10tb-hdd You do not have permission to access \\Asqrd\10TB-HDD. Contact your network administrator to request access.

    I had made sure to change permissions but since its several terabytes it was taking FOREVER.

    So what do I do?

  4. Hi there.
    excellent post. Must confess I am quite new to this and when I do sudo service wsdd status
    I get this:
    May 11 07:51:00 webinterno.xx systemd[11684]: wsdd.service:
    Failed to determine group credentials: No such process
    May 11 07:51:00 webinterno.xx systemd[11684]:
    wsdd.service: Failed at step GROUP spawning /usr/bin/wsdd: No such process
    Any idea how to fix this?
    Please let me know.
    Regards,
    Paco

  5. Ubuntu 20.04
    getting this error message in addition to the others already mentioned
    when running the query sudo service wsdd status
    Apr 11 16:52:05 odroid wsdd[2566]: WARNING: cannot unset all_multicast: [Errno 92] Protocol no>

  6. A bit of a warning. Your way here can cause other network related issues. Its also not as easy as just following what is found on github.

    github Ubuntu install:

    “deb https://pkg.ltec.ch/public/ distro main

    Replace distro with the name of your distro, e.g. buster or xenial (issue lsb_release -cs if unsure). After an apt update you can install wsdd with apt install wsdd.

    You also need to import the public key of the repository like this apt-key adv –fetch-keys https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key.”

    And that’s it. It should be running plus no network conflicts that your way creates.

    1. Thanks, Jran. I may consider updating the article to simplify the install. However, my method works across many distributions and I’m hoping that distributions like Ubuntu will eventually include wsdd in future releases by default. I will monitor this article and update in due course.

  7. Thanks for that worked perfectly…How many days fighting with …never mind your solution was the answer

  8. I want to THANK YOU immensely for providing this information. It was flawless and worked perfectly. I cannot thank you enough.

  9. Thanks so much for this … have struggled forever with trying to figure out why windows (again!) stopped being able to see — let alone connect to — samba shares.
    This. Made. My. Day.

  10. Thank you very much for this clear and concise solution. It works perfectly on my Ubuntu Mate 20.04LTS media server. Now to try this on my Centos v7 dbms server.

  11. How to See Ubuntu Machines and Samba Shares on a Windows 10 Network

    works like a charm windows 10 sees linux mint Yesssssssssssssss

    ps would it be possible to have a printer friendly link 🙂

  12. Your instructions worked great and I have now set things up on both of my machines. But now I have the same problem as jp2558: My Windows machine (Win10) can now ‘see’ the share on my Ubuntu machine but when I try to open that folder, I’m asked to “Enter network credentials” so I provide my Ubuntu machine user name and password. But I get back “Access is denied”. Stuck.

    1. The way I fixed this was adding my outlook.com user. I found this
      Linux windows 10 credentials
      >> sudo useradd [email protected]
      >> sudo passwd [email protected]
      >> sudo usermod -G users [email protected] [the group users is configured in Samba as valid access group]
      >> sudo service samba restart
      for shares I installed webmin on my ubuntu server and added shared folder’s with outlook.com user and my linux user as well.

  13. I’ve followed all the instructions and everything seems to be in order however when I try to map a drive in win10 it says access denied.. I do have one folder mapped in ubuntu and the smbclient service is running. I can see the share, but just can’t access it. One thing I did notice is if I look at the share in nautilus the share doesn’t seem to be there but if I run sudo nautilus I can see the share…. I’m stumped at this point….?

  14. Thank you so much. 2 days of @#$%&%$ around after upgrade 20.04 stopped me being able to see Samba shares on all my windows 10 machines, this was one of the the simplest fixes I found and it is the only one that worked. 🙂

  15. Perfect guide – thanks and congratulation!
    Let me leave a small hint: please correct the swapped letters in headlines for wsd “WDS”.

  16. Great, I am often frustrated by Linux procedures which are for other versions, depend on specifics of an intstallation, omit details assumed to be known by all -but not by me-: This is precise, complete and it works!