wsdd is a service by christgau on GitHub, which implements a Web Service Discovery host daemon for Ubuntu. This enables Samba hosts to be found by Web Service Discovery Clients like Windows 10.
If you are experiencing any issues with this service, please let us know in the comments or submit an issue on GitHub.
Change to /tmp directory.
cd /tmp
Download and unzip the archive.
wget https://github.com/christgau/wsdd/archive/master.zip
unzip master.zip
Rename wsdd.py to wsdd.
sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd
Copy to /usr/bin.
sudo cp wsdd-master/src/wsdd /usr/bin
Copy wsdd to /etc/systemd/system.
sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system
Open wsdd.service in nano and comment out User=nobody and Group=nobody with a ; semicolon.
sudo nano /etc/systemd/system/wsdd.service
[Unit]
Description=Web Services Dynamic Discovery host daemon
; Start after the network has been configured
After=network-online.target
Wants=network-online.target
; It makes sense to have Samba running when wsdd starts, but is not required
;Wants=smb.service
[Service]
Type=simple
ExecStart=/usr/bin/wsdd --shortlog
; Replace those with an unprivledged user/group that matches your environment,
; like nobody/nogroup or daemon:daemon or a dedicated user for wsdd
; User=nobody
; Group=nobody
; The following lines can be used for a chroot execution of wsdd.
; Also append '--chroot /run/wsdd/chroot' to ExecStart to enable chrooting
;AmbientCapabilities=CAP_SYS_CHROOT
;ExecStartPre=/usr/bin/install -d -o nobody -g nobody -m 0700 /run/wsdd/chroot
;ExecStopPost=rmdir /run/wsdd/chroot
[Install]
WantedBy=multi-user.target
Save and exit (press CTRL + X, press Y and then press ENTER)
Start and enable wsdd.
sudo systemctl start wsdd
sudo systemctl enable wsdd
Output:
Created symlink /etc/systemd/system/multi-user.target.wants/wsdd.service → /etc/systemd/system/wsdd.service.
Now check that the service is running.
sudo service wsdd status
Output:
wsdd.service - Web Services Dynamic Discovery host daemon
Loaded: loaded (/etc/systemd/system/wsdd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-06-10 10:51:39 CEST; 8s ago
Main PID: 40670 (python3)
Tasks: 1 (limit: 6662)
Memory: 10.8M
CGroup: /system.slice/wsdd.service
└─40670 python3 /usr/bin/wsdd --shortlog
jun 10 10:51:39 ubuntu systemd[1]: Started Web Services Dynamic Discovery host daemon.
jun 10 10:51:40 ubuntu wsdd[40670]: WARNING: no interface given, using all interfaces
You should now be able to browse your Ubuntu machines and Samba shares in the Windows 10 file explorer. You may need to restart the Windows 10 machines to force discovery.
You may also want to reboot the Ubuntu server just to make sure the wsdd service starts up automatically without issue.
How to Uninstall wsdd
If you want to completely uninstall wsdd, stop and disable the service.
sudo systemctl stop wsdd
sudo systemctl disable wsdd
Remove wsdd from /usr/bin.
sudo rm /usr/bin/wsdd
Remove service file.
sudo rm /etc/systemd/system/wsdd.service