Windows10のネットワーク一覧にLinux(samba)を表示したい

Windows 10でsambaの共有がネットワーク一覧に見えないじゃないですか。それを何とかする話。
OSはdebian

見えない原因はSMB1が無効化されて探索プロトコルがNetBIOSからWS-Discoveryに変更されたからみたいです。ではsambaでWS-Discoveryを有効にすればよいかというとそんな設定はありません。(ここまで調べるのに無駄に時間かかった…)で対策ですが、こんな理由でWindowsのSMB1を再有効にしたくないのでなんかあるでしょと調べたところ、githubにwsddというものが公開されているのでこれを導入することで解決できます。

では導入していきましょう。まず普通にcloneしてきます。(面倒なので全部rootでやりましたが、きちんと行いたい方は適宜読み替えてください。)
あ、python3がインストールされている必要があります。

# git clone https://github.com/christgau/wsdd.git

必要なファイルをコピーして…

# cp -pf ./wsdd/src/wsdd.py /usr/local/bin/wsdd   
# cp -pf ./wsdd/etc/systemd/wsdd.service /etc/systemd/system

systemdの設定ファイルを編集します。ExecStartのパスが/usr/binになっているのと実行ユーザのコメントアウト

# vi /etc/systemd/system/wsdd.service
# cat /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/local/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

[Install]
WantedBy=multi-user.target

最後にsystemdのリロード、wsddの起動、wsddの自動起動設定を行って終了です。

# systemctl daemon-reload
# systemctl start wsdd
# systemctl enable wsdd

Windows10からLinuxが見えたでしょうか?お疲れ様でした。