# Dolphin SMB Share Tab Ein KDE Dolphin Properties-Dialog Plugin zum Erstellen und Verwalten von Samba-Freigaben — direkt über die GUI. Ersetzt das kaputte `kdenetwork-filesharing` Paket durch eine einfache, funktionierende Alternative. ![Share Tab](screenshot.png) ## Features - **Share-Tab** in Dolphins Ordner-Eigenschaften (Rechtsklick → Eigenschaften) - Freigabe per Checkbox aktivieren/deaktivieren - Freigabename konfigurierbar (Standard = Ordnername) - Gastzugang erlauben - Berechtigungen pro Benutzer: Read Only / Full Access / Deny - Nutzt `net usershare` — **kein Root nötig!** - Erkennt bestehende Freigaben und lädt deren Einstellungen ## Voraussetzungen - Samba installiert (`net usershare` ist Teil des Samba-Pakets) - `usershare` in `smb.conf` aktiviert (siehe unten) - Benutzer muss in der Gruppe `sambashare` sein - Build-Dependencies (siehe unten) ### Samba installieren ```bash sudo apt install samba ``` ### Benutzer zur Gruppe hinzufügen ```bash sudo adduser $USER sambashare ``` Danach neu einloggen. ### Samba usershare aktivieren In `/etc/samba/smb.conf` unter `[global]`: ```ini usershare max shares = 100 usershare owner only = yes ``` Danach: `sudo systemctl restart smbd` ## Versionen | Verzeichnis | Zielplattform | KDE Frameworks | Qt | |---|---|---|---| | `kf5/` | Debian 12 Bookworm | KF5 | Qt5 | | `kf6/` | Debian 13 Trixie | KF6 | Qt6 | Der C++ Quellcode ist identisch — nur die CMake-Konfiguration unterscheidet sich. ## Build & Installation ### Debian 12 (KF5) **Build-Dependencies:** ```bash sudo apt install build-essential cmake extra-cmake-modules \ libkf5kio-dev libkf5coreaddons-dev libkf5i18n-dev \ qtbase5-dev ``` **Bauen:** ```bash cd kf5 bash build.sh ``` **Installieren:** ```bash sudo cp build/bin/smbshareplugin.so \ /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/propertiesdialog/ ``` **Dolphin neustarten:** ```bash killall dolphin; dolphin & ``` ### Debian 13 Trixie (KF6) **Build-Dependencies:** ```bash sudo apt install build-essential cmake extra-cmake-modules \ libkf6kio-dev libkf6coreaddons-dev libkf6i18n-dev \ qt6-base-dev ``` **Bauen:** ```bash cd kf6 bash build.sh ``` **Installieren:** ```bash sudo cp build/bin/smbshareplugin.so \ /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/propertiesdialog/ ``` **Dolphin neustarten:** ```bash killall dolphin; dolphin & ``` ## Deinstallation ```bash # KF5 sudo rm /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/propertiesdialog/smbshareplugin.so # KF6 sudo rm /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/propertiesdialog/smbshareplugin.so ``` ## Projektstruktur ``` kde-dolphin-smb-sharing-tab/ ├── README.md ├── kf5/ # Debian 12 (KDE Plasma 5) │ ├── CMakeLists.txt │ ├── build.sh │ └── src/ │ ├── CMakeLists.txt │ ├── smbshareplugin.json │ ├── smbshareplugin.h │ └── smbshareplugin.cpp └── kf6/ # Debian 13 (KDE Plasma 6) ├── CMakeLists.txt ├── build.sh └── src/ ├── CMakeLists.txt ├── smbshareplugin.json ├── smbshareplugin.h └── smbshareplugin.cpp ``` ## Wie es funktioniert Das Plugin nutzt die `net usershare` Befehle von Samba: - `net usershare add ` — Freigabe erstellen - `net usershare delete ` — Freigabe löschen - `net usershare info --long` — bestehende Freigaben auflisten Diese Befehle benötigen keine Root-Rechte, solange der Benutzer in der Gruppe `sambashare` ist und `usershare` in der `smb.conf` aktiviert ist. ## Lizenz GPLv2+