README 6.38 KB
Newer Older
Alexander Reinholdt's avatar
Alexander Reinholdt committed
1
2
Smb4K README
============
3

Alexander Reinholdt's avatar
Alexander Reinholdt committed
4
Smb4K is an advanced network neighborhood browser and Samba share mounting
Alexander Reinholdt's avatar
Alexander Reinholdt committed
5
6
7
8
9
10
11
12
utility. It is based on the KDE Frameworks 5, Samba's client library
(libsmbclient) and, optionally, the KDSoap WS-Discovery client. It scans 
your network neighborhood for all available workgroups, servers and shares 
and can mount all desired shares to your local file system. It is released 
under the terms of the GNU General Public License, version 2 (GPL v2+). 
Linux, FreeBSD and its derivatives (e. g. GhostBSD and TrueOS), NetBSD and 
DragonFly BSD are officially supported.

13
14
15

Features
--------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
16

17
- Scanning for (active) workgroups, hosts, and shares
Alexander Reinholdt's avatar
Alexander Reinholdt committed
18
- Support of the CIFS (Linux®) and SMBFS (FreeBSD) file system
Alexander Reinholdt's avatar
Alexander Reinholdt committed
19
20
21
22
23
- Mounting and unmounting of shares
- Access to the files of a mounted share using a file manager or terminal
- Auto-detection of external mounts and unmounts
- Remounting of previously used shares on program start
- Miscellaneous infos about remote network items and mounted shares
24
- Network search
Alexander Reinholdt's avatar
Alexander Reinholdt committed
25
- Preview of the contents of a share
26
27
- Default login
- Special handling of homes shares
Alexander Reinholdt's avatar
Alexander Reinholdt committed
28
- Ability to bookmark favorite shares
Alexander Reinholdt's avatar
Alexander Reinholdt committed
29
- System tray widget
Alexander Reinholdt's avatar
Alexander Reinholdt committed
30
- Support of advanced mount options
31
32
33
34
- Support of printer shares
- KWallet support
- Synchronization of a remote share with a local copy and vice versa
- Ability to define custom options for individual servers and shares
Alexander Reinholdt's avatar
Alexander Reinholdt committed
35
36
- Hardware support through the Solid device integration framework, the KDBusAddons 
  convenience classes and the Qt Network module
Alexander Reinholdt's avatar
Alexander Reinholdt committed
37
38
39
40
- Wake-On-LAN capabilities
- Plasmoid for desktop integration
- Profiles for different network neighborhood setups

41
42
43

Translations
------------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
44

Alexander Reinholdt's avatar
Alexander Reinholdt committed
45
Translations are provided by the KDE translators.
46

Alexander Reinholdt's avatar
Alexander Reinholdt committed
47

48
49
Supported operating systems
---------------------------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
50
51
52

Smb4K officially supports Linux, FreeBSD and its derivatives (e. g. 
GhostBSD and TrueOS), NetBSD and DragonFly BSD.
53

Alexander Reinholdt's avatar
Alexander Reinholdt committed
54

55
56
Requirements
------------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
57
58
59

To compile Smb4K, you need:
- CMake (version >= 3.2, https://www.cmake.org)
Alexander Reinholdt's avatar
Alexander Reinholdt committed
60
- GNU Compiler Collection (version >= 5.0, https://gcc.gnu.org)
Alexander Reinholdt's avatar
Alexander Reinholdt committed
61
  or clang/LLVM (version >= 3.0, https://clang.llvm.org)
Alexander Reinholdt's avatar
Alexander Reinholdt committed
62
63

Smb4K build depends on:
Alexander Reinholdt's avatar
Alexander Reinholdt committed
64
65
66
67
- Qt (version >= 5.9, https://www.qt.io): QtCore, QtGui, QtWidgets, 
  QtTest, QtNetwork, QtPrintSupport, QtQml
- KDE Frameworks 5 (KF5, version >= 5.44.0, https://www.kde.org): ECM, 
  KConfig, KAuth, KDocTools, KIconThemes, KWidgetsAddons, KI18n, 
Alexander Reinholdt's avatar
Alexander Reinholdt committed
68
  KCompletion, KCoreAddons, Solid, KIO, KNotifications, KXmlGui, 
69
70
  KJobWidgets, KWallet, KDBusAddons, KConfigWidgets, KWindowSystem,
  KCrash, KDNSSD
Alexander Reinholdt's avatar
Alexander Reinholdt committed
71
- libsmbclient
72

Alexander Reinholdt's avatar
Alexander Reinholdt committed
73
74
75
76
77
If you would like to enable WS-Discovery support, you additionally need
(see also below for required build option):
- KDSoap (version >= 1.9.0, 
  https://www.kdab.com/development-resources/qt-tools/kd-soap/)
- KDSoap WS-Discovery client (version >= 0.2, 
78
  https://github.com/caspermeijn/kdsoap-ws-discovery-client/)
Alexander Reinholdt's avatar
Alexander Reinholdt committed
79

Alexander Reinholdt's avatar
Alexander Reinholdt committed
80
It also runtime depends on:
Alexander Reinholdt's avatar
Alexander Reinholdt committed
81
- KPlasma
Alexander Reinholdt's avatar
Alexander Reinholdt committed
82
- LinuxCIFS utils (Linux only, https://wiki.samba.org/index.php/LinuxCIFS_utils)
Alexander Reinholdt's avatar
Alexander Reinholdt committed
83

Alexander Reinholdt's avatar
Alexander Reinholdt committed
84
To enable full functionality, you may also want to install:
Alexander Reinholdt's avatar
Alexander Reinholdt committed
85
86
87
- rsync (https://rsync.samba.org)

The full list of changes can be found in the Git log at 
Alexander Reinholdt's avatar
Alexander Reinholdt committed
88
https://invent.kde.org/network/smb4k. A summary can be found in the ChangeLog file
Alexander Reinholdt's avatar
Alexander Reinholdt committed
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
in the tarball.


Configuration, Compilation and Installation
-------------------------------------------

To configure, compile and install Smb4K follow the steps below. Make sure, 
you have read the Requirements section before you start.

1. Download the version of Smb4K you are interested in and extract the 
   source tarball:

   $ tar xvfj smb4k-x.y.z.tar.xz

2. Replace x.y.z with the version number. Change into the source code 
   directory and create a build directory:

   $ cd smb4k-x.y.z
Alexander Reinholdt's avatar
Alexander Reinholdt committed
107
   $ mkdir build
108
109
110

3. Change into the build directory:

Alexander Reinholdt's avatar
Alexander Reinholdt committed
111
   $ cd build
112
113
114

4. Configure the source:

Alexander Reinholdt's avatar
Alexander Reinholdt committed
115
   $ cmake -DCMAKE_INSTALL_PREFIX=`qtpaths --install-prefix` \
Alexander Reinholdt's avatar
Alexander Reinholdt committed
116
     -DCMAKE_BUILD_TYPE=Release ..
117

Alexander Reinholdt's avatar
Alexander Reinholdt committed
118
119
120
121
122
123
124
125
126
   If Smb4K cannot find some shared libraries after the installation (e.g. 
   if you are using Kubuntu 16.04), it is necessary to add the 
   -DKDE_INSTALL_PLUGINDIR argument to the command line above:

   $ cmake -DCMAKE_INSTALL_PREFIX=`qtpaths --install-prefix` \
     -DKDE_INSTALL_PLUGINDIR=`qtpaths --plugin-dir` -DCMAKE_BUILD_TYPE=Release ..

   If you want to compile Smb4K with debug symbols, replace Release by Debug.

Alexander Reinholdt's avatar
Alexander Reinholdt committed
127
   There are some Smb4K specific CMake arguments you might be interested in:
128

129
   -DSMB4K_INSTALL_PLASMOID=ON/OFF  Install the plasmoid. This is on by default.
Alexander Reinholdt's avatar
Alexander Reinholdt committed
130

131
   -DSMB4K_WITH_WS_DISCOVERY=ON/OFF Build with WS-Discovery support for
132
133
                                    browsing. This is off by default.

Alexander Reinholdt's avatar
Alexander Reinholdt committed
134
5. After the configuration, compile and install Smb4K:
135
136
137

   $ make && sudo make install

Alexander Reinholdt's avatar
Alexander Reinholdt committed
138
   If you want to be able to remove Smb4K with your package manager later on, 
Alexander Reinholdt's avatar
Alexander Reinholdt committed
139
140
141
142
143
144
   use the following approaches depending on your distribution.
   
   (a) Debian, Ubuntu, openSUSE, Fedora, Redhat, Slackware: Use checkinstall 
   instead of make install. The package should be present in your distribution's
   repository.

145
   $ make && sudo checkinstall
Alexander Reinholdt's avatar
Alexander Reinholdt committed
146
147
148
149
150
   
   (b) Arch, Manjaro: Create a PKGBUILD file inside the source's root directory
   and run the following command to install Smb4K.
   
   $ makepkg -i
151

Alexander Reinholdt's avatar
Alexander Reinholdt committed
152

153
154
Debugging the Source Code
-------------------------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
155

156
157
If you experience crashes or similar and want to debug the source code yourself,
compile the source code with debugging symbols. The procedure is similar to the
Alexander Reinholdt's avatar
Alexander Reinholdt committed
158
159
one described in the section above, except that you need to modify the cmake 
command slightly:
160

Alexander Reinholdt's avatar
Alexander Reinholdt committed
161
162
   $ cmake -DCMAKE_INSTALL_PREFIX=`qtpaths --install-prefix` \
     -DCMAKE_BUILD_TYPE=Debug ..
163
164
165
166

If you found the cause for a bug, please let us know. A backtrace or a patch
will be much appreciated.

Alexander Reinholdt's avatar
Alexander Reinholdt committed
167

168
169
Help and Support
----------------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
170
171
172
173
174

If you encounter problems when using Smb4K and/or need help or support, please
contact us in our 'Help' (https://sourceforge.net/p/smb4k/discussion/help/) or 
'General Discussion' (https://sourceforge.net/p/smb4k/discussion/general/) 
forums.
175

Alexander Reinholdt's avatar
Alexander Reinholdt committed
176

177
178
Bugs
----
Alexander Reinholdt's avatar
Alexander Reinholdt committed
179

Alexander Reinholdt's avatar
Alexander Reinholdt committed
180
You are strongly encouraged to commit a bug report to
Alexander Reinholdt's avatar
Alexander Reinholdt committed
181
https://bugs.kde.org/enter_bug.cgi?product=Smb4k&format=guided, if you find a problem.
182

Alexander Reinholdt's avatar
Alexander Reinholdt committed
183

184
185
Copyright
---------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
186

187
188
189
Smb4K is released under the terms of the GNU General Public License (GPL),
version 2. A copy of the license is available in the file COPYING.

Alexander Reinholdt's avatar
Alexander Reinholdt committed
190

191
192
Latest Version
--------------
Alexander Reinholdt's avatar
Alexander Reinholdt committed
193
194
195

The latest stable version of Smb4K can always be downloaded from
https://sourceforge.net/projects/smb4k/files/latest/download
196