kde-dolphin-smb-sharing-tab/README.md

3.6 KiB

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

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 usersharekein 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

sudo apt install samba

Benutzer zur Gruppe hinzufügen

sudo adduser $USER sambashare

Danach neu einloggen.

Samba usershare aktivieren

In /etc/samba/smb.conf unter [global]:

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:

sudo apt install build-essential cmake extra-cmake-modules \
    libkf5kio-dev libkf5coreaddons-dev libkf5i18n-dev \
    qtbase5-dev

Bauen:

cd kf5
bash build.sh

Installieren:

sudo cp build/bin/smbshareplugin.so \
    /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/propertiesdialog/

Dolphin neustarten:

killall dolphin; dolphin &

Debian 13 Trixie (KF6)

Build-Dependencies:

sudo apt install build-essential cmake extra-cmake-modules \
    libkf6kio-dev libkf6coreaddons-dev libkf6i18n-dev \
    qt6-base-dev

Bauen:

cd kf6
bash build.sh

Installieren:

sudo cp build/bin/smbshareplugin.so \
    /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/propertiesdialog/

Dolphin neustarten:

killall dolphin; dolphin &

Deinstallation

# 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 <name> <path> <comment> <acl> <guest_ok> — Freigabe erstellen
  • net usershare delete <name> — 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+