# The &smb4k; Handbook

## Introduction

This handbook describes &smb4k; 1.1.x and to some extent earlier versions.

&smb4k; is an advanced network neighborhood browser and a front end to the programs of the Samba software suite. It provides many handy features that ease your life in a mostly &Windows;-dominated network environment:

- Scanning for (active) workgroups, hosts, and shares

- Support of the CIFS (&Linux;) and SMBFS (FreeBSD) file system

- 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

- Network search

- WINS server support

- Preview of the contents of a share

- Several methods to look up the initial list of workgroups and domains

- Default login

- Special handling of homes shares

- Ability to bookmark favorite shares

- System tray widget

- Support of advanced Samba options

- 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

- Laptop support through the Solid hardware device framework

- Wake-On-LAN capabilities

- &plasmoid; for desktop integration

If you encounter problems while using &smb4k;, please visit our wiki first. If you cannot find your problem described there, please post a help request to our Help forum. In case you find a bug, please report it to our bug tracker.

For discussions about &smb4k;-related topics there is the General Discussion forum and we invite every user to participate.

## Using &smb4k;

### Running &smb4k;

After the installation, you can run &smb4k; either from the K menu or from the command prompt by typing

    $ smb4k

&smb4k; does not take any arguments, except those that are known to all &kde; programs.

&smb4k; also comes with a plasmoid for better desktop integration. It can be added as widget to the desktop or the panel.

If your system is missing some of the programs &smb4k; needs to operate properly, it notifies the user:

Screenshot of the missing program notification The missing program notification

In this case, please install the listed programs or, if they are already present, add their location to the `PATH` environment variable in your shell's configuration file (for the

bash

1 shell it is the `~/.bashrc` file).

In addition, it is recommended that you configure Samba before using &smb4k;. The

swat

8 utility can be used for this purpose. It is part of the Samba software suite and provides an easy-to-use web interface. See its manual page for documentation.

### The Main Window

On the first start-up, the main window of &smb4k; looks similar to the one shown below. The network neighborhood browser (Network Neighborhood), the network search widget (Network Search) and the mounted shares view (Mounted Shares) are arranged in a tab widget. Above them the menubar and toolbar(s) are located. Below them you find the status bar.

Screenshot of the main window The main window

Since version 1.1.0, &smb4k; comes with a compact unified toolbar as the default, but the user can still choose to use multiple toolbars. If you wish to use the classical way, four toolbars are defined, for each widget one: the main toolbar, the toolbars for the Network Neighborhood widget, the Shares View widget and the Network Search widget. The unified toolbar contains some of the main actions, like Configure &smb4k; and Quit. It also dynamically loads the actions of the dock widget that currently has got the focus. For additional information and some important warnings, please have a look at the sections discussing the network neighborhood browser, search dialog, and mounted shares view.

The status bar gives some information about the current status of &smb4k;. If the application is processing a user request (⪚ mounting a share), a descriptive message is displayed in the leftmost section and a progress bar is shown with a busy indicator. The two icons on the right hand side indicate if there are shares mounted (remote folder icon) and the status of the authentication system (wallet or key icon).

If the dock widgets are arranged as tabs, the user gets additional visual feedback. Each time a share is mounted or unmounted, the Mounted Shares tab is highlighted for a few seconds.

The main window is highly configurable. You can hide or show all tabbed widgets (Settings Dock Widgets). They can also be dragged around with the mouse and docked to different areas in the main window. You can even detach them from the main window. The status bar and the toolbars can be hidden/shown by toggling the menu entry Settings Show Statusbar and the ones under Settings Toolbars Shown, respectively.

### The Network Neighborhood Browser

The interaction with the network neighborhood is done with the Network Neighborhood browser. It contains all network items — &ie; workgroups, servers, and shares — &smb4k; was able to find. They are organized in a network tree, and you can navigate through it by either clicking the [+] next to the item name or by executing the item itself.

In the network tree, the master browser of each workgroup or domain is highlighted by blue font color. Mounted shares are marked with the respective folder icon.

Screenshot of the network neighborhood browser The network neighborhood browser

#### Browsing

&smb4k; automatically scans the network neighborhood for active workgroups and domains on start-up and presents them in the network neighborhood browser. Opening a workgroup item shows the servers belonging to it. If you want to access the shares of one of the servers, you have to open the desired server.

There are two scan modes available. The traditional one, where initially only workgroups and domains are looked up and scans are only made when necessary — &ie; when you execute a network item —, and one, where the network is scanned periodically for all available network items including servers and shares. While the former one is the default, the latter one can be enabled in the configuration dialog.

There are four methods to retrieve the browse list: The default one is to scan the network neighborhood for all available master browsers. The second and third method directly query a master browser to get the browse list. The difference is that the former is a dynamic one, where the current master browser of your workgroup or domain is looked up and used, and the latter is a static one, where a fixed name or IP address is used. It is recommended that you choose the dynamic method. However, there might be circumstances that make it necessary to use a static name or IP address. The last method searches for all registered IP addresses within a given broadcast area. This might come in handy on poorly performing network neighborhoods.

There is also the possibility to wake up sleeping servers prior to scanning the network neighborhood (Wake-On-LAN). If this feature is enabled, &smb4k; sends a magic package to each server that is to be woken up and waits the defined time until it starts the lookup of the workgroups and domains. The Wake-On-LAN setting can be turned on in the configuration dialog. The servers that should to be woken up can be defined in the Custom Options dialog.

Under normal circumstances you should not have any trouble browsing the network neighborhood. In case you experience problems, please read our wiki first before thinking about reporting a bug. It lists some common problems and their solutions.

#### Actions and Popup Menu

For the network neighborhood browser several actions are defined. They are present in the menubar under Network, in the toolbar and the popup menu. The following ones are available:

F5 Scan Network|Workgroup|Computer

- Scan the whole network neighborhood, the highlighted workgroup/domain or computer for new entries. This action is visible by default and will be replaced by the Abort action if a network scan is running.

  The old keyboard shortcut &Ctrl; R is still available as an alternative.

&Ctrl; A Abort

- Abort any running process of the network neighborhood browser. This action is invisible by default and will only be visible instead of the Scan Network|Workgroup|Computer action if a network scan is running.

Add Bookmark

- Add a bookmark to the currently selected remote share. This action is disabled if no share is selected.

  Read the Adding Bookmarks section for more details.

&Ctrl; O Open Mount Dialog

- Open the dialog for mounting shares "manually". This feature may be needed if &smb4k; cannot find a server from which you want to mount a certain shared resource.

&Ctrl; T Authentication

- Open the authentication dialog. You can provide the login and password for the selected server or share. If a workgroup or no item is selected, this action is disabled.

&Ctrl; C Custom Options

- Open the Custom Options dialog. You can set several custom options for the selected server or share. If no a workgroup or not item is selected, this menu entry is disabled.

&Ctrl; V Preview

- Preview the contents of the selected remote share. This action is only enabled if a share is selected. Printer shares cannot be previewed.

&Ctrl; P Print File

- Print a file on a remote printer. This action is only available if a printer share is selected.

&Ctrl; M Mount

- Mount the selected remote share. By default and if you clicked anything different than a share with type "Disk" or "IPC", this action is disabled.

Although you can interact with the network neighborhood using the keyboard shortcuts mentioned above, in most cases it is more convenient to use the mouse. By right clicking you can open a popup menu. It contains all actions that are available in the network neighborhood browser. Depending on the position where you clicked (on a network item or on the viewport), some of them may be disabled. The figure below shows the popup menu opened on a remote share.

Screenshot of the popup menu of the network browser The popup menu of the network browser

The title of the popup menu is set to the name of the network item or displays Network if you clicked on the viewport.

#### Tooltips

For each network item a tooltip is provided that contains various information like the name of the workgroup and master browser, the name and IP address of the host, the name of the share, &etc; If a tooltip is requested for a server, it is queried for additional information about the operating system and the server (⪚ Samba).

The tooltips can be disabled in the configuration dialog.

#### Mounting a Share

There are three options available to mount a remote share:

1. Execute the icon representing the remote share in the network neighborhood browser. (Depending on your &kde; settings, this is done by either single or double clicking the icon.)

2. Select the remote share and click the Mount menu entry. Alternatively, you can press the &Ctrl; M keyboard shortcut.

3. If &smb4k; was not able to find the server where the share is located, you can press the &Ctrl; O Open Mount Dialog menu entry and a mount dialog will be opened:

   Screenshot of the "Mount Share" dialog The "Mount Share" dialog

   Here you can enter the location of the share either as Uniform Naming Convention (UNC) address in the form

       //[USER@]SERVER/SHARE

   or

       \\[USER@]SERVER\SHARE

   or as URL in the form

       [smb:]//[user@]server:port/share

   The OK button will be enabled and you can press it to mount the share. However, it is advisable to enter the IP address and the workgroup of the server, too. If you want to add the share to the bookmarks at the same time, tick the Add this share to the bookmarks check box.

Often a share is password protected. In this case, an authentication dialog will appear and you have to enter the correct user name (if not already provided) and password. &smb4k; will proceed mounting the share unless a wrong user name or password was supplied. In that case, the authentication dialog will reappear. If the mount process was successful, the user will be shown a notification and the share will appear in the mounted shares view. If mounting fails, a notification with the error message that was returned by

mount.cifs

8 (&Linux;) or

mount_smbfs

8 (FreeBSD) will be shown.

You can switch off the (purely informatory) mount notifications in the configuration dialog.

With a standard installation of &smb4k;, FreeBSD users might experience problems when they try to mount a share. This is due to misplaced DBUS and/or PolKit-1 config files. The section Remarks for FreeBSD Users : DBUS and PolKit-1 explains how to fix these issues.

#### Printing Files on Remote Printers

To print a file on a remote printer, open the print dialog by clicking the printer icon or choosing the &Ctrl; P Print File menu item.

Screenshot of the print dialog The print dialog

In the Printer section various information about the printer is shown. Under File you have to provide the name of the file you want to print. The number of copies can be defined under Options >>. Press Print... to start the print process.

&smb4k; currently supports PDF, Postscript, image, and text files. If you try to print a file with an unsupported mimetype, a notification with an error message will appear telling you the mimetype is not supported. In this case you have to convert the file manually to Postscript or PDF and try again.

#### Previewing Shares

&smb4k; provides the ability to preview remote shares. If you click the &Ctrl; V Preview menu entry, the contents of the selected remote share will be opened in a preview dialog.

Screenshot of the preview dialog The preview dialog

The preview dialog acts like a simple file manager. You can navigate through the contents of the remote share by clicking the folder icons in the list view and the Up, Back, and Forward button. The current location is displayed in the combo box on the right hand side. The Reload button reloads the contents of the current folder.

By default, the preview dialog only shows folders and files that are not hidden. You can change this behavior in the configuration dialog. File transfers or the like are not possible.

#### Providing Authentication Information

Many servers or remote shares are password protected. In that case, a password dialog appears asking you for the user name and password. The same happens, if you click the &Ctrl; T Authentication menu entry.

Screenshot of the authentication dialog The authentication dialog

If a user name has already been provided, it will be shown in the respective field. If it is wrong or no user name was provided, you have to enter one. The password, however, may be left blank. Clicking the OK button will commit the data. Depending on your choice in the configuration dialog, the user name and password will be stored permanently in a digital wallet, temporarily until &smb4k; exits or not all. In the latter case you will have to provide them every time they are needed.

#### Defining Custom Options

If you need to define special options for a single server or share that are different from the global ones that are set in the configuration dialog, you can do this with the Custom Options dialog. It is opened by clicking the &Ctrl; C Custom Options menu entry.

Screenshot of the custom options dialog for a share The custom options dialog

You can define custom Samba options here and set up the Wake-On-LAN feature. For the latter, you need to have Wake-On-LAN enabled in the configuration dialog.

The Default button is enabled if the entries in the dialog deviate from the settings you defined in the configuration dialog. By clicking it, you can reset the entries in the dialog to these default ones. The OK button is enabled if you changed the settings in the dialog. Clicking it will commit the custom settings and close the dialog.

Under FreeBSD, the dialog contains less entries than if you run a different operating system, because several of the options are not supported.

##### Samba

Depending on your selection, the settings in the custom options dialog either apply to all shares of a server or to a single one. You can define the SMB port, the file system port (&Linux; only), the write access, the user ID, the group ID and if Kerberos should be used for authentication. For detailed information on the individual settings, please see here.

##### Wake-On-LAN

To make the Wake-On-LAN feature work, you need to provide the MAC address of the server you selected. Currently, &smb4k; has no way to determine the MAC address, so you need to find it out on your own. Afterwards, you can define if &smb4k; should send a magic Wake-On-LAN package to the selected host before the network neighborhood is scanned and/or one of its shares is mounted.

#### Adding Bookmarks

A bookmark is added by selecting a remote share (only these can be bookmarked) and pressing the &Ctrl; B keyboard shortcut or selecting the Add Bookmark menu item. The bookmark will then be accessible through the Bookmarks menu. See the section Handling Bookmarks for more details.

The bookmarks can be used to mount remote shares.

### The Network Search Dialog

The Network Search dialog consists of the combo box where you can enter the search item and a list view where the search results are shown.

Screenshot of the network search dialog The network search dialog

#### Searching

&smb4k; searches the network neighborhood for shares that match or contain the search string. To start a search, enter the term and either press the &Enter; key or click the &Ctrl;S Search action next to the input box. All network shares that match the search criterion are listed in the list view. If they are already mounted on the system, they are marked accordingly. If the search fails, an error message is displayed. Starting a new search will clear the list view. If you need to abort a search, click the &Ctrl;A Abort action next to the Search action.

#### Actions and Popup Menu

For the network search also several actions are defined. They are present in the menu bar under Search, the tool bar, in the widget itself and in its popup menu. The following ones are available:

&Ctrl; S Search

- Search for the item that was entered in the search dialog. This action is visible by default and will be replaced by the Abort action if a network search is running.

&Ctrl; A Abort

- Abort the network search. This action is invisible by default and will only be visible instead of the Search action if a network search is running.

Clear

- Clear the whole network search dialog. This action does not only clear the list view, but also the search item history in the combo box.

&Ctrl; M Mount

- Mount a remote share from within the search dialog. Alternatively, you can double click the network share in the list view.

The popup menu contains two of the four actions. The &Ctrl;S Search and &Ctrl; A Abort dual action is located next to the search input box (as well as in the menu bar and tool bar).

Screenshot of the network search's popup menu The network search's popup menu

#### Mounting a Share

A discovered share can directly be mounted by either double clicking it or by selecting it and choosing the &Ctrl; D Mount action from the popup menu. Due to a shortcoming of the utility program that does the actual search (the

smbtree

1 command), &smb4k; cannot discriminate between printer and normal shares. Mounting a printer share will fail and an error notification will be shown.

When mounting a homes share, you are asked to provide the user name and a share with that name is mounted. The homes share itself will, thus, not be labeled as mounted afterwards.

### The Mounted Shares View

In the shares view, you can interact with the mounted shares on your system.

#### Different Views

&smb4k; comes with two alternative views: an icon and a list view. They are both shown below.

The icon view:

Screenshot of the shares icon view The shares icon view

The list view:

Screenshot of the shares list view The shares list view

The default view is the traditional icon view where the shares are displayed as icons along with their name or mount point. In the list view all shares are displayed with their name or mount point, the file system and the disk usage. More information can be included by adjusting the settings.

You can switch between the two views by either selecting an entry from the Shares View menu or by changing the settings in the configuration dialog.

By default, you will only see your own mounts in the shares view. However, you can tell &smb4k; to show all mounts by altering the respective settings.

#### Actions and Popup Menu

For the shares view several actions are defined. They are present in the menu bar under Shares, the tool bar and in its popup menu. The following ones are available:

&Ctrl; U Unmount

- Unmount one or multiple selected shares. The ability to unmount shares is by default restricted to the ones that are owned by you. However, you can change this behavior by changing the settings in the configuration dialog. If no share is selected in the shares view, this button is disabled.

  &smb4k; also provides the ability to force the unmounting of shares (&Linux; only). This might be useful with inaccessible shares that cannot be unmounted the normal way. To enable this feature, you need to modify the settings in the configuration dialog.

  Read the Unmounting Shares section for more details.

&Ctrl; N Unmount All

- Unmount all shares at once. The restrictions noted above also apply here. If you do not have any shares mounted, this button is disabled.

  Read the Unmounting Shares section for more details.

Add Bookmark

- Add a bookmark to the currently selected mounted share. This action is disabled if no share is selected.

  Read the Adding Bookmarks section for more details.

&Ctrl; Y Synchronize

- Start the synchronization of a share with a local copy or vice versa. This menu entry is only enabled if you installed the program

  rsync

  1.

&Ctrl; L Open with Konsole

- Open the base folder of a share in &konsole;. This menu item is useful if you need to run shell scripts, &etc;

&Ctrl; I Open with File Manager

- Open the contents of a share in the default file manager.

The popup menu includes all actions that can be performed on a mounted share:

Screenshot of the popup menu of the shares view The popup menu of the shares view

It can be opened by clicking the right mouse button.

#### Tooltips

The tooltips provide information about the share name, the mount point, the user and group, the login, the file system, the disk usage, and the free disk space. If the share is inaccessible, these values are marked as unknown.

Tooltips are enabled by default. You can deactivate them in the configuration dialog.

#### Inaccessible Shares

&smb4k; periodically checks all mounted shares if they are still accessible. If an inaccessible share is encountered, it will be marked with a modified icon and you will not be able to open or synchronize it anymore. Unmounting and adding a bookmark is still possible.

The program might freeze for a short period of time due to an inaccessible share. It will recover afterwards.

#### Icons

The shares views know three different icons that may be presented to the user:

Screenshot of three different icons Three different icons

- The icon on the left hand side indicates that this share is not accessible. &smb4k; won't allow you to open it or to do synchronization with it. You will only be able to unmount or add a bookmark to it.

- The central icon indicates that the share is online, accessible, and owned by you. You may perform all available actions on it.

- All shares marked with a red flag like the one on the right hand side are owned by another user. They are only shown if you adjusted the settings to display them. In the default configuration, you are not allowed to unmount these shares, but you can change this behavior, too.

#### Drag-and-Drop

&smb4k; supports drag-and-drop in the shares views:

You can drag a share icon from within the shares view onto the desktop or into another application (⪚ &dolphin;) and drop it there. You will then maybe get a popup menu asking you if you want to copy, link or move the contents of the share. When choosing the appropriate operation please remember that under most circumstances moving and linking the share might not be a good idea. The popup menu can be avoided if you hold down the &Ctrl; key while you are dragging and dropping the share.

Files and directories can be transferred to a mounted share by dragging them over its icon in the view and drop them there. By default the data will be moved to the share. To copy it, hold down the &Ctrl; key while you are dragging and dropping it. The transfer will only be successful if the share was mounted with read and write permissions.

#### Unmounting Shares

One or multiple selected shares may be unmounted by either clicking the &Ctrl; U Unmount action or by pressing its keyboard shortcut. By default, the ability to unmount a share is restricted to the ones that are owned by you. This behavior can be altered in the configuration dialog. If you enabled the unmounting of shares that are owned by other users, you will be presented with a warning dialog prior to the actual unmount:

Screenshot of the warning dialog that is shown when a foreign share is to be unmounted The warning dialog that is shown when unmounting foreign shares

If you click the Yes button, the share will definitely be unmounted. So, please think twice before you decide to unmount shares that are owned by other users!

Inaccessible shares are unmounted with a "normal" unmount by default. If this should fail, you can configure &smb4k; so as to perform a lazy unmount on inaccessible shares (&Linux; only).

All shares can be unmounted at once by clicking the &Ctrl; N Unmount All action. Depending on your settings, this will also unmount foreign and inaccessible shares.

After a successful unmount process, the user is notified. You can switch off this kind of purely informatory notifications in the configuration dialog. If unmounting fails, a notification with the returned error message will be shown.

#### Synchronization

The &Ctrl;Y Synchronize menu item opens the synchronization dialog. It offers you the mount point of the share as source and a path below the synchronization prefix as destination. To update the data on the share, you can swap the destination with the source by clicking the Swap Paths button.

Screenshot of the synchronization input dialog &URL; requester for sync'ing

Clicking the Synchronize button starts the synchronization. By left clicking on the Notifications button in the system tray, a progress dialog can be opened that shows some details about the transfer.

Screenshot of the synchronization progress dialog Progress dialog

In the default, collapsed version it displays the source and destination of the file that is currently transferred, the transfer rate and the overall progress. More information like the number of transferred files and a graphical representation of the transfer rate can be seen by clicking the More button on the left below to the progress bar.

The synchronization can be paused or canceled at any time by pressing the pause or stop button to the right of the progress bar.

The total number of files that is shown in the progress dialog corresponds to the number of files present on the share and not necessarily to the total number of files that will actually be transferred.

The progress is calculated from the number of transferred files devided by the total number of files present on the share. Their size is not considered. That means that one very large file adds to the progress as much as a very small one does. Also, due to the way rsync displays the transfer progress, the progress bar is only updated after the transfer of the file.

#### Opening a Share

&smb4k; provides two possibilities to open a mounted share:

- #### Open a share with &konsole;

  You can open the mounted share in &konsole; by selecting the &Ctrl;L Open with Konsole action. This is useful if you need to run shell scripts on the share or similar.

- #### Open a share with the default file manager

  You can open the share in the default file manager (⪚ &dolphin;) by clicking the share icon or selecting the &Ctrl;I Open with File Manager action.

If a share is marked as inaccessible, it cannot be opened.

### Handling Bookmarks

#### Adding Bookmarks

You can add bookmarks to your favorite shares from within the network neighborhood browser, the shares view and the plasmoid. In the dock widgets of the main window, this is done by selecting one or multiple shares and clicking the Add Bookmark action. In the plasmoid, you click the respective bookmark action next to the item's name. A dialog will then pop up where you can add a label and/or assign a group to the bookmark.

Screenshot of the bookmarks addition dialog Bookmarks addition dialog

Especially adding a group may help you to organize the bookmarks. In the bookmark menu, all bookmarks belonging to one group will be arranged in a submenu with the group entry as parent (see below).

The label can be any text describing the share. In case you define a label, it will be displayed in the bookmarks menu instead of the UNC by default. If you want to change this behavior, you can do so in the configuration dialog.

#### Accessing and Managing Bookmarks

In the main window, the bookmarks can be accessed and managed through the Bookmarks menu:

Screenshot of the bookmark popup menu Bookmark popup menu

In the menu there are two static items available:

Edit Bookmarks

- Open the bookmark editor. This action is disabled if there are no bookmarks.

&Ctrl; B Add Bookmark

- Add a bookmark. A share has to be selected to enable this action.

In case you have not defined any groups, there is a third item:

Mount All Bookmarks

- Mount all top-level bookmarks at once. It is disabled if all bookmarked shares are mounted.

All other entries are either group submenus or shares that do not belong to a group. All entries are listed alphabetically and the bookmarks may either appear with their UNC address or descriptive label. By clicking a bookmark, the respective share is mounted. If a bookmarked share is mounted on the system, the bookmark entry is disabled.

For each group there is a submenu. It contains all bookmarks belonging to the group and a Mount All Bookmarks menu item. The latter one can be used to mount all bookmarks in that submenu at once.

The plasmoid provides a Bookmarks tab where all bookmarks are arranged in a similar way as in the bookmark menu. The bookmark groups and the bookmarks are listed in the view. Bookmarked shares can be mounted by clicking the respective entry. In the tool bar two actions are present: Back and Edit. By clicking Back you can get back to the top level if you entered a group folder. The Edit action will open the bookmark editor.

#### Editing Bookmarks

The bookmarks may be edited or removed via the bookmark editor. It can be opened by clicking the Edit Bookmarks action in the main window or the Edit action in the Bookmarks tab of the plasmoid.

Screenshot of the bookmark editor Bookmark editor

In the tree view the bookmarks are arranged according to the groups they belong to. Bookmarks without groups are located at the top level. To rearrange bookmarks, the tree view offers drag and drop capabilities, so that you can move bookmarks around using the mouse.

If you want to edit a bookmark, you can do so by selecting it. The stored label, login, IP address and group name appear in the input widgets and become editable. In most cases, you do not need to touch the IP address and the login, because &smb4k; stored the correct values at the time you bookmarked the share. However, if the server got a different IP address (⪚ because DHCP is used on your local network) or your login changed, these entries should be adjusted. With the label you can give each bookmark a custom description. It will be used instead of the UNC address in the case this feature is enabled in the configuration dialog. The group entry, finally, helps you to organize your bookmarks. Especially if you use ⪚ your notebook at home and at work, it might be a good idea to create two groups "Home" and "Work" and save the bookmarks accordingly.

The tree view also offers a popup menu containing the following three actions. They can be used to add groups or remove groups and/or bookmarks.

Screenshot of the popup menu of the bookmark editor Popup menu of the bookmark editor

Add Group

- Add a bookmark group. After you created a group, you can move bookmarks to it.

Remove

- Remove a selected bookmark. This action is disabled if no bookmark is selected.

Clear Bookmarks

- Remove all bookmarks from the tree view including all groups.

After you finished editing, the changes can be committed by clicking the OK button.

### The System Tray Widget

#### Location and Usage

When &smb4k; is started, an icon appears in your system tray.

Screenshot of the system tray widget System tray widget

By left clicking the icon, you can minimize or restore the main window. A right click brings up a popup menu that contains several menu items allowing you to work with the mounted shares, manage or mount your bookmarks and to configure &smb4k; without the need to open the main window.

#### Menus and Menu Items

The Mounted Shares menu lists all mounted shares and some actions that can be performed on them.

Screenshot 1 of the popup menu of the system tray icon System tray icon's popup menu 1

Unmount All

- Unmount all shares at once. Depending on your settings, &smb4k; attempts to unmount either only those shares that are owned by you or all that are listed.

For each mounted share you can open a submenu that contains the following entries. For further information read here.

Unmount

- Unmount the share.

Add Bookmark

- Add the selected share to the bookmarks.

Synchronize

- Synchronize the mounted share with a local copy or vice versa. For further information read here and here.

Open with &konsole;

- Open the base folder of the share in &konsole;.

Open with File Manager

- Open the contents of the share in the default file manager (⪚ &dolphin;).

The Bookmarks menu contains all your bookmarks organized according to the structure you gave them (see also here and here)

Screenshot 2 of the popup menu of the system tray icon System tray icon's popup menu 2

Its layout is as described here except that the Add Bookmark menu item is not present.

The other menu entries are:

Open Mount Dialog

- Open the dialog for "manual" mounts.

Configure &smb4k;...

- Open the configuration dialog. See here for a full list of available settings.

Minimize | Restore

- Hide (minimize) or show (restore) the main window. Which text is shown depends on the state of the main window.

&Ctrl; Q Quit

- Quit the application.

### The &plasmoid;

&smb4k; comes with a plasmoid that can be added as a widget to the desktop or the panel. It consists of three views that are arranged as tabs: Network Neighborhood, Mounted Shares, and Bookmarks.

Screenshot of the plasmoid on the desktop Screenshot of the plasmoid

#### Network Neighborhood Tab

In the Network Neighborhood tab the network items are arranged in a list view:

Screenshot of the plasmoid's network neighborhood tab Bookmarks tab of the plasmoid

By clicking an entry you either enter the level below (⪚ clicking a workgroup or domain item will show a list of all hosts belonging to it), mount the selected share or invoke the print dialog. To go one level up again, you need to click the Up button in the toolbar.

For hosts and shares, to the right of the name of the network item some action buttons are arranged. For hosts, there is one button with that you can open the Custom Options dialog. For shares, there is an additional button with that you can add the share to the bookmarks. The action buttons are transparent by default and change to opaque when you move your mouse over them. By left clicking you initiate the respective action.

Besides the already mentioned Up button, the toolbar contains three more entries: Rescan, Abort and Mount Dialog. With them you can do a rescan, abort any running action or open the dialog for "manual" mounts.

#### Mounted Shares Tab

In the Mounted Shares tab all mounted shares are listed:

Screenshot of the plasmoid's mounted shares tab Bookmarks tab of the plasmoid

Right to the name of the share and its host, two action buttons are arranged. The first one is for adding a bookmark and the second for unmounting the shares. The action buttons are transparent by default and change to opaque when you move your mouse over them. By left clicking you initiate the respective action.

The toolbar only contains the Unmount All with that you can unmount all shares at once.

#### Bookmarks Tab

In the Bookmarks tab the bookmark groups and bookmarks are listed:

Screenshot of the plasmoid's bookmarks tab Bookmarks tab of the plasmoid

Bookmarked shares can be mounted by left clicking the respective bookmark. Bookmark groups can be entered the same way.

To edit or remove the bookmarks, you can press the Edit action button in the toolbar to open the Bookmark Editor. To get back to the toplevel the Back button is used.

### Remarks for FreeBSD Users

#### DBUS and PolKit-1

&smb4k; makes use of the &kde; authorization API (KAuth) to enable mounting of remote shares. KAuth uses DBUS and PolKit-1 (or PolicyKit) for privilege escalation, so it is necessary that &smb4k; is set up properly. When installing &smb4k; under FreeBSD, it might be necessary to manually adjust some things to achieve this (With version 1.0.10 of package kdehier4 this seems to be fixed!):

- Check that the file `de.berlios.smb4k.mounthelper.policy` exists in the directory `/usr/local/share/polkit-1/actions/`. If it is not present, you need to link (or copy) it to that location:

      $ cd /usr/local/share/polkit-1/actions/
      $ sudo ln -s \
      /usr/local/kde4/share/polkit-1/actions/de.berlios.smb4k.mounthelper.policy .

- The installation most likely put the DBUS files into the wrong location, so you have to link (or copy) them to the right one:

      $ cd /usr/local/share/dbus-1/system-services
      $ sudo ln -s \
      /usr/local/kde4/share/dbus-1/system-services/de.berlios.smb4k.mounthelper.service .

#### Mounting

Under FreeBSD, the SMB protocol is implemented in a different way than with other *NIX operating systems, and, thus, mounting of remote shares works differently. The major difference is the way the logon information is passed during the mount process. While under &Linux; and other operating systems that use Samba's

mount.cifs

8 program you may specify the user name and password within the command options or by setting the `USER` and `PASSWD` environment variables, under FreeBSD, all logon information is stored in the credentials file `~/.nsmbrc`. If the logon information is not available there, you will not be able to mount a password protected share.

&smb4k; writes new logon information to the credentials file on the fly, so that it can be used immediately. If you use a WINS server, this one and a few more global things will be considered, too. However, the information &smb4k; writes to `~/.nsmbrc` is limited: Only the name of the remote share, its workgroup, the login name (user name) and the encrypted password are provided. If you experience problems due to missing entries, you need to add them manually.

## Configuring &smb4k;

This section describes the settings that are available to configure &smb4k;. To open the configuration dialog, you have to click the Configure &smb4k;... menu item.

### User Interface

With the options located here you can change the appearance and behavior of several dialogs and widgets. Please note that if you want to change the appearance of the main window you will find additional options under Settings in the menubar.

Screenshot of the "User Interface" configuration tab The "Appearance" configuration tab

#### General Settings

##### Notifications

Show notifications

- The user is notified about actions that were performed, &ie; the mounting or unmounting of a share. If you do not want to be disturbed too often, you might want to switch this option off. Warnings and error messages are not affected by this option.

  Default: selected

##### Bookmarks

Show custom bookmark label if available

- The custom description (label) of the bookmark is shown. It can be defined in the bookmark editor.

  Default: selected

#### Network Neighborhood

##### Behavior

Automatically expand domains and hosts

- Automatically expand domain and host items when a list of associated network items (domain members or shares) is added or updated. Please note that a domain or host item will always be expanded when you execute it.

  Default: selected

##### Remote Shares

Show printer shares

- Printer shares are shown.

  Default: selected

Show hidden shares

- All hidden shares except those of type ADMIN$ and IPC$ are shown in the network browser.

  Default: selected

Show hidden IPC$ shares

- Hidden IPC$ shares are shown. This option can only be chosen if you also ticked the Show hidden shares check box.

  Default: not selected

Show hidden ADMIN$ shares

- Hidden ADMIN$ shares are shown. This option can only be chosen if you also ticked the Show hidden shares check box.

  Default: not selected

##### Columns

Show the type of the share

- The type of the shares is shown (i. e. Disk, Printer, or IPC).

  Default: selected

Show the IP address of the server

- The IP address of the remote servers is shown.

  Default: selected

Show the comment

- The comment of a remote server or share is shown.

  Default: selected

##### Tooltips

Show a tooltip with information about the network item

- A tooltip will be shown when you move the mouse pointer over an item in the network neighborhood browser. It contains information about the network item such as the workgroup or domain name, host name, comment, type, &etc;

  Default: selected

#### Mounted Shares

##### View

Show mounted shares in an icon view

- An icon view will be used to show the mounted shares.

  Default: selected

Show mounted shares in a list view

- A list view will be used to show the mounted shares.

  Default: not selected

The following settings are specifically defined for the list view:

Show the owner and group

- Show the UID and GID that owns the share in the list view.

  Default: not selected

Show the login name

- Show the login name that was used for mounting. An entry will only be shown if the share was mounted with the CIFS file system. The column will be empty otherwise.

  Default: not selected

Show the file system

- Show the file system that is used by the share.

  Default: selected

Show the free disk space

- Show the free disk space that is available on the share.

  Default: not selected

Show the used disk space

- Show the disk space that is in use on the share.

  Default: not selected

Show the total disk space

- Show the total disk space that the share offers.

  Default: not selected

Show the disk usage

- Show the disk usage in percent.

  Default: selected

##### Mounted Shares

Show the mount point instead of the share name

- The mount point is shown instead of the share name.

  Default: not selected

Show all shares that are mounted on the system

- All mounts that are using either the CIFS (&Linux;) or SMBFS (FreeBSD) file system are shown. By default, only the shares owned by you are displayed.

  Default: not selected

##### Tooltips

Show a tooltip with information about the share

- A tooltip will be shown if you move the mouse pointer over an item in the shares view. It contains information about the underlying item such as the share name, UNC address, mount point, owner and group, login (CIFS file system, &Linux; only), disk usage, &etc;

  Default: selected

#### Preview Dialog

##### Hidden Files & Directories

Preview hidden files and directories

- Show all files and directories including the hidden ones when opening a share's contents in the preview dialog. By default, this feature is deselected.

  Default: not selected

### Network

The options in the Network configuration tab can be used to change the lookup method for the browse list, to make &smb4k; send authentication information when querying the workgroup master browsers, and to enable periodic scanning as well as the Wake-On-LAN features. If you want to adjust the behavior of Samba programs, see the Samba section.

Screenshot of the "Network" configuration tab The "Network" configuration tab

#### Browse List

Scan the network neighborhood for available workgroups and domains

- &smb4k; will search for all available master browsers on the network by using

  nmblookup

  1. This is the default method and it is very reliable in finding all workgroups and domains of your network neighborhood. However, it suffers a few shortcomings like poor unicode support (⪚ umlauts might be replaced by dots).

  Default: selected

Query the current workgroup master browser

- The current master browser of your workgroup or domain is looked up and queried for the browse list. If some of the workgroup names of your network neighborhood contain umlauts or other special characters, you might want to try this method, since unicode is supported. However, sometimes outdated workgroup master browsers might be returned.

  Default: not selected

Query this custom master browser

- The master browser entered in the text box will be queried to retrieve the browse list. It can be specified by using either its NetBIOS name or its IP address. This option might be of use if you have an uncommonly configured network neighborhood.

  Default: not selected

Scan these broadcast areas

- &smb4k; will scan for and return all IP addresses that are registered within the given broadcast area(s). Please note that this is not a "real" IP address scan, because that would take ages. The broadcast areas have to be given in a comma-separated list and in the form x.y.z.255:

      192.168.1.255, 192.168.2.255, 10.0.0.255

  The IP address/mask pair (192.168.1.1/24) does not work.

  Default: not selected

#### Authentication

The master browsers require authentication to return the browse list

- If the workgroup master browsers require authentication to return the browse list, you need to check this button. This may be the case for example with some NAS devices. This setting is rarely needed and might even cause a master browser to return an empty browse list. It will not have any effect when you let &smb4k; scan broadcast areas.

  Default: not selected

#### Periodic Scanning

Scan the network neighborhood periodically

- If you want to enable periodic scanning of the network neighborhood, you need to check this button. With this method, all available network items are looked up, &ie; workgroups and domains, servers and shares.

  Default: not selected

Interval between scans

- If periodic scanning is enabled, this is the time in minutes that elapses until a new scan is triggered.

  Default: 5 min

#### Wake-On-LAN

To be able to use the Wake-On_LAN capability of &smb4k;, you have to enable the setting in this section. The hosts that should to be woken up have to be defined through the custom options dialog.

Enable Wake-On-LAN features

- Enable Wake-on-LAN (WOL) features. Wake-On-LAN is an ethernet computer networking standard that allows a computer to be turned on or woken up by a network message. Smb4K uses a magic package send via a UDP socket to wake up remote servers. If you want to take advantage of the Wake-On-LAN feature, you need to enable this option.

  Default: not selected

Waiting time

- This is the waiting time in seconds between the sending of the magic Wake-On-LAN packages and the scanning of the network neighborhood or the mounting of a share.

  Default: 5 s

### Shares

These options determine where &smb4k; will mount the remote shares and how it behaves on start-up and exit regarding mounted or recently used shares. If you want to configure the mount options, please see the Samba section.

Screenshot of the "Shares" configuration tab The "Shares" configuration tab

#### Directories

Mount prefix

- This is the base folder (mount prefix) where &smb4k; will mount the remote shares. It can be changed by using the &URL; requester (Click the button with the folder icon.) or by directly entering the new path into the text box. Path variables like `$HOME` are recognized.

  Default: `$HOME/smb4k/`

Force generated subdirectories to be lower case

- All subdirectories that are created by &smb4k; below the mount prefix will be lower case.

  Default: not selected

#### Mounting & Unmounting

Remount recently used shares on program start

- All shares that were mounted at the time &smb4k; was shut down will be remounted on program restart. This option affects only the shares that were mounted by you.

  Default: not selected

Number of remount attempts

- Set the number of attempts that are made to remount shares before Smb4K gives up.

  Default: 1

Interval between remount attempts

- Set the time that elapses between attempts to remount shares.

  Default: 5 min

Unmount all personal shares on exit

- All mounted shares that are owned by you will be unmounted on program exit.

  Default: not selected

Force the unmounting of inaccessible shares

- Force the unmounting of inaccessible shares (&Linux; only). In case a share is inaccessible, a lazy unmount is performed. Before the actual unmount is performed, a warning dialog is shown asking to approve the unmount.

  Default: not selected

Allow the unmounting of shares that are owned by other users

- This option will allow you to unmount shares that were mounted by other users.

  USE WITH EXTREME CAUTION!

  Default: not selected

#### Checks

Interval between checks

- &smb4k; periodically checks for newly mounted and inaccessable shares with an interval that can be defined here. Under normal circumstances, you do not need to change it. But if the server you connected to suffers from high load, you should increase the interval to ease it's situation. The effect on your system's load is generally rather small unless you set the interval below 1000 ms (not recommended).

  Default: 2500 ms

### Authentication

Here you can change the settings affecting the authentication.

Screenshot of the "Authentication" configuration tab The "Authentication" configuration tab

#### General Settings

##### Password Storage

Save logins in a wallet

- The login names and passwords are stored in a subfolder named `Smb4K` of the current network wallet (default: "kdewallet"). The advantage of this method is, that the authentication data is stored permanently and encrypted on your hard drive. You only have to provide it once and the next time it is needed, &smb4k; will read it from the wallet. If you uncheck this option, the authentication data will either be stored temporarily or not at all (see below).

  Default: selected

Remember logins during program run

- If you do not want &smb4k; to store the authentication data in a wallet, you can decide whether it should be stored temporarily or not. If you uncheck this check box, &smb4k; will immediately forget the authentication data you provided and you will have to enter it everytime it is needed. This option has no effect if you chose to store the passwords in a wallet (see above).

  Default: selected

##### Default Login

Use a default login

- The default login is used by default to authenticate to a server. If you enable this feature, a password dialog pops up, where you can provide the default login information.

  Screenshot of the default login input dialog The default login input dialog

  You have to fill in at least the user name. Empty passwords are supported.

  Default: not selected

#### Wallet Entries

The Wallet Entries tab contains an editor with that you can modify or remove existing wallet entries.

Screenshot of the wallet entries editor The wallet entries editor

Before you can edit the wallet entries, you have to load them from the wallet by pressing the Load button. The list of entries appears then on the left. An entry can be edited by selecting it and checking the Show details button. The details are then shown on the right and can be modified.

An entry can be removed by right clicking it and choosing the Remove item from the popup menu. All wallet entries may be removed at once by choosing the Clear List item.

Changes can be reset by choosing the Undo item from the popup menu either in the wallet entries list widget or in the details widget.

After you finished editing, the changes have to be committed to the wallet by pressing Save.

### Samba

Here you can directly influence the command line arguments that are passed to the Samba programs and also manage the custom settings you defined for single shares. Please note, that the settings will have no effect outside &smb4k; and that no changes will be applied to the `smb.conf` configuration file. For further information, please refer to the manual pages of the Samba software suite.

Screenshot of the "Samba" configuration page The "Samba" configuration page

#### General Settings

##### General Options

NetBIOS name

- Set the NetBIOS name of your computer. The text box should already be filled with the information found in the `smb.conf` configuration file or with the hostname of your computer. Under normal circumstances there is no need to change anything here.

  Default: NetBIOS name defined in `smb.conf` or the hostname

Domain

- Set the name of the domain/workgroup your computer is in. The text box should already be filled with the information found in the `smb.conf` configuration file. Under normal circumstances there is no need to change anything here.

  Default: domain name defined in `smb.conf`

Socket options

- Set the TCP socket options. Please refer to the

  smb.conf

  5 manual page to learn more.

  Default: socket options defined in `smb.conf`

NetBIOS scope

- Set the NetBIOS scope. It is recommended that you read the

  smb.conf

  5 manual page before entering anything here.

  Default: NetBIOS scope defined in `smb.conf`

##### Remote Ports

SMB port

- Sets the remote SMB port number that is used by

  net

  8 and

  smbclient

  1 to communicate with a remote host. Under FreeBSD, this is also the port that is used for mounting.

  Unless you are using a firewall or have a customized network setup, you do not need to change anything here.

  Default: 139

File system port

- Sets the file system port number that is used by

  mount.cifs

  8 when mounting a remote share. The default port number (445) should work for all modern operating systems. If you experience problems, try setting the port number to 139. If the problems only occur with a few hosts, it is recommended not to set the port number here globally, but to use the Custom Options dialog to define the port number individually for the problematic hosts.

  This option is only available under &Linux;. Under FreeBSD, the port for mounting shares is set with SMB port.

  Default: 445

##### Authentication

Try to authenticate with Kerberos

- Use Kerberos for authentication in an Active Directory environment.

  Default: not selected

Authenticate with local machine account

- Make queries to the remote server using the machine account of the local server.

  Default: not selected

Use Winbind ccache for authentication

- Try to use the credentials cached by Winbind.

  Default: not selected

##### Security

Signing state

- Set the client signing state. This setting is used by

  smbclient

  1 and

  smbtree

  1.

  The following options are available:

  None

- Do not set the client signing state.

On

- Set the client signing state to on.

Off

- Set the client signing state to off.

Required

- Set the client signing state to required.

Default: None

Encrypt SMB transport

- This option requires the remote server to support the &UNIX; extensions. Request that the connection be encrypted. This is new for Samba 3.2 and will only work with Samba 3.2 or above servers. Fails the connection if encryption cannot be negotiated.

  Default: not selected

#### Mounting

##### Common Options

User ID

- Sets the owner of the files and directories on the file system. By default, your UID is used. To change the UID, press the search button and choose one from the drop down menu.

  Default: your UID

Group ID

- Sets the group that owns the files and directories on the file system. By default, your GID is used. To change the GID, press the search button and choose one from the drop down menu.

  Default: your GID

File mask

- Sets the permissions that are applied to files. The value is given in octal and has to have 4 digits. To learn more about the file mask (fmask), you should read the

  mount

  8 and

  umask

  2 manual pages.

  Default: 0755

Directory mask

- Sets the permissions that are applied to directories. The value is given in octal and has to have 4 digits. To learn more about the folder mask (dmask), you should read the

  mount

  8 and

  umask

  2 manual pages.

  Default: 0755

Write access

- Here you can determine if the shares should be mounted read-write or read-only by default. This option is independent of the file mask and the folder mask settings above.

  Default: read-write

Client character set

- Sets the character set used by the client side (&ie; your computer).

  Default: default

Server codepage

- Sets the codepage the remote server uses.

  This option is only available under FreeBSD.

  Default: default

##### Advanced Options

(This widget is not available under FreeBSD.)

Most of the options you can define here require &Linux; kernel 2.6.15 or later to work.

Do permission checks

- The client side checks if you have the correct UID and GID to manipulate files and directories on the share. This is in addition to the normal ACL check on the target machine done by the server software. You might want to switch this feature off, if the server(s) support the CIFS Unix extensions and you are, hence, not allowed to access the share.

  Default: selected

Attempt to set UID and GID

- If the CIFS Unix extensions are negotiated with the server the client side will attempt to set the effective UID and GID of the local process on newly created files, directories, and devices. If this feature is turned off, the default UID and GID defined for the share will be used. It is recommended that you read the manual page of

  mount.cifs

  8 before you change this setting.

  Default: not selected

Use server inode numbers

- Use inode numbers (unique persistent file identifiers) returned by the server instead of automatically generating temporary inode numbers on the client side. This parameter has no effect if the server does not support returning inode numbers or similar. It is recommended that you read the manual page of

  mount.cifs

  8 before you change this setting.

  Default: not selected

Do not cache inode data

- Do not do inode data caching on files opened on the share. In some cases this can provide better performance than the default behavior which caches reads and writes.

  Default: not selected

Translate reserved characters

- Translate six of the seven reserved characters (not backslash, but including the colon, question mark, pipe, asterisk, greater than and less than characters) to the remap range (above 0xF000), which also allows the client side to recognize files created with such characters by &Windows;’s POSIX emulation. This can also be useful when mounting to most versions of Samba. This has no effect if the server does not support Unicode.

  Default: not selected

Do not use locking

- Do not use locking. Do not start lockd.

  Default: not selected

Security mode

- Security mode. To be able to use this option, the CIFS kernel module 1.40 or later is needed.

  The allowed values are:

  Connect as a null user (no name)

- The `sec=none` command line argument is used. This causes

  mount.cifs

  8 to attempt to connect as a null user (no name).

Kerberos 5 authentication

- The `sec=krb5` command line argument is used. This causes

  mount.cifs

  8 to use Kerberos version 5 authentication.

Kerberos 5 authentication and packet signing

- The `sec=krb5i` command line argument is used. This causes

  mount.cifs

  8 to use Kerberos version 5 authentication and force packet signing.

NTLM protocol

- The `sec=ntlm` command line argument is used. This causes

  mount.cifs

  8 to use NTLM password hashing. Up to &Linux; kernel version 3.8 this is the default setting.

NTLM protocol and packet signing

- The `sec=ntlmi` command line argument is used. This causes

  mount.cifs

  8 to use NTLM password hashing and force packet signing.

NTLMv2 protocol

- The `sec=ntlmv2` command line argument is used. This causes

  mount.cifs

  8 to use NTLMv2 password hashing.

NTLMv2 protocol and packet signing

- The `sec=ntlmv2i` command line argument is used. This causes

  mount.cifs

  8 to use NTLMv2 password hashing and force packet signing.

NTLMSSP protocol

- The `sec=ntlmssp` command line argument is used. This causes

  mount.cifs

  8 to use NTLMv2 password hashing encapsulated in a Raw NTLMSSP message. Since &Linux; kernel version 3.8 this is the default setting.

NTLMSSP protocol and packet signing

- The `sec=ntlmssp` command line argument is used. This causes

  mount.cifs

  8 to use NTLMv2 password hashing encapsulated in a Raw NTLMSSP message and force packet signing.

Default: NTLMSSP protocol

Additional options

- Define additional options for use with

  mount.cifs

  8. They have to be provided in a comma-separated list and should not include any options that were already defined in the configuration dialog because this could lead to unwanted side effects. The list is appended AS IS to the command line arguments. To find out about the arguments that can be used read the manual page of

  mount.cifs

  8.

  Default: empty

#### Utility Programs

##### net

Protocol hint

- With these settings you can give &smb4k; a hint, which protocol should be used with the

  net

  8 command. Since for some actions not all protocols are available, your choice might be ignored for certain tasks.

  If only a few and not all servers need tweaking, you should consider to use the Custom Options dialog to set the protocol hint and leave this option untouched.

  The following options are available:

  Automatic detection

- The protocol will be determined automatically by the

  net

  8 command on run time. This is the default and in most cases you do not need to change it. However, sometimes connection problems occur because the

  net

  8 program has problems negotiating the right protocol. In almost all cases this can be fixed by setting the protocol hint to the RPC protocol.

RPC: Modern operating systems

- The RPC protocol is used by the modern &Windows; variants (2000/XP/2003) and by Samba.

RAP: Older operating systems

- The RAP protocol is used by older &Windows; systems (95/98/Me). Its disadvantage is, that it does not support long share names. However, &smb4k; uses it as fallback.

ADS: Active Directory environment (LDAP/Kerberos)

- &smb4k; will try to use the ADS protocol if appropriate. Please note, that no command has been implemented yet that uses the ADS protocol, so this setting will have no effect for now.

Default: Automatic detection

##### nmblookup

Broadcast address

- Send a query to the given broadcast address. Without this option the default behavior of nmblookup is to send the query to the broadcast address of the network interfaces as either auto-detected or defined in the

      interfaces = ...

  parameter of the `smb.conf` file.

  Default: options defined in `smb.conf`

Try and bind to UDP port 137 to send and receive UDP datagrams

- The reason for this option is a bug in Windows 95 where it ignores the source port of the requesting packet and only replies to UDP port 137. Under normal circumstances, you do not need to tick this check box. If you experience problems while scanning the network and you want to enable this option, read the manual page of

  nmblookup

  1 before.

  Default: not selected

##### smbclient

Name resolve order

- Determine what naming services and in what order are used to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The options are: "lmhost", "host", "wins" and "bcast". For further information see the manual page of

  smbclient

  1.

  Default: options defined in `smb.conf`

Buffer size

- Change the transmit/send buffer size when getting or putting a file from/to a remote server.

  Default: 65520 Bytes

##### smbtree

Send requests as broadcasts

- Query network nodes by sending requests as broadcasts instead of querying the local master browser.

  Default: not selected

### Synchronization

This configuration page contains options that influence the behavior of the

rsync

1 command that is used to synchronize remote shares with local copies and vice versa. It is only available, if

rsync

1 is installed on your system. It is recommend, that you read the manual page before you use the synchronization feature the first time. However, safe settings are pre-defined. You will do no harm, if you start right away. Screenshot of the "Synchronization" configuration page The "Synchronization" configuration page

#### Copying

##### Default Destination

Synchronization prefix

- This is the base folder below which &smb4k; stores the transferred data using

  rsync

  1. It can be changed by using the &URL; requester (Click the button with the folder icon.) or by directly entering the new path into the text box. Path variables like $HOME are recognized.

  For each share you synchronize, a new subdirectory below this prefix will be generated. If you want to synchronize the contents of a share to a different folder, you can define it in the synchronization dialog.

  Default: `$HOME/smb4k_sync/`

##### General

Archive mode

- Option: `-a`/`--archive`, same as `-rlptgoD` (no `-H`)

  Switch the archive mode on. This is a quick way of saying you want recursion and want to preserve almost everything. Note that `-a` does not preserve hardlinks, because finding multiply-linked files is expensive. You must separately specify `-H`.

  Default: selected

Recurse into subdirectories

- Option: `-r`/`--recursive`

  Recurse into subdirectories.

  Default: selected

Update files

- Option: `-u`/`--update`

  This forces

  rsync

  1 to skip any files that exist on the destination and have a modification time that is newer than the one of the source file. (If an existing destination file has a modification time equal to the source file's, it will be updated if the sizes are different.)

  Default: selected

Update files in place

- Option: `--inplace`

  This causes

  rsync

  1 not to create a new copy of the file and then move it into place. Instead

  rsync

  1 will overwrite the existing file, meaning that the rsync algorithm cannot accomplish the full amount of network reduction it might be able to otherwise. One exception to this is if you combine the option with `--backup`, since

  rsync

  1 is smart enough to use the backup file as the basis file for the transfer.

  For further information you ought to read the manual page.

  Default: not selected

Use relative path names

- Option: `-R`/`--relative`

  Use relative path names. This means that the full path names specified on the command line are sent to the server rather than just the last parts of the file names.

  Default: not selected

Do not send implied directories

- Option: `--no-implied-dirs`

  This option affects the default behavior of the `--relative` option. When it is specified, the attributes of the implied directories from the source names are not included in the transfer. This means that the corresponding path elements on the destination system are left unchanged if they exist, and any missing implied directories are created with default attributes. This even allows these implied path elements to have big differences, such as being a symlink to a folder on one side of the transfer, and a real folder on the other side.

  For further information you ought to read the manual page.

  Default: not selected

Transfer directories without recursing

- Option: `-d`/`--dirs`

  Tell the sending side to include any directories that are encountered. Unlike `--recursive`, a folders contents is not copied unless the folder name specified is "." or ends with a trailing slash (⪚ ".", "dir/.", "dir/", &etc;). Without this option or the `--recursive` option,

  rsync

  1 will skip all directories it encounters (and output a message to that effect for each one). If you specify both `--dirs` and `--recursive`, `--recursive` takes precedence.

  Default: not selected

Compress data during transfer

- Option: `-z`/`--compress`

  Compress file data during the transfer.

  Default: not selected

##### Links

Preserve symlinks

- Option: `-l`/`--links`

  Copy symlinks as symlinks.

  Default: selected

Transform symlinks

- Option: `-L`/`--copy-links`

  When symlinks are encountered, the item that they point to is copied, rather than the symlink.

  Default: not selected

Only transform unsafe symlinks

- Option: `--copy-unsafe-links`

  Only transform "unsafe" symlinks. This means if a symlink is encountered that is pointing outside the copied tree, the referenced item is transferred rather than the symlink itself.

  Default: not selected

Ignore unsafe symlinks

- Option: `--safe-links`

  This tells

  rsync

  1 to ignore any symbolic links which point outside the copied tree. All absolute symlinks are also ignored. Using this option in conjunction with `--relative` may give unexpected results.

  Default: not selected

Preserve hard links

- Option: `-H`/`--hard-links`

  This tells

  rsync

  1 to look for hard-linked files in the transfer and link together the corresponding files on the receiving side. Without this option, hard-linked files in the transfer are treated as though they were separate files.

  Note that

  rsync

  1 can only detect hard links if both parts of the link are in the list of files being sent.

  Default: not selected

Keep directory symlinks

- Option: `-K`/`--keep-dirlinks`

  This option causes the receiving side to treat a symlink to a directory as though it were a real directory, but only if it matches a real directory from the sender. Without this option, the receiver's symlink would be deleted and replaced with a real directory.

  Default: not selected

##### File Permissions, &etc;

Preserve permissions

- Option: `-p`/`--perms`

  This option causes the receiving side to set the destination permissions to be the same as the source permissions.

  Default: selected

Preserve group

- Option: `-g`/`--group`

  This option causes

  rsync

  1 to set the group of the destination file to be the same as the on of the source file. If the receiving program is not running as the super-user (or with the `--no-super` option), only groups that the receiver is a member of will be preserved.

  Default: selected

Preserve owner

- Option: `-o`/`--owner`

  This option causes

  rsync

  1 to set the owner of the destination file to be the same as the source file. By default, the preservation is done by name, but may fall back to using the ID number in some circumstances (see the `--numeric-ids` option for a full discussion). This option has no effect if the receiving

  rsync

  1 is not run as the super user and `--super` is not specified.

  Default: selected

Preserve device and special files

- Option: `-D`/`--devices --specials`

  This option causes

  rsync

  1 to transfer character and block device files as well as special files (such as named sockets and fifos) to the remote system. This option has no effect if the receiving side is not run as the super user and `--super` is not specified.

  Default: selected

Preserve times

- Option: `-t`/`--times`

  This tells

  rsync

  1 to transfer modification times along with the files and update them on the remote system.

  Default: selected

Omit directories when preserving times

- Option: `-O`/`--omit-dir-times`

  This tells

  rsync

  1 to omit directories when it is preserving modification times (see `--times`).

  Default: not selected

#### File Deletion & Transfer

##### File Deletion

Remove synchronized source files

- Option: `--remove-source-files`

  This tells

  rsync

  1 to remove from the sending side the files (meaning non-directories) that are a part of the transfer and have been successfully duplicated on the receiving side.

  Default: not selected

Delete extraneous files

- Option: `--delete`

  This tells

  rsync

  1 to delete extraneous files from the receiving side (ones that aren't on the sending side), but only for the directories that are being synchronized. You must have asked

  rsync

  1 to send the whole folder (⪚ "`dir`" or "`dir/`") without using a wildcard for the folders contents (⪚ "`dir/*`") since the wildcard is expanded by the shell and

  rsync

  1 thus gets a request to transfer individual files, not the files' parent folder. Files that are excluded from transfer are also excluded from being deleted unless you use the `-- delete-excluded` option or mark the rules as only matching on the sending side.

  Default: not selected

Delete files before transfer

- Option: `--delete-before`

  Request that the file deletions on the receiving side be done before the transfer starts. This is the default if `--delete` or `--delete-excluded` is specified without one of the `--delete-WHEN` options.

  Default: not selected

Delete files after transfer

- Option: `--delete-after`

  Request that the file deletions on the receiving side be done after the transfer has completed.

  Default: not selected

Delete files during transfer

- Option: `--delete-during`

  Request that the file deletions on the receiving side be done incrementally as the transfer happens. This is a faster method than choosing the before- or after-transfer algorithm, but it is only supported beginning with

  rsync

  1 version 2.6.4.

  Default: not selected

Also delete excluded files

- Option: `--delete-excluded`

  In addition to deleting the files on the receiving side that are not on the sending side, this tells

  rsync

  1 to also delete any files on the receiving side that are excluded (see `--exclude`).

  Default: not selected

Delete even if I/O errors occur

- Option: `--ignore-errors`

  Tells `--delete` to go ahead and delete files even when there are I/O errors.

  Default: not selected

Force deletion of non-void directories

- Option: `--force`

  This option tells

  rsync

  1 to delete a non-empty folder when it is to be replaced by a non-folder. This is only relevant if deletions are not active (see `--delete`).

  Default: not selected

##### Restrictions

Do not delete more than this many files

- Option: `--max-delete=NUM`

  This tells

  rsync

  1 not to delete more than NUM files or directories (NUM must be non-zero). This is useful when mirroring very large trees to prevent disasters.

  Default: not selected; NUM: 0

##### File Transfer

Do not transfer any file smaller than

- Option: `--min-size=NUM`

  This tells

  rsync

  1 to avoid transferring any file that is smaller than the specified SIZE, which can help in not transferring small, junk files.

  Default: not selected; NUM: 0 kB

Do not transfer any file larger than

- Option: `--max-size=NUM`

  This tells

  rsync

  1 to avoid transferring any file that is larger than the specified SIZE.

  Default: not selected; NUM: 0 kB

Keep partially transferred files

- Option: `--partial`

  By default,

  rsync

  1 will delete any partially transferred file if the transfer is interrupted. In some circumstances it is more desirable to keep partially transferred files. Using the `--partial` option tells

  rsync

  1 to keep the partial file which should make a subsequent transfer of the rest of the file much faster.

  Default: not selected

Put partially transferred files into

- Option: `--partial-dir=DIR`

  A better way to keep partial files than the `--partial` option is to specify a folder DIR that will be used to hold the partial data (instead of writing it out to the destination file). On the next transfer,

  rsync

  1 will use a file found in this folder as data to speed up the resumption of the transfer and then delete it after it has served its purpose. Before you tick this option, you should read the manual page.

  Default: not selected; DIR: `$HOME`

#### Filtering

##### General

Auto-ignore files in the same way CVS does

- Option: `-C`/`--cvs-exclude`

  This is a useful shorthand for excluding a broad range of files that you often don't want to transfer between systems. It uses the same algorithm that CVS uses to determine if a file should be ignored.

  Default: not selected

Exclude files matching this pattern

- Option: `--exclude=PATTERN`

  This option is a simplified form of the `--filter` option that defaults to an exclude rule and does not allow the full rule-parsing syntax of normal filter rules.

  Default: not selected; PATTERN: empty

Read exclude patterns from

- Option: `--exclude-from=FILE`

  This option is related to the `--exclude` option, but it specifies a FILE that contains exclude patterns (one per line). Blank lines in the file and lines starting with ';' or '#' are ignored. You have to choose an existing file to make this option work.

  Default: not selected; FILE: `$HOME/exclude.txt`

Do not exclude files matching this pattern

- Option: `--include=PATTERN`

  This option is a simplified form of the `--filter` option that defaults to an include rule and does not allow the full rule-parsing syntax of normal filter rules.

  Default: not selected; PATTERN: empty

Read include patterns from

- Option: `--include-from=FILE`

  This option is related to the `--include` option, but it specifies a FILE that contains include patterns (one per line). Blank lines in the file and lines starting with ';' or '#' are ignored. You have to choose an existing file to make this option work.

  Default: not selected; FILE: `$HOME/include.txt`

##### Filter Rules

Custom filter rules

- Option: `-f`/`--filter=RULE`

  You can define one or more filter rules here. Each rule has to be prefixed with the `--filter=` or `-f` option string, because the contents of the text box will be passed to the

  rsync

  1 command AS IS.

  This option allows you to add rules to selectively exclude certain files from the list of files to be transferred. This is most useful in combination with a recursive transfer.

  You may use as many `--filter` options as you like to build up the list of files to exclude.

  See the FILTER RULES section of the manual page for detailed information on this option.

  Default: empty

Use --filter='dir-merge /.rsync-filter' filter rule

- Option: `-F`

  This option tells

  rsync

  1 to look for per-folder `.rsync-filter` files that have been sprinkled through the hierarchy and use their rules to filter the files in the transfer.

  See the FILTER RULES section of the manual page for detailed information on how this option works.

  Default: not selected

Use --filter='exclude .rsync-filter' filter rule

- Option: `-FF`

  This option filters out the `.rsync-filter` files themselves from the transfer.

  See the FILTER RULES section of the manual page for detailed information on how this option works.

  Default: not selected

#### Advanced Settings

##### General

Handle sparse files efficiently

- Option: `-S`/`--sparse`

  Try to handle sparse files efficiently so they take up less space on the destination. Conflicts with `--inplace` because it's not possible to overwrite data in a sparse fashion.

  Do not use this option when the destination is a &Solaris; "tmpfs" file system. It doesn't seem to handle seeks over null regions correctly and ends up corrupting the files.

  Default: not selected

Copy files whole (no rsync algorithm)

- Option: `-W`/`--whole-file`

  With this option the incremental

  rsync

  1 algorithm is not used and the whole file is sent as-is instead. The transfer may be faster if this option is used when the bandwidth between the source and destination machines is higher than the bandwidth to disk (especially when the "disk" is actually a networked file system). This is the default when both the source and destination are specified as local paths.

  Default: not selected

Do not cross file system boundaries

- Option: `-x`/`--one-file-system`

  This tells

  rsync

  1 to avoid crossing a file system boundary when recursing. This does not limit the user's ability to specify items to copy from multiple file systems, just

  rsync

  1's recursion through the hierarchy of each folder that the user specified, and also the analogous recursion on the receiving side during deletion. Also keep in mind that

  rsync

  1 treats a "bind" mount to the same device as being on the same file system.

  Default: not selected

Only update files that already exist

- Option: `--existing`/`--ignore-non-existing`

  This tells

  rsync

  1 to skip updating files that do not exist yet on the destination. If this option is combined with the `--ignore-existing` option, no files will be updated (which can be useful if all you want to do is to delete missing files).

  Default: not selected

Ignore files that already exist

- Option: `--ignore-existing`

  This tells

  rsync

  1 to skip updating files that already exist on the destination. See also `--ignore-non-existing`.

  Default: not selected

Delay updates until the end of transfer

- Option: `--delay-updates`

  This option puts the temporary file from each updated file into a holding folder until the end of the transfer, at which time all the files are renamed into place in rapid succession.

  It is strongly recommended that you read the manual page before using this option.

  Default: not selected

##### Backup

Make backups

- Option: `-b`/`--backups`

  With this option, preexisting destination files are renamed as each file is transferred or deleted. You can control where the backup file goes and what (if any) suffix gets appended using the `--backup-dir` and `--suffix` options.

  Note that if you don't specify `--backup-dir`, (1) the `--omit-dir-times` option will be implied, and (2) if `--delete` is also in effect (without `--delete-excluded`),

  rsync

  1 will add a "protect" filter-rule for the backup suffix to the end of all your existing excludes (⪚ `-f "P *~"`). This will prevent previously backed-up files from being deleted. Note that if you are supplying your own filter rules, you may need to manually insert your own exclude/protect rule somewhere higher up in the list so that it has a high enough priority to be effective (⪚, if your rules specify a trailing inclusion/exclusion of '*', the auto-added rule would never be reached).

  Default: not selected

Backup suffix

- Option: `--suffix=SUFFIX`

  This option allows you to override the default backup suffix used with the `--backup` option. The default suffix is a ~ if no `--backup-dir` was specified, otherwise it is an empty string.

  This option is only available if you ticked the Make backups option above.

  Default: not selected; SUFFIX: ~

Backup directory

- Option: `--backup-dir=DIR`

  In combination with the `--backup` option, this tells rsync to store all backups in the specified folder. This is very useful for incremental backups. You can additionally specify a backup suffix using the `--suffix` option (otherwise the files backed up in the specified folder will keep their original filenames).

  This option is only available if you ticked the Make backups option above.

  Default: not selected; DIR: `$HOME`

##### Checksums

Force fixed checksum block size

- Option: `-B`/`--block-size=SIZE`

  This forces the block size used in the rsync algorithm to a fixed value. It is normally selected based on the size of each file being updated. See the technical report for details.

  Default: not selected; SIZE: 0

Set block/file checksum seed

- Option: `--checksum-seed=NUM`

  Set the MD4 checksum seed to the integer NUM. This 4 byte checksum seed is included in each block and file MD4 checksum calculation. By default the checksum seed is generated by the server and defaults to the current time(). This option is used to set a specific checksum seed, which is useful for applications that want repeatable block and file checksums, or in the case where the user wants a more random checksum seed. Note that setting NUM to 0 causes rsync to use the default of time() for checksum seed.

  Default: not selected; NUM: 0

Skip files based on checksum

- Option: `-c`/`--checksum`

  This forces the sender to checksum every regular file using a 128-bit MD4 checksum. It does this during the initial file system scan as it builds the list of all available files. The receiver then checksums its version of each file (if it exists and it has the same size as its sender-side counterpart) in order to decide which files need to be updated: files with either a changed size or a changed checksum are selected for transfer. Since this whole-file checksumming of all files on both sides of the connection occurs in addition to the automatic checksum verifications that occur during a file's transfer, this option can be quite slow.

  Default: not selected

### Laptop Support

The settings on this page influence the way &smb4k; behaves when used on a laptop. Primarily, they make sure that the application runs smoothly even after a suspension/hibernation and during or after a network disconnection. But you can also define the behavior when the laptop is powered off without prior log-off.

Please note that &smb4k; is only able to detect changes in state of the hardware through the Solid hardware device framework. So, it might be necessary that you unmount all shares manually if you initiate a software suspend/hibernation. Have also a look at the options defined on the Shares configuration page under Mounting & Unmounting.

#### Hardware

Screenshot of the "Laptop Support" configuration page The "Laptop Support" configuration page

Unmount all shares when the sleep button is pressed

- All shares owned by you are unmounted when the sleep button is pressed and your laptop is about to suspend or hibernate. After the operating system woke up again, the shares are remounted.

  Default: selected

Unmount all shares when the lid is closed

- All shares owned by you are unmounted when the lid is closed and your laptop is about to suspend or hibernate. After the operating system woke up again, the shares are remounted.

  Default: selected

Unmount all shares when the power button is pressed

- All shares owned by you are unmounted when the power button is pressed and your laptop is about to power off. On the next program run, the shares are remounted.

  Default: selected

Unmount all shares when the network is disconnected

- All shares owned by you are unmounted when the network gets disconnected. After the connection was established again, the shares are remounted.

  Default: selected

### Custom Options

All servers and shares for which you defined custom options are listed here.

Screenshot of the "Custom Options" configuration tab The "Custom Options" configuration tab

The options defined for a network item can be edited by either double clicking an entry in the list view or by choosing the Edit item from the popup menu (right click on the selected item). The custom options are then being loaded and can be edited. To remove an entry, right click it and choose the Remove item from the popup menu. All network items may be removed at once by choosing the Clear List item. Changes can be reset by choosing the Undo item from the popup menu.

The custom options are accessible through the editor widgets on the right. In the General section the UNC address of the network item and its editable IP address are shown. Also, you can define whether the share should be remounted. Below, the custom options are arranged in two tabs:

#### Samba

You can edit various Samba settings here. Which ones are available depends on the operating system you are using. For more information, have a look at the description of the Samba configuration page.

#### Wake-On-LAN

Here you can edit the options that you previously defined through the Custom Options dialog.

## Command Reference

### Menu Items

#### The File Menu

&Ctrl; Q File Quit

- Quit &smb4k;.

#### The Network Menu

F5 Network Scan Network|Workgroup|Computer

- (Re-)scan the network neighborhood, a workgroup, or a computer.

&Ctrl; A Network Abort

- Abort the scanning for new workgroups/domains, servers or shares.

&Ctrl; O Network Open Mount Dialog

- Open the dialog to "manually" mount a remote share.

&Ctrl; T Network Authentication

- Open the authentication dialog where you can enter login information.

&Ctrl; C Network Custom Options

- Open a dialog where you can define custom options for a server or share.

&Ctrl; V Network Preview

- Open the preview dialog that contains a preview of the contents of the selected share.

&Ctrl; P Network Print File

- Open the print dialog.

&Ctrl; M Network Mount

- Mount the selected remote share.

#### The Search Menu

&Ctrl; S Search Search

- Search the network for the entered search string.

&Ctrl; A Search Abort

- Abort the network search.

Search Clear

- Clear the network search widget, &ie; the combo box, the history and the list view.

&Ctrl; D Search Mount

- Mount the selected share.

#### The Shares Menu

&Ctrl; U Shares Unmount

- Unmount the selected share.

&Ctrl; N Shares Unmount All

- Unmount all of the mounted shares at once. In the default configuration this is restricted to the user's shares, but this can be altered in the configuration dialog. For further information read the Unmounting Shares section.

&Ctrl; Y Shares Synchronize

- Initiate a synchronization.

&Ctrl; L Shares Open with Konsole

- Open the base folder of the selected share in &konsole;.

&Ctrl; I Shares Open with File Manager

- Open the contents of the selected share in the default file manager (⪚ &dolphin;).

#### The Bookmarks Menu

Bookmarks Edit Bookmarks

- Open the bookmark editor.

&Ctrl; B Bookmarks Add Bookmark

- Add the selected share to the bookmarks.

#### The Settings Menu

Settings Toolbars Shown

- In this submenu you can enable or disable the toolbars.

Settings Show Statusbar

- Hide or show the status bar.

Settings Dock Widgets

- Hide or show the dock widgets in the main window.

Settings Shares View

- Select between the shares icon and list view.

Settings Configure &smb4k;...

- Open the configuration dialog.

#### The Help Menu

Additionally &smb4k; has the common &kde; Help menu items, for more information read the section about the Help Menu of the &kde; Fundamentals.

## Reporting Bugs

Before filing a bug report, please read our wiki. Many common problems are already covered there. Also, try the latest version of &smb4k;. Maybe your problem has already been fixed.

Follow these directions for your bug report:

- Describe in detail what you did to receive the problem you are reporting.

- Provide the version of &smb4k; and &kde;.

- Mention your operating system (&Linux;, FreeBSD, &etc;) and the distribution that is running on your computer.

- Include the full error message if an error dialog was displayed.

- Add additional data, &ie; attach the backtrace if you experienced a crash, send a screen shot if you are reporting a &GUI; related problem, &etc;

The recommended method to report a bug is to go to our bug tracking system and fill out the form. But you can also use the dialog that opens when you click the Help Report Bug... menu item.

## Credits and License

Copyright © 2003 - 2014, Alexander Reinholdt alexander.reinholdt@kdemail.net

&underFDL; &underGPL;

### Developers

- Alexander Reinholdt alexander.reinholdt@kdemail.net

### Translations

Translations were contributed by the &kde; translators.

### Special Thanks

The &smb4k; team would like to thank everyone who contributed by sending patches. Also, a big "Thank you!" goes to Rashid N. Achilov shelton@sentry.granch.ru, who convinced us to port &smb4k; to FreeBSD and helped us a great deal to achieve this goal.

## Installation

### How to obtain &smb4k;

The latest stable release is available at http://sourceforge.net/projects/smb4k/files/.

### Requirements

&smb4k; officially supports &Linux; (>= 2.2.x) and FreeBSD (>= 4.10). It might also run on other Unix systems.

If you want to compile &smb4k; from source, you need to have the kdelibs (including header files) and kdebase-runtime modules of the &kde; SC 4.4 or later installed. Additionally, &Qt; version 4.7 or later is required.

In order to use &smb4k; successfully, you have to install the Samba software suite (3.x, 3.4 or later recommended), &GNU; grep, &GNU; awk or similar, &GNU; sed and the &GNU; findutils. If you are using &Linux;, you also need support of the `/proc` file system compiled into your kernel.

To enable full functionality, you should also install rsync.

&smb4k; uses about 20 MB of memory to run, but this may vary depending on your platform and configuration.

Links to all required libraries and programs as well as &smb4k; itself can be found on the &smb4k; home page.

The list of changes can be found in the `ChangeLog` file.

### Compilation and Installation

This section describes the configuration, compilation and installation of &smb4k;.

1. Unpack the downloaded source tarball:

       $ tar -xvfj smb4k-x.x.x.tar.bz2

   (Replace x.x.x with the version number)

2. Create a build directory:

       $ cd smb4k-x.x.x
       $ mkdir build

   (The build directory can have any name you want.)

3. Change into the build directory:

       $ cd build

4. Configure the source code with at least the following command:

       $ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Release ..

   If you also want to install &smb4k;'s core header files, add the `-DINSTALL_HEADER_FILES=true` to the command line. Several more options can be added. Read the cmake documentation for more information.

5. Compile the source code:

       $ make

6. Install the application. Run

       $ sudo make install

   in the `build` directory. If you want to be able to remove &smb4k; with your package manager, install the checkinstall package and run

       $ sudo checkinstall

   instead.

### Debugging the Source Code

If you experience crashes or similar and want to debug the source code yourself, compile it with debugging symbols. The procedure is similar to the one described in the Compilation and Installation section except that you need to modify the cmake command slightly:

    $ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Debug ..

Now compile and install the program as stated before. If you do not want to install but only debug the newly compiled program, you may execute &smb4k; from within the source code directory. Change into the `smb4k` subdirectory and run:

    $ ./smb4k --nofork

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