168 lines
3.6 KiB
Markdown
168 lines
3.6 KiB
Markdown
# 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.
|
|
|
|

|
|
|
|
## 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 <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+
|