# The &smb4k; Handbook

Alexander
Reinholdt

    alexander.reinholdt AT kdemail.net

2005-2011
Alexander Reinholdt
&underFDL;
2011-11-28
4.0.0

&smb4k; is an advanced network neighborhood browser and a front end to the programs of the Samba software suite.

KDE
Smb4K
Samba

## Introduction

This handbook describes &smb4k; 1.0.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

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 invited 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.

During start-up, &smb4k; checks for all programs that are required to run the application. If some of them are missing, &smb4k; notifies the user about them.

Notification listing the missing programs
Notification that lists the missing programs

You have to install the listed programs or 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 order to be able to run the application properly.

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 toolbars are located. Below them you find the status bar.

Screenshot of the main window
The main window

There are the following four toolbars defined. They contain the actions needed to interact with the application, the network neighborhood and the mounted shares. They can also be found in the menubar or in the popup menus of the dock widgets. 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.

- #### Main Toolbar

  This toolbar is located on the leftmost side and contains actions that can be used to add a bookmark, change several settings or to quit the application.

  Screenshot of the Main Toolbar
  The Main Toolbar

  The actions are (from left to right):

  &Ctrl;B Add Bookmark

    Add a bookmark. This action adds a bookmark to a share either selected in the network neighborhood browser or in the mounted shares view. This depends on which of the two windows is activated (has got the focus). The button is disable if neither of the two windows is activated or no share is selected.

  Dock Widgets

    Hide or show the Network Neighborhood, Network Search, or Mounted Shares dock widget.

  Shares View

    Choose which view you want to use to display the mounted shares. An icon view and a list view are available.

  Configure &smb4k;...

    Open the configuration dialog.

  Quit

    Quit &smb4k;.

- #### Network Toolbar

  In this toolbar all actions are organized (except the Add Bookmark action) that are defined in the Network Neighborhood widget.

  Screenshot of the Network Toolbar
  The Network Toolbar

  The actions are (from left to right):

  F5 Scan Network|Workgroup|Computer

    Scan the network, the highlighted workgroup or computer for new entries. This action is enabled by default and will be disabled if a network scan is running.

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

  &Ctrl; A Abort

    Abort any action performed by the network neighborhood browser. This button is disabled by default and will only be enabled if a network scan is running or a share is being mounted.

  &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 for the selected server or share. The button is disabled if a workgroup or no item is selected.

  &Ctrl; C Custom Options

    Open the Custom Options dialog for a selected server or share. The button is disabled if a workgroup or no item is selected.

  &Ctrl; V Preview

    Open the preview dialog. It is only enabled if a share is selected. Printer shares cannot be previewed.

  &Ctrl; P Print File

    Open the print dialog. It is only enabled if a printer share is selected.

  &Ctrl; M Mount

    Mount the selected share. By default and if a workgroup or server is selected, the button is disabled.

- #### Search Toolbar

  This toolbar contains all actions that are defined in the Network Search widget.

  Screenshot of the Search Toolbar
  The Search Toolbar

  The actions are (from left to right):

  &Ctrl; S Search

    Search for the item that was entered in the search dialog.

  &Ctrl; A Abort

    Abort the network search.

  Clear

    Clear the search dialog.

  &Ctrl; D Mount

    Mount a remote share from within the Network Search widget.

- #### Shares Toolbar

  Here you find all actions (except the Add Bookmark action) that are defined in the Mounted Shares widget. They are used to work with the mounted shares or to unmount them.

  Screenshot of the Shares Toolbar
  The Shares Toolbar

  The actions are (from left to right):

  &Ctrl; U Unmount

    Unmount the share that is selected in the shares view. Please note that the ability to unmount shares is by default restricted to the ones that are owned by you. 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.

    The Force Unmounting action that was present under &Linux; before &smb4k; 1.0.0 has been removed. Instead you can modify the settings in the configuration dialog to enable the forced unmounting of inaccessible shares.

  &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.

  &Ctrl; Y Synchronize

    Initiate the synchronization of the contents of a selected share.

  &Ctrl; L Open with Konsole

    Open the contents of the selected share in &konsole;.

  &Ctrl; I Open with File Manager

    Open the contents of the selected share in the default file manager.

The status bar gives some information about the current status of &smb4k;. If the application is processing a user request (&eg; 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, 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.

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.

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.

#### Popup Menu

Although you can interact with the network using keyboard shortcuts, 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.

The following menu entries (actions) are available:

F5 Scan Network|Workgroup|Computer

  Scan the whole network neighborhood, a workgroup/domain, or a server.

&Ctrl; A Abort

  Abort any running process of the network neighborhood browser.

Add Bookmark

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

&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

  The authentication dialog is opened. You can provide the login and password for the selected server or share. If no item or a workgroup is selected, this menu entry is disabled.

&Ctrl; C Custom Options

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

&Ctrl; V Preview

  Preview the contents of the selected remote share.

&Ctrl; P Print File

  Print a file on a remote printer. This menu item is only available if you selected a printer share.

&Ctrl; M Mount

  Mount the selected remote share. This menu entry is disabled if you clicked anything different than a share with type "Disk" or "IPC".

#### 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 (&eg; 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 login (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

Depending on your selection, the settings in the custom options dialog either apply to all shares of a server or to a single share. 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.

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.

#### 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. It 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 in the list view. 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.

#### Popup Menu

The popup menu contains two of the four actions that are defined for the network search dialog. The &Ctrl;S Search action, which does the same like pressing the &Enter; key, and the &Ctrl; A Abort action are only located in the Search Toolbar.

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

The entries in the popup menu are:

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; D Mount

  Mount a remote share. Alternatively, you can double click the network share in the list view.

#### 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 ask 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.

#### Popup Menu

The popup menu includes all actions that can be performed on a mounted share. It can be opened by clicking the right mouse button.

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

The actions accessible through the popup menu are:

&Ctrl; U Unmount

  Unmount the selected share. Read the Unmounting Shares section for details.

&Ctrl; N Unmount All

  Unmount all mounted shares at once. Read the Unmounting Shares section for details.

Add Bookmark

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

&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.

  Since &smb4k; 0.10.0 the shortcut for this action has changed.

#### 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 (&eg; &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

A share may be unmounted by either clicking the &Ctrl; U Unmount menu item 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 menu item. Depending on your settings, this action 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 error message that was returned by umount 8 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 and a progress bar is shown.

Screenshot of the synchronization progress bar
Progress bar

You can open the progress dialog by clicking the Notifications and jobs button in the taskbar.

Screenshot of the synchronization progress dialog
Progress dialog

In the default, collapsed version it displays the file that is currently transfered and the overall progress. More information like the files transferred and the transfer rate can be seen by clicking the More button next to the progress bar. Please note that the total number of files that is shown 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 synchronization can be canceled at any time by pressing the Cancel job button in the upper right corner of the dialog.

#### 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 menu entry. 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 (&eg; &dolphin;) by clicking the share icon or selecting the &Ctrl;I Open with File Manager menu item.

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 or the shares view by selecting a share and clicking the Add Bookmark menu item. 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.

#### Bookmarks Menu

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.

#### Bookmark Editor

The bookmarks may be edited or removed via the bookmark editor. It can be opened by clicking the Edit Bookmarks menu item.

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 (&eg; 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 &eg; 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 (&eg; &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.

### 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 menu bar.

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. If you want to adjust the behavior of Samba programs (such as nmblookup 1, net 8, or smbclient 1), 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 (&eg; 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

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

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 the 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 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:

  Use default security mode

    No argument is appended to the command line. The default security mode is used.

  Attempt to connect as a null user (no name)

    The `sec=none` command line argument is used.

  Use Kerberos authentication

    The `sec=krb5` command line argument is used.

  Use Kerberos authentication and packet signing

    The `sec=krb5i` command line argument is used.

  Use NTLM password hashing

    The `sec=ntlm` command line argument is used.

  Use NTLM password hashing with packet signing

    The `sec=ntlmi` command line argument is used.

  Use NTLMv2 password hashing

    The `sec=ntlmv2` command line argument is used.

  Use NTLMv2 password hashing with packet signing

    The `sec=ntlmv2i` command line argument is used.

  Default: Use default security mode

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

#### 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 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 defined options 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.

### 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 (&eg; ".", "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 (&eg; "`dir`" or "`dir/`") without using a wildcard for the folders contents (&eg; "`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 (&eg; `-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 (&eg;, 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

## Command Reference

### 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 (&eg; &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 tool bars.

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

&help.menu.documentation;

## 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 - 2011, Alexander Reinholdt alexander.reinholdt@kdemail.net

&underFDL;

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