# The &smb4k; Handbook

Alexander
Reinholdt

    dustpuppy AT users.berlios.de

2005-2008
Alexander Reinholdt

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

2008-10-05
1.2.3

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

- Mounting and unmounting of shares, including unmounting all shares at once

- Support of the CIFS and SMBFS file system for mounting

- Access to the files of a mounted share with either &konqueror; or &konsole;

- Auto-detection of external mounts and unmounts

- Remounting of previously used shares on program start-up

- Miscellaneous infos about the remote network items and the mounted shares

- Network search

- WINS server support

- Preview of shares

- Selectable look-up and search methods

- Default login

- Ability to execute mount and umount SUID root (using sudo)

- Special handling of homes shares

- Ability to bookmark favorite shares

- System tray widget

- Support of advanced Samba options

- Support of printer shares

- Konqueror plugin

- KWallet support

- Synchronization of a remote share with a local copy and vice versa

- Ability to define custom options for each and every share or server

If you encounter problems or bugs while using &smb4k;, please read the Trouble Shooting section of this handbook first. If you cannot find your problem described there, please ask for help on our Smb4K-general mailing list or go to our bug tracker and report it.

## 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 mandatorily needed to run the application. If some of them are missing or if the `PATH` environment variable is not set properly, &smb4k; shows an error message and exits.

Error dialog listing the missing programs
Error dialog 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.

If all programs have been found, the main window and the system tray widget will be shown and you can start working with &smb4k;.

Note: 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.

Starting with version 0.9.0, &smb4k; uses the KConfig XT configuration system. All previously defined settings are obsolete. To assure a clean transition the old configuration file `$HOME/.kde/share/config/smb4krc` will be removed the first time you start the new version of &smb4k;. A message box will warn you before the file is actually removed:

Warning message box
The warning message box

If you plan to revert to a version < 0.9.0, you should cancel the removal and backup the old configuration file.

### Overview

In the default configuration, the main window of &smb4k; looks like shown in the figure below: It is devided into two sections, the tab widget (3) on the left hand side, that contains the network browser and the search dialog, and the shares view (4) on the right hand side. Above them the menu bar (1) and tool bars (2) are located. Below them you find the status bar (5).

Screenshot of the main window
The main window

The menu bar and tool bars contain all actions that are needed to interact with the network and the mounted shares. They are listed below. Please have a look at the sections dicussing the popup menus of the network browser and the shares view for additional information and some important warnings.

Menu items in the main window:

- Rescan action
- Start a rescan of the entire network neighborhood. This action is enabled by default and will be disabled if a network scan is running. Please note that its behavior is slightly different from the one of the rescan action found in the popup menu of the network browser.
- Abort action
- Stop any action performed by the network browser. This button is disabled by default and will only be enabled if a network scan is running or a share is being mounted.
- Manual mount action
- Open the dialog for mounting shares manually. This feature may be needed if &smb4k; could not find a server from which you want to mount a certain shared resource.
- Authentication action
- Open the authentication dialog for the selected server or share. The button is disabled if a workgroup or no item is selected.
- Custom options action
- Open the Custom Options dialog for a selected server or share. The button is disabled if a workgroup or no item is selected.
- Preview action
- Open the preview dialog. It is only enabled if a share is selected. Printer shares cannot be previewed.
- Print file action
- Open the print dialog. It is only enabled if a printer share is selected.
- Mount action
- Mount the selected share. By default and if a workgroup or server is selected, the button is disabled.
- Unmount action
- 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.
- Force unmount action
- Force the unmounting of a share. This feature is disable by default and you have to enable it in the configuration dialog. Since you can also force the unmounting of shares owned by other users, you have to be EXTREMELY CAUTIOUS when using it.
- Unmount all action
- Unmount all shares at once. The restrictions noted above also apply here. If you do not have any shares mounted, this button is disabled.
- Synchronize action
- Initiate the synchronization of the contents of a selected share.
- Konsole action
- Open the contents of the selected share in &konsole;.
- Konqueror action
- Open the contents of the selected share in &konqueror;.
- Shares views action
- Choose which shares view you want to use. An icon view and a list view are available.
- Configure Smb4K action
- Open the configuration dialog.
- Quit action
- Quit &smb4k;.

These actions also appear in the popup menus of either the network browser or the shares view.

The status bar gives some information about the current status of &smb4k;. If the application is processing a user request (e.g. mounting a share), a descriptive message is displayed in the leftmost section and the progress bar next to the version information shows a busy indicator.

The main window is highly configurable. You can hide/show the network browser and the search dialog by toggling the menu entries under Settings Dock Widgets. Both widgets can also be dragged around with the mouse and docked to one of the corners of the main window. You can even detach them from the main window. The status bar and the tool bars can be hidden/shown by toggling the menu entry Settings Hide Statusbar and the ones under Settings Toolbars, respectively.

### The Network Browser

The interaction with the network neighborhood is done with the network browser. By default, it is located in the tab widget on the right hand side of the main window (see '3' in this figure). It contains all network items — i.e. workgroups, servers, and shares — &smb4k; was able to find. They are organized in a network tree, and you can navigate through it by clicking the [+] next to the item name or by executing the item itself.

#### Browsing

&smb4k; automatically scans the network neighborhood for active workgroups and domains on start-up and presents them in the network 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 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.

Note: Under normal circumstances you shouldn't have any trouble browsing the network neighborhood. In case you experience problems, please read the Trouble Shooting section 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 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:

&Ctrl; R Scan Network|Workgroup|Computer

  Scan the whole network neighborhood, a workgroup/domain, or a server. For your convenience, new network items will be added and obsolete ones removed without closing the network tree.

&Ctrl; A Abort

  Abort any running process that is network related. The entry is only enabled if &smb4k; is busy. Please note that this Abort action has a limited functionality compared to the one found in the menu and tool bar that aborts all running processes at once.

&Ctrl; O Mount Manually

  The mount dialog is opened. You can enter the name, IP address, and workgroup/domain of a share you want to mount manually. This feature comes in handy if the server where the share is located could not be found automatically.

&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 remote share. If no item or a workgroup is selected, this menu entry is disabled.

&Ctrl; B Add Bookmark

  Add a bookmark. This menu entry is only available if a remote share is selected.

&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 click 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 (e.g. 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 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 Mount Manually menu entry and a mount dialog will open:

   Screenshot of the "Mount Manually" dialog
   The "Mount Manually" dialog

   Here you must enter the share name in the form

       //SERVER/SHARE

   (This is also correct for FreeBSD users!). The OK button will be enabled and you can press it to mount the share. It is advisable, however, to enter the IP address and the workgroup of the server as well. 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 and password. &smb4k; will proceed mounting the share unless a wrong user name or password was provided. In that case, the authentication dialog will reappear. If the mount process was successful, the share will appear in the shares view.

Please note, that &smb4k; mounts the shares with the CIFS file system by default. If you need to use the old SMBFS file system, you can change the setting in the configuration dialog.

If mounting fails, an error dialog will be shown with the error message that was returned either by smbmount 8 or mount.cifs 8. See the Trouble Shooting section for some of the most common errors and their possible solutions.

#### 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. The dialog will stay open until the print process ended.

&smb4k; currently supports PDF, Postscript, image, DVI, and text files. While the first three formats will directly be sent to the printer, the latter two need conversion. If you installed the programs dvips 1 and enscript 1, the DVI and text files will automatically be converted to Postscript before they are printed.

If you try to print a file with an unsupported mimetype or if the appropriate conversion program is missing, an error message box will appear telling you the mimetype is not supported. In this case you have to convert the file manually to Postscript or PDF or install the needed conversion program.

#### 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 directory icons in the list view, 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 directory.

By default, the preview dialog only shows directories 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 the authentication dialog opens due to a failed attempt to access a server or share, you will be presented with the reason for the failure. Otherwise, you will only be asked to provide the authentication data for the selected network item.

You have to enter the user name in the respective field. The password, however, may be left blank. Clicking the OK button will commit the data. Depending on your choice in the configuration dialog, the login and password will be stored permanently, temporarily 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 dialog will contain different entries. With servers the port, the protocol hint for the 'net' command, and the use of Kerberos can be set whereas with shares the port, the file system, the user ID, the group ID, the write access, and the use of Kerberos can be defined (see figure above). For detailed information on the individual settings, please see here.

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

Note: Under FreeBSD, the dialog contains less entries than when 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 Search Dialog

The Search Dialog is contained in the tab widget on the left hand side of the main window and can be opened by either clicking the tab or by pressing the &Ctrl; 2 keyboard shortcut. It consists of the combo box where you can enter the server you are looking for, the Search, Clear, and Add button, and the list view where the results of the search are displayed.

Screenshot of the search dialog
The search dialog

To search for a host, you enter its NetBIOS name or IP address (see restrictions below), and press the Search button. If the server could be found, it appears with its workgroup and optionally its IP address in the list view. In the case the server is already in the network browser, the icon is in addition equipped with a checkmark. If the search failed, an error message will be displayed in the list view.

A server that is not already in the network browser can be added to it by clicking the Add button. It will then appear in its workgroup or domain. To remove the search results, click the Clear button.

&smb4k; is using nmblookup 1 by default for searching. It is very reliable and should work well under most circumstances. Special configurations of the network neighborhood, however, make it sometimes necessary to use smbclient 1 to look up servers. You can switch programs in the configuration dialog. Read the The Network Tab section to find out more.

Restrictions: smbclient 1 cannot handle IP addresses correctly. Thus, if you are using this search method, you are restricted to the NetBIOS name. If you try to use an IP address, you will get an error message.

### The Shares View

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

#### Different Views

&smb4k; comes with two alternative views: the icon view (1) and the list view (2).

Screenshot of the shares icon view
The shares icon 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 remote 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. By default, the ability to unmount a share is restricted to the ones that are owned by you. This behavior may be altered in the configuration dialog.

  Warning: Please be EXTREMELY CAUTIOUS if you decide to enable the ability to unmount shares owned by other users!

&Ctrl; F Force Unmounting

  Perform a lazy unmount on a share. This menu item is only available under Linux and should only be used if a share became inaccessible and could not be unmounted by the Unmount action. To take advantage of it, you have to enable the respective option in the configuration dialog first.

  Before a share is actually unmounted, a dialog will appear asking you to confirm the action:

  Screenshot of the dialog asking for confirmation if you want to force the unmounting of a share
  The dialog asking for confirmation if you want to force the unmounting of a share

  If you click the Yes button, the unmount will be carried out. The dialog can be disabled by checking the Do not ask again check box. The unmount will then be performed immediately and without confirmation.

  Warning: Think twice before using this option!

&Ctrl; N Unmount All

  Unmount all mounted shares at once. By default, only your own shares will be unmounted. But you can enable the ability to unmount all shares that are mounted on the system in the configuration dialog.

  Warning: Please be EXTREMELY CAUTIOUS if you decide to enable the ability to unmount shares owned by other users!

&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 directory of a share in &konsole;. This menu item is useful if you need to run shell scripts, etc.

&Ctrl; K Open with Konqueror

  Open the contents of a share in Konqueror.

#### Tooltips

The tooltips provide information about the share name, the mount point, the login (CIFS file system) or the user and group (SMBFS file system), the file system, the disk usage, and the free disk space. If the share is inaccessible, this will be indicated in the tooltip.

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

#### Inaccessible Shares

&smb4k; checks all mounted CIFS and SMBFS shares whether they are still accessible. If an inaccessible share is encountered, it will be marked with a modified icon and you won't be able to open or synchronize it anymore. Unmounting will still be possible.

Note: The program may freeze for a short period and will recover afterwards. With the CIFS file system, the freeze will only take a few seconds even with many shares that went offline at once. If you are using SMBFS, this might take up to a few minutes.

#### 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 marked 'A' tells the user 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 it.

All shares that look like 'B' 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.

Finally, the icon marked 'C' indicates that the share is online, accessible, and owned by you. You may perform all available actions on it.

#### Drag-and-Drop

&smb4k; supports drag-and-drop in the shares views since version 0.8.0. However, these features are turned off by default, because they have some issues (see below). You can enable drag-and-drop support in the configuration dialog.

##### Enabled drag support

You can drag a share icon from within the shares view onto the desktop or into another application (e.g. &konqueror;) and drop it there. You will then maybe get a popup menu asking you whether you want to copy, link or move the contents of the share. This is a KDE feature and cannot be switched off. Never choose to move the data, because this will move it from the remote share to your hard drive! Also linking is not a good idea, because after unmounting the mount point will be gone. It is, thus, strongly recommended to always choose to copy the data. Please note, that the popup menu can be avoided if you hold down the CTRL key while you are dragging and dropping the item.

##### Enabled drop support

You can drag files or directories from outside of &smb4k; over a share icon and drop them there. There are no pitfalls that you need to be aware of. However, the data you dropped will always only be copied and never moved. So if you want the data to be removed from your hard drive after the transfer, you have to delete it manually.

#### Unmounting Shares

A share may be unmounted by either clicking the &Ctrl; U Unmount menu item or by pressing its keyboard shortcut. In most cases, this will work smoothly and without problems. However, if you try to unmount a foreign share (i.e. one that is owned by another user) or one that went offline, unmounting can fail. In the latter case, you should consider to force the unmounting by clicking the &Ctrl; F Force Unmounting menu entry (only available under Linux). If it is not enabled, you can switch this feature on in the configuration dialog. A lazy unmount will then be performed and the share will definitely get unmounted.

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 offline shares.

Note: The mounting of shares is described here.

#### Sychronization

The &Ctrl;Y Synchronize menu item will open the synchronization dialog. It will offer you the mount point of the share as source and the rsync prefix as destination. In most cases, you may at least want to edit the destination to point to the right location. If you want to update the data on the share, you can also swap the destination with the source by clicking the Swap Paths button.

Screenshot of the synchronization dialog (input)
URL requester for sync'ing

Clicking the Synchronize button starts the synchronization. The input widgets as well as the Swap Paths and Synchronize buttons are disabled now. The progress of the synchronization can be observed in the dialog:

Screenshot of the synchronization dialog (progress)
Progress dialog

Besides the name of the file that is currently trensferred, the progress of the current transfer, the overall progress, the number of copied files and the transfer rate are displayed. The total number of files that is shown with the Files transferred entry corresponds to the number of files present on the share and not to the total number of files that will be transferred.

The synchronization can the canceled at any time by clicking the Cancel button.

#### 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 &konqueror;

  You can open the share in &konqueror; by clicking the share icon or selecting the &Ctrl;K Open with Konqueror menu item.

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

### Handling Bookmarks

You can add a bookmark to your favorite shares by selecting it in the network browser and clicking the &Ctrl;B Add Bookmark menu item. Alternatively, you can use the keyboard shortcut.

#### Bookmarks Menu

The bookmarks can be accessed and managed through the Bookmarks menu:

Screenshot of the bookmark popup menu
Bookmark popup menu

In the Bookmarks menu there are two static items available:

&Ctrl; E Edit Bookmarks

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

&Ctrl; B Add Bookmark

  Add a bookmark. A share in the network browser has to be selected to enable this action.

The other entries are shares you already bookmarked. They are listed alphabetically and may either appear with their name or with a label that can be defined in the bookmark editor. By clicking a bookmark the respective share is mounted. If it is (already) mounted, the menu item is disabled.

#### Bookmark Editor

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

Screenshot of the bookmark editor
Bookmark editor

The IP Address and Label sections are editable (Double click the field you want change and you will enter the editor mode.) Since the IP addresses will be adjusted automatically in case they changed, you might never need to edit them. With the label you can give each bookmark a custom description. It will be used in the Bookmarks menu instead of the share name in the case the feature is enabled in the configuration dialog.

To remove one share or all shares at once, right click in the editor window to bring up a small popup menu that contains the Remove and the Remove All actions. The Remove action will only be enabled if you clicked on a bookmark.

The changes can be committed by clicking the OK button.

### The System Tray Widget

#### Location

By default, &smb4k; starts embedded into the system tray:

Screenshot of the system tray icon
System tray icon

The big advantage of running &smb4k; embedded is that you can close (minimize) the main window while the application keeps running in the system tray. So, you can clear up your desktop and use it for your daily work. However, if you prefer to run &smb4k; unembedded, you can change the setting in the configuration dialog. Please note, that in this case you quit &smb4k; when you close the main window.

#### Usage

By left clicking on the icon the main window can be hidden or shown. A right click will bring up a popup menu that contains several menu items that allow 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

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

The following menus and menu items are available:

Mounted Shares

  This menu lists all mounted shares and some actions that can be performed on them:

  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:

  Unmount

    Unmount the share.

  Force Unmounting

    Force the unmounting of the share (Linux only). For further information read here and here.

  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 directory of the share in &konsole;.

  Open with &konqueror;

    Open the contents of the share in &konqueror;.

Bookmarks

  The Bookmarks menu contains a list of your bookmarks and the following bookmark releated action(s):

  Edit Bookmarks

    Open the bookmark editor.

  Executing one of the bookmarks mounts the respective remote share. It will appear in the Mounted Shares menu as well as in the shares view of the main window.

Mount Manually

  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. If it is hidden, the user sees the Restore entry and Minimize otherwise.

&Ctrl; Q Quit

  Quit the application.

### The &konqueror; Plugin

&smb4k; comes with a plugin which brings the application's key features to &konqueror;. It is standalone, so you do not have to start &smb4k; to be able to use it.

After installation, the plugin can be added by clicking the configuration button on the side bar of &konqueror;'s navigation panel and choosing Add NewSamba Browser. An additional button with &smb4k;'s icon will appear. If the configuration button is not shown, you can also right click on the side bar to open the popup menu.

Screenshot of Konqueror's navigation panel
Konqueror's navigation panel

The network browser is opened by clicking the &smb4k; symbol in the navigation panel. It is equipped with an extra toolbar, that is not present in the main application, and a modified version of the popup menu.

Screenshot of the Konqueror plugin
Konqueror plugin

You can navigate through the network tree by either clicking the + or the network item itself. Remote shares can be mounted by choosing &Ctrl; M Mount from the popup menu or by clicking the share. The mount point of the share will be opened in the file view after mounting. If you need to define custom options for certain servers or shares, you can use the Custom Options dialog for that (see here for more information).

A share can be unmounted by selecting it in the network browser and choosing the &Ctrl; U Unmount menu item. An Unmount All feature is not present in the &konqueror; plugin.

The shares will stay mounted even after you closed &konqueror; unless you choose the option Unmount all shares of user USER on exit (where USER is your user name) from the configuration dialog. In this case, your shares will be unmounted if you close &konqueror;.

Just like the main application, the plugin comes with the ability to remount recently used shares. If you enable the corresponding setting in the configuration dialog and start &konqueror; with the plugin open, these shares will be mounted and the last one will be opened in the file view.

The popup menu of the &konqueror; plugin contains the following menu entries:

&Ctrl; R Scan Network|Workgroup|Computer

  Scan the whole network neighborhood, a workgroup/domain, or a server. For your convenience, new network items will be added and obsolete ones removed without closing the network tree.

&Ctrl; A Abort

  Abort any running process that is network related. The entry is only enabled if &smb4k; is busy.

&Ctrl; O Mount Manually

  The mount dialog is opened. You can enter the name, IP address, and workgroup/domain of a share you want to mount manually. This feature comes in handy if the server where the share is located could not be found automatically.

&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 remote share. If no item or a workgroup is selected, this menu entry is disabled.

&Ctrl; B Add Bookmark

  Add a bookmark. This menu entry is only available if a remote share is selected.

&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 | U Mount | Unmount

  The functionality of this menu item depends on the state of the share you selected:

  - If a mounted share is selected, you can unmount it. The item shows &Ctrl; U Unmount.

  - If a share is selected that is not mounted, you can mount it. The item shows &Ctrl; M Mount.

  This menu entry is disabled if you click anything different than a share with type "Disk" or "IPC".

The small tool bar at the top of the plugin window contains a button to reload the network tree, to open the search dialog, and to open the configuration dialog, respectively.

In case you want to remove the plugin from &konqueror;, you just need to right click on the Samba Browser button and choose Remove from the menu.

### 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 addtional options under Settings in the menu bar.

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

##### Main Window & System Tray : Shares View

Show mounted shares in an icon view

  An icon view will be used in the main window to show the mounted shares.

  Default: selected

Show mounted shares in a list view

  A list view will be used in the main window to show the mounted shares.

  Default: not selected

##### Main Window & System Tray : 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

##### Main Window & System Tray : System Tray

Embed application into the system tray

  Embed &smb4k; into the system tray. The system tray widget includes several common actions, so you do not need to open the main window for many tasks. For further information read the System Tray Widget section.

  Default: selected

##### Network Browser : 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 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 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

##### Network Browser : Columns

Show type

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

  Default: selected

Show IP address

  The IP address of a remote host is shown.

  Default: selected

Show comment

  The comment of a remote host or share is shown.

  Default: selected

##### Network Browser : Tooltips

Show tooltip with information about a network item

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

  Default: selected

##### Shares View : Mounted Shares

Show mount point instead of 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 SMBFS or CIFS file system are shown. By default, only the shares owned by you are displayed.

  Default: not selected

##### Shares View : Drag and Drop

Allow dropping of files and directories onto shares

  You can drag files and directories from the desktop or the filemanager and drop them onto a share icon. A file transfer will start if you have write permissions to the mounted share. By default this option is switched off and the shares view does not allow drop events.

  Default: not selected

Allow dragging of shares

  The share icons can be dragged and dropped outside of &smb4k;. This feature is switched off by default, because there are a few issues connected with it. It is recommended that you read the Drag-and-Drop section before enabling this feature.

  Default: not selected

##### Shares View : Tooltips

Show tooltip with information about a 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, mount point, owner and group, CIFS login, disk usage, etc.

  Default: selected

##### Shares View : List View

Show owner and group (SMBFS only)

  Show the owner's UID and GID in the list view. An entry will only be shown if the share was mounted with the SMBFS file system. The column will be empty otherwise.

  Default: not selected

Show login (CIFS only)

  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 file system

  Show the file system that is used by the share.

  Default: selected

Show free disk space

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

  Default: not selected

Show used disk space

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

  Default: not selected

Show total disk space

  Show the total disk space that the share offers.

  Default: not selected

Show disk usage

  Show a graphical indicator that displays the disk usage.

  Default: selected

##### Preview Dialog : Hidden Files and 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 and the program for network searches. If you want to adjust the behavior of the Samba programs 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 (e.g. umlauts are 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 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 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

Master browsers need authentication

  If the workgroup master browsers that are queried for the browse list require authentication to return it, 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

##### Network Search

Use nmblookup (recommended)

  The search for remote hosts will be performed using nmblookup 1. This method returns reliably the hostname, workgroup and IP address. However, it might fail under very rare circumstances. In those cases, you should try using the option below.

  Default: selected

Use smbclient

  The search for remote hosts will be performed using smbclient 1. This method is less powerful than the one above. In particular, it is not able to handle IP addresses and you can only use the NetBIOS name to search for a host.

  Default: not selected

#### 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 actual mounting of shares (use of SMBFS or CIFS file system, etc.), please see the Samba section.

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

##### Directories

Mount prefix

  This is the base directory (mount prefix, `$PREFIX`) where &smb4k; will mount the remote shares. It can be altered by using the URL requester (Click the button with the folder icon.) or by directly entering it 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 and Unmounting

Unmount all shares of user USER on exit

  All of your shares will be unmounted on program exit (USER is replaced by your user name).

  Default: not selected

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

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. In combination with the options you can define under Super User, it is guaranteed that you will be able to unmount them.

  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

##### Password Storage

Save the authentication data 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

If no wallet is used, remember authentication data during run time

  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 default login

  The default login is used by default to authenticate to a host. If you enable this feature, the text boxes for the user name and the password will become available. You have to fill in at least the user name. Empty passwords are supported.

  Default: not selected

#### 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 tab
The "Samba" configuration tab

##### General : 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 opitions. 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 SMB port

  Sets the remote SMB port number. Unless you are using a firewall (see also here and here), you do not need to change anything here. This setting overwrites the

      smb ports = ...

  option defined in the `smb.conf` file.

  Default: 139

##### General : Authentication

Try to authenticate with Kerberos

  Use Kerberos for authentication in an Active Directory environment.

  Default: not selected

Authenticate as machine account

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

  Default: not selected

##### mount : File System

Choose the file system you want to use for mounting. The default is the CIFS file system that normally works with most of the servers on your network neighborhood. However, it cannot handle servers that are running Windows Me or older yet. So, if the vast majority of the servers are running one of those operating systems, you should consider to choose the SMBFS file system. If you do not have mount.cifs 8 and umount.cifs 8 installed, &smb4k; will automatically switch to the SMBFS file system.

To change the file system only for a few servers, use the Custom Options dialog.

Note: Under FreeBSD there is only the SMBFS file system available.

Default: CIFS

##### mount : Permissions

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 directory 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. This option is independent of the file mask and the directory mask settings above.

  Default: read-write

##### mount : Charset and Codepage

Client charset

  Sets the charset used by the client side (i.e. your computer)

  - SMBFS: for codepage to charset translations (NLS).

  - CIFS: to convert local path names to and from Unicode. If the server does not support Unicode, this parameter is ignored.

  Default: default

Server codepage

  Sets the codepage the server uses. This option is only available with the SMBFS file system.

  Default: default

##### mount : User and Group

User ID

  Sets the owner of the files and directories in the file system. By default, your UID will be used. If you are using the CIFS file system, this parameter is ignored if the target server supports the CIFS Unix extensions.

  Default: your UID

Group ID

  Sets the group that owns the files and directories in the file system. By default, your GID will be used. If you are using the CIFS file system, this parameter is ignored if the target server supports the CIFS Unix extensions.

  Default: your GID

##### mount : Advanced CIFS 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, asterik, 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

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 options. To find out about the arguments that can be used read the manual page of mount.cifs 8.

  Default: none

##### mount : Advanced SMBFS Options

(This widget is not available under FreeBSD.)

Use unicode when communicating with the server

  Sets if unicode should be used when communicating with the server. This option is only available with the SMBFS file system.

  Default: not selected

Use large file system support

  Switch on large file system support (LFS). You should enable this check box, if you want to store large files that are bigger than 2 GB on a SMBFS file system (with CIFS you do not have this limitation). This option is only available with the SMBFS file system.

  Default: not selected

Caching time of directory listings

  Sets how long a directory listing is cached in milliseconds. A higher value means that changes on the server take longer to be notified but it can give better performance on large directories, especially over long distances. This option is only available with the SMBFS file system.

  Default: 1000 ms

##### net : Protocol Hint

With the settings in this box 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.

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 RAP protocol.

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

  Default: selected

RPC: Modern operating systems

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

  Default: not selected

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.

  Default: not selected

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: not selected

##### smbclient : Miscellaneous

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

Signing state

  Set the client signing state.

  Default: none

##### nmblookup : Miscellaneous

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

##### Custom

All servers and shares for which you defined custom options are listed here. The options can be changed by selecting an item and modifying the settings with the input widgets. A single entry can be removed by clicking the Remove button. The Remove All button removes all entries at once.

#### 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 or 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, save settings are pre-defined. You will do no harm, if you start right away.

Screenshot of the "Synchronization" configuration tab
The "Synchronization" configuration tab

##### Copying : Default Destination

Rsync prefix

  This is the directory where rsync 1 stores the transferred data by default. If you want to synchronize several shares, you should define different directories in the synchronization dialog.

  Default: `$HOME/smb4k_sync/`

##### Copying : 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 directories

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

  Recurse into subdirectories.

  Default: selected

Skip files that are newer in target directory

  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 destination 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 can't 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

Don't 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 directory on one side of the transfer, and a real directory 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 directory's contents is not copied unless the directory name specified is "." or ends with a trailing slash (e.g. ".", "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

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

##### Copying : 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 th 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 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 modifiction 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 directory (e.g. "`dir`" or "`dir/`") without using a wildcard for the directory's contents (e.g. "`dir/*`") since the wildcard is expanded by the shell and rsync 1 thus gets a request to transfer individual files, not the files' parent directory. 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 directory when it is to be replaced by a non-directory. This is only relevant if deletions are not active (see `--delete`).

  Default: not selected

##### File Deletion & Transfer : Restrictions

Don't 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 Deletion & Transfer : File Transfer

Don't 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

Don't 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 a partially transferred file into

  Option: `--partial-dir=DIR`

  A better way to keep partial files than the `--partial` option is to specify a directory 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 directory 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 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`

Don't 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`

##### Filtering : Filter Rules

[Filter rules text box]

  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-directory `.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 : 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.

  Note: Don't 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

Don't 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 directory 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 directory 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

##### Advanced : 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 (e.g. `-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 (e.g., 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 directory. 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 directory will keep their original filenames).

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

  Default: not selected; DIR: `$HOME`

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

#### Super User

The options listed here are used for a normal user to gain limited super user privileges. You will only be able to apply the necessary changes to the involved system files, if you know the root password. In many cases you do not need super user privileges, because your Linux distribution already supports user mounts.

An alternative way to enable mounting is to set the SUID root bit to mount.cifs 8, umount.cifs 8, smbmnt 8 and smbumount 8. The procedure is described in the Trouble Shooting chapter.

If sudo 8 is not installed on your system, this configuration page is disabled.

Screenshot of the "Super User" configuration tab
The "Super User" configuration tab

##### Actions

Use super user privileges to force the unmounting of (inaccessible) shares

  Ticking this option will enable the &Ctrl; F Force Unmounting action. If clicked, it will execute a "lazy" unmount that detaches the filesystem of the mounted share from the file system hierarchy immediately and cleans up all references to the file system as soon as it is not busy anymore. This is a handy feature if you experience problems unmounting shares.

  Note: This option requires Linux kernel 2.4.11 or later and is not available under other operating systems.

  Default: not selected

Use super user privileges to mount and unmount shares

  Super user privileges will be used to mount and unmount shares.

  Default: not selected

Remove Entries

  The entries in the `sudoers` configuration file will be removed. The root password is needed.

### Remarks for FreeBSD Users

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 smbmount 8/mount.cifs 8 programs 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.

Fortunately, you do not have to prepare the `~/.nsmbrc` file manually to be able to use &smb4k;. It 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.

If you do not trust &smb4k;, there are different ways how to fill the `~/.nsmbrc` file with the necessary data. The package maintainer of &smb4k; has written a README supplied with the binary FreeBSD package. Please refer to it in the case you prefer the manual or semi-automatic set-up.

## Command Reference

### The Main Window

#### Global Shortcuts

These keyboard shortcuts are not associated with any menu entries.

&Ctrl; 1 Jump to Network Browser

  The network browser will be shown and get the keyboard focus.

&Ctrl; 2 Jump to Search Dialog

  The search dialog will be shown and get the keyboard focus.

&Ctrl; 3 Jump to Shares View

  The shares view will get the keyboard focus.

#### The File Menu

&Ctrl; Q File Quit

  Quit &smb4k;.

#### The Network Menu

&Ctrl; R 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 Mount Manually

  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 Shares Menu

&Ctrl; U Shares Unmount

  Unmount the selected share.

&Ctrl; F Shares Force Unmounting

  Force the unmounting of the selected share. This action is not available under FreeBSD.

&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

  Open the synchronization dialog.

&Ctrl; L Shares Open with Konsole

  Open the base directory of the selected share in &konsole;.

&Ctrl; K Shares Open with Konqueror

  Open the contents of the selected share in Konqueror.

#### The Bookmarks Menu

&Ctrl; B Bookmarks Add Bookmark

  Add the selected share to the bookmarks.

Bookmarks Edit Bookmarks

  Open the bookmark editor.

#### The Settings Menu

Settings Toolbars

  In this submenu you can enable or disable the tool bars.

Settings Hide Statusbar

  Hide or show the status bar.

Settings Dock Widgets

  Hide or show the dock widgets of 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;

### The Bookmark Editor

Right-click to open the popup menu.

Delete Remove

  Removes the selected bookmark from the list.

&Ctrl; X Remove All

  Removes all bookmarks from the list.

## The Utility Programs

&smb4k; comes with several utility programs that are used to mount and unmount the remote shares, kill privileged child processes, and manipulate configuration files. In the following these programs are described.

Note: Since version 0.9.8, the utility programs `smb4k_cat` and `smb4k_mv` have been superseded by the new `smb4k_sudowriter` command and have, thus, been removed.

### smb4k_mount

#### Name

smb4k_mount — mount remote Samba and Windows shares

#### Synopsis

`smb4k_mount` {`mode`} {`options`} {share} {mountpoint} (Linux and similar)

`smb4k_mount` {`options`} {share} {mountpoint} (FreeBSD)

`smb4k_mount` `--help`

`smb4k_mount` `--version`

#### Description

`smb4k_mount` is the mount utility of &smb4k;. It mounts remote Samba and Windows shares to a certain mount point using either the SMBFS or CIFS file system. It invokes smbmount 8 or mount.cifs 8 in normal user mode and mount 8 in super user mode. Under FreeBSD, always mount_smbfs 8 is used.

This program is available since &smb4k; version 0.5.0.

#### Arguments

{mode}

  This argument determines if `smb4k_mount` will switch to normal user mode or to super user mode. It is not available under FreeBSD. Under the other operating systems it is mandatory. These are the possible values:

  `--no-suid`

    Run `smb4k_mount` in normal user mode and thus let it invoke either smbmount 8 or mount.cifs 8 depending on the choice the user made with the file system.

  `--suid`

    Run `smb4k_mount` in super user mode and thus let it invoke mount 8.

  `-n`

    The same as the `--no-suid` argument.

  `-s`

    The same as the `--suid` argument.

{options}

  These are the options you can pass to the mount binary (see the smbmount 8, mount.cifs 8, mount 8 or mount_smbfs 8 (FreeBSD) manual page for details).

  Linux and similar: Due to the changes applied to the source of `smb4k_mount` during the preparation of version 0.8, only the `-o` and `-t` arguments are still supported. The use of `-t` is mandatory and you have to define either the 'cifs' or 'smbfs' file system with it. The choice of any other file system will cause `smb4k_mount` to exit with an error message. For the available options that go with the `-o` parameter, please consult the respective manual pages.

  FreeBSD: The full range of arguments available for mount_smbfs 8 is supported. Please refer to its manual page for more information.

{share}

  The remote share that is to be mounted.

{mountpoint}

  The path where the share should be mounted to.

--help

  Display a help screen and exit.

--version

  Display the version information and exit.

#### Examples

Mount a share under Linux in normal user mode with the CIFS file system:

    $ smb4k_mount -n -t cifs -o user=USER,pass=PASSWD //SERVER/SHARE /mnt

Mount a share under Linux in super user mode with the SMB file system:

    $ sudo smb4k_mount -s -t smbfs -o username=USER,password=PASSWD //SERVER/SHARE /mnt

In the latter case an appropriate entry has to be present in the `/etc/sudoers` configuration file to make the command work. See the sudoers 5 manual page for more information.

#### Author

`smb4k_mount` was written by Alexander Reinholdt dustpuppy@users.berlios.de.

### smb4k_umount

#### Name

smb4k_umount — unmount SMBFS and CIFS shares

#### Synopsis

`smb4k_umount` {`mode`} {`options`} {mountpoint} (Linux and similar)

`smb4k_umount` {mountpoint} (FreeBSD)

`smb4k_umount` `--help`

`smb4k_umount` `--version`

#### Description

`smb4k_umount` is the unmount utility of &smb4k;. It unmounts SMBFS and CIFS shares by invoking smbumount 8 or umount.cifs 8 in normal user mode and umount 8 in super user mode. Under FreeBSD, always umount 8 is used

This program is available since &smb4k; version 0.5.0.

#### Arguments

{mode}

  This argument determines if `smb4k_umount` will switch to normal user mode or to super user mode. It is not available under FreeBSD. Under the other operating systems it is mandatory. These are the possible values:

  `--no-suid`

    Run `smb4k_umount` in normal user mode and thus let it invoke either smbumount 8 or umount.cifs 8 depending on the choice the user made with the file system.

  `--suid`

    Run `smb4k_umount` in super user mode and thus let it invoke umount 8.

  `-n`

    The same as the `--no-suid` argument.

  `-s`

    The same as the `--suid` argument.

{options}
  `-t filesystem`

    Define the file system that should be used for unmounting. Only 'smbfs' and 'cifs' are supported. The use of any other file system will result in an error. This argument is not available under FreeBSD. Under the other operating systems it is mandatory.

  `-l`

    Perform a lazy unmount. This option is only available under Linux in super user mode. See the manual page of umount 8 for more information. You need Linux kernel version 2.4.11 or later.

{mountpoint}

  The path where the share has been mounted to.

--help

  Display a help screen and exit.

--version

  Display the version information and exit.

#### Examples

Unmount a CIFS share (under Linux) with normal user privileges:

    $ smb4k_umount -n -t cifs /mnt

Unmount a SMBFS share with super user privileges:

    $ sudo smb4k_umount -s -t smbfs /mnt

In the latter case an appropriate entry has to be present in the `/etc/sudoers` configuration file to make the command work. See the sudoers 5 manual page for more information.

#### Author

`smb4k_umount` was written by Alexander Reinholdt dustpuppy@users.berlios.de.

### smb4k_kill

#### Name

smb4k_kill — kill processes

#### Synopsis

`smb4k_kill` {pid}

`smb4k_kill` `--help`

`smb4k_kill` `--version`

#### Description

`smb4k_kill` is the kill utility of &smb4k;. It kills processes by invoking the kill 1 command.

This program is available since &smb4k; version 0.5.0, and a major change in its behavior happened in `smb4k_kill` 0.6 (i.e. in April 2007).

#### Arguments

{pid}

  This is the ID of the process you want to kill.

--help

  Display a help screen and exit.

--version

  Display the version information and exit.

#### Example

Kill a process that is running with super user privileges:

    $ sudo smb4k_kill 1423

An appropriate entry has to be present in the `/etc/sudoers` configuration file to make this command work. See the sudoers 5 manual page for more information.

#### Author

`smb4k_kill` was written by Alexander Reinholdt dustpuppy@users.berlios.de.

### smb4k_sudowriter

#### Name

smb4k_sudowriter — write user entries to the `sudoers` file

#### Synopsis

`smb4k_sudowriter` `--adduser <user>`

`smb4k_sudowriter` `--removeuser <user>`

`smb4k_sudowriter` {`KDE/Qt option`}

#### Description

`smb4k_sudowriter` writes to the `sudoers` configuration file. You can either add or remove user entries depending on the option you provide. The location of the `sudoers` file is determined by `smb4k_sudowriter`.

This program is available since &smb4k; version 0.10.0.

#### Arguments

--adduser <user>

  Add a user to the &smb4k; section of the `sudoers` file. If that section does not exists, it will be created.

--removeuser <user>

  Remove a user from the &smb4k; section of the `sudoers` file. If the user is the only entry, the whole section will be removed.

{KDE/Qt option}

  One of the generic KDE and Qt options that are common to all KDE programs (e.g. `--help`, `--version`, etc.).

#### Example

Add the user "test" to the `sudoers` file:

    $ sudo smb4k_sudowriter --adduser test

An appropriate entry has to be present in the `sudoers` configuration file to make this command work. See the sudoers 5 manual page for more information.

#### Author

`smb4k_sudowriter` was written by Alexander Reinholdt dustpuppy@users.berlios.de.

## Trouble Shooting

If you cannot find your problem covered here, please ask for help on the Smb4K-general mailing list or visit http://smb4k.berlios.de and look for an updated version of the handbook.

### Compilation and Installation

- Problem: Compilation fails with an error similar to this one:

      smb4kscanner.cpp:96: error: conflicting declaration 'Smb4KScannerPrivate p'
      smb4kmounter.cpp:167: error: 'p' has a previous declaration as 'Smb4KMounterPrivate p'

  Solution: Remove the `--enable-final` configure argument and reconfigure the source. This should fix the problem.

  Note: This issue only occurrs with versions prior to 0.9.0.

- Problem: Compilation fails with the following error message:

      libtool: link: cannot find the library `'

  Solution: Replace the file `admin/ltmain.sh` by the one shipped with your libtool package. Run e.g.

      $ locate ltmain.sh | grep libtool

  to find it.

- Problem: Installation fails with a linker error similar to this one:

      /usr/bin/ld: cannot find -lsmb4kcore
      libtool: install: error: relink `libsmb4kwidgets.la´ with the above command before installing it

  Solution: One possibility to avoid this failure is to enable the building of static libraries during configuration:

      $ ./configure --prefix=`kde-config --prefix` --enable-static

  This will convert the error into a warning and the installation will succeed.

- Problem: After starting a self-compiled version of &smb4k;, the toolbar cannot be seen.

  Solution: Most likely, &smb4k; has been installed to the wrong place. To correct this, it has to be uninstalled first. Go to the base directory of your &smb4k; distribution and run

      $ su -c "make uninstall"

  from the shell. Please note that this will not work, if you ran

      $ make distclean

  in the meantime.

  Reconfigure the source by passing the `--prefix=PREFIX` option to the configure script:

      $ ./configure --prefix=`kde-config --prefix`

  Compile and install &smb4k; (see also here):

      $ make && su -c "make install"

  &smb4k; will be installed to the right path and everything should work fine.

- Problem: The configure script fails and complains about a missing Qt installation.

  Solution: There are two things that should check:

  - Maybe the Qt header files are not installed. If this is the case, install them and run the configure script again.

  - The `QTDIR` environment variable might not be set properly or at all. Make sure you export it in your shell's configuration file.

    If you are using the bash, check for the following line in your `~/.bashrc` file

        export QTDIR=PREFIX

    and add it, if it is not present. Replace PREFIX with the prefix of your Qt installation. Run

        $ source ~/.bashrc

    from the shell. Now, you're set for a second configuration attempt.

  If the header files are installed and the `QTDIR` variable is set, but you still get the same error, you might want to try to pass the `--with-qt-includes=/path/to/header/files` option to the configure script.

- Problem: The configure script fails and complains about a missing &kde; installation.

  Solution: There are two things you should check:

  - Maybe the &kde; header files are not installed. If this is the case, install them and run the configure script again.

  - The `KDEDIR` environment variable might not be set properly or at all. Make sure you export it in your shell's configuration file.

    If you are using the bash, check for the following line in your `~/.bashrc` file

        export KDEDIR=PREFIX

    and add it, if it is not present. Replace PREFIX with the prefix of your &kde; installation. Run

        $ source ~/.bashrc

    from the shell. Now, you're set for a new configuration attempt.

### Browsing

- Problem: There is nothing in the network browser.

  Solution: This problem may have several causes. Here is a list of common solutions:

  - Include the 'interfaces' option in the [global] section of your `smb.conf`. It should include the interface(s) that is/are connected to your network neighborhood, e.g.

        interfaces = 192.168.1.1/24

    or alternatively

        interfaces = eth0

    You may also add the local interface

        interfaces = 192.168.1.1/24 127.0.0.1/8

    or alternatively

        interfaces = eth0 lo

    Samba allows a few more ways how to define the network interface(s) (see the manual page). However, we recommend that you use the IP/mask pair (e.g. 192.168.1.1/24).

  - Add the WINS server of your network neighborhood — if available — to the [global] section of your `smb.conf`:

        wins server = 192.168.1.1

    Replace the above IP address with the one of your WINS server.

  - Open the ports 137 (TCP+UDP), 138 (UDP), 139 (TCP+UDP), and 445 (TCP+UDP) in your firewall. If you have SUSE's firewall running, see below.

  - Use a different look-up method. Therefore, change the settings under Settings Configure &smb4k;...NetworkBrowse List.

  After having applied a change to the `smb.conf`, please do not forget to restart Samba and &smb4k;. Check if your problem disappeared. If nothing helps, please ask for assistance on the Smb4K-general mailing list or file a bug report.

- Problem: The browser window is empty when SUSE's firewall is running.

  Solution: Have a look at Novell Cool Solutions or replace your firewall (recommended).

- Problem: When using SELinux, the workgroup/domain only contains the master browser.

  Solution: Set SELinux to 'permissive'.

- Problem: When opening a (certain) Windows server, its shares are not displayed.

  Solution: As of version 0.6.0, &smb4k; uses the net 8 command to retrieve the list of shares from a host. With the default settings, it will try to guess the protocol that is needed to communicate with the server (RAP or RPC). Unfortunately, this does not seem to work well with Windows XP/2000/2003 servers. The query fails in some cases (sometimes accompanied with an NT_STATUS_IO_TIMEOUT error but mostly with no error message at all). Please try to set the protocol to RAP either through the custom options dialog (recommended) or directly in the configuration dialog.

  Note: This does not apply to versions prior to 0.6.0, because they use the RAP protocol based smbclient 1 command to retrieve the browse list.

- Problem: Special characters (accents, umlauts, etc.) are not displayed correctly.

  Solution: For a solution see here.

### Mounting and Unmounting of Shares

- Problem: Mounting a share fails without any error message being displayed. The share is only shown for a few seconds and then vanishes.

  Solution: This issues arises sometimes if you are not allowed to mount the shares as normal user. Depending on the file system your are using, have a look here (CIFS) or here (SMBFS) for a solution.

  Note: Linux and similar operating systems

- Problem: Using the CIFS file system, mounting fails with the following error message:

      mount error 1 = Operation not permitted
      Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

  Solution: There are two possible causes for this:

  1. You are trying to use mount.cifs 8 as normal user, but the SUID root bit is not set. The following (or a similar) command can be used as root to set the SUID bit:

         $ chmod +s `which mount.cifs`

  2. It has been reported that mount.cifs 8 fails if the Samba server uses the

         security = share

     option instead of

         security = user

     Change the settings on the server.

  Note: Linux and similar operating systems

- Problem: Using the SMBFS file system, mounting fails with this error message:

      smbmnt must be installed suid root for direct user mounts (500,500)
      smbmnt failed: 1

  Solution: The cause of this error is that you do not have enough permissions to mount SMB shares. There are two things you can do:

  1. Set the SUID root bit for smbmnt. Execute this command in the shell:

         $ chmod +s `which smbmnt`

     Under normal circumstances this should fix the problem.

     Warning: Do not set the SUID root bit for smbmount 8. Otherwise mounting will fail with the following error message:

         libsmb based programs must *NOT* be setuid root.
         6002: Connection to <HOSTNAME> failed
         SMB connection failed

  2. Execute mount 8 and umount 8 with super user privileges using the program sudo 8. To enable this feature, you have to go to Settings Configure &smb4k;...Super User and adjust the settings.

  Note: Linux and similar operating systems

- Problem: Mounting a share from a Windows 2003 server fails with this error message:

      cli_negprot: SMB signing is mandatory and we have disabled it.
      4377: protocol negotiation failed
      SMB connection failed

  Solution: You are using the SMBFS file system which does not support signing. You have to switch to the CIFS file system in order to be able to mount the share. Go to Settings Configure &smb4k;...SambaFile System and choose CIFS instead of SMBFS. Depending on the configuration of your system, you might also need to enable the "Use super user privileges to mount and unmount shares" option under Settings Configure &smb4k;...Super UserActions. Alternatively, you can set the SUID root bit for mount.cifs 8 (and umount.cifs 8).

  Note: Linux and similar operating systems

- Problem: Mounting a share that contains special characters in the name (e.g. umlauts) with the CIFS file system fails with the following error message:

      mount error 6 = No such device or address
      Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

  Solution: Please follow the instructions given here. Alternatively, you can try to explicitly define the correct Linux charset in the configuration dialog (see here).

  Note: Linux and similar operating systems

- Problem: When using sudo 8 and the CIFS file system, mounting fails with the following error message:

      mount error 13 = Permission denied
      Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)

  Solution: It is very possible, that the 'env_reset' flag has been set in the `/etc/sudoers` file (It's the default in Gentoo and Debian for example.). It resets the environment to only contain a limited number of environment variables. Especially, the `PASSWD` variable is removed that is needed by &smb4k;. To make mounting work, there are three things you can do alternatively:

  - Manually insert the following line after the statement beginning with "User_Alias SMB4KUSERS":

        Defaults:SMB4KUSERS env_keep=PASSWD

    This is the preferred method on a multi-user system.

  - Remove the &smb4k; user entries from `/etc/sudoers` and rewrite them using &smb4k; (>= 0.6.4).

  - Comment out the 'env_reset' variable (not recommended).

  If you are still not able to mount a share, please file a bug report.

  Note: Linux and similar operating systems

- Problem: When using the CIFS file system, &smb4k; does not seem to care about the UID and GID that was set in the configuration dialog.

  Solution: This is a Samba feature. If the target server supports the CIFS Unix extensions, the `uid=UID` and `gid=GID` option is ignored. For more information see the mount.cifs 8 manual page.

  Note: Linux and similar operating systems

- Problem: Unmounting a share fails with an error message similar to this one:

      smbumount must be installed suid root

  Solution: You do not have enough permissions to unmount SMB shares. To fix this problem you can either set the SUID root bit for smbumount 8 or enable the feature "Use super user privileges to mount and unmount shares" under Settings Configure &smb4k;...Super UserActions. For more information you might want to read this entry, too.

  Note: Linux and similar operating systems

- Problem: Unmounting a share fails with the following error message:

      Could not unmount <PATH>: Device or resource busy

  Solution: First of all, check that you do not access any directory or file of the share with any program. If this isn't the case, you might have encountered a problem, that is known but not related to &smb4k;. It seems that under certain circumstances (that we could not figure out exactly) kdeinit background processes access files and/or directories of the share and keep them open (&kde; < 3.4). Unmounting is not possible unless you send

      $ kill -HUP PID

  to each kdeinit instance that has access to the share or its files. Replace PID by the pid of the kdeinit instance. You can find it out by using e. g. &ksysguard;.

  Alternatively, you can force the unmounting of the share (not recommended). Highlight the share and use the Shares Force Unmounting menu item or press &Ctrl;F.

  Note: Linux and similar operating systems

- Problem: Special characters (accents, umlauts, etc.) are not displayed correctly.

  Solution: Make sure the following options are set to the correct values in the [global] section of the `smb.conf` 5 of each Samba server and client:

      dos charset = VAL1
      unix charset = VAL2
      display charset = VAL3

  Replace VAL1, VAL2, VAL3 with the correct values. Read the manual page for more information.

  Note: Linux and similar operating systems

- Problem: Mounting a share fails with the following error message:

      mount_smbfs: kldload(smbfs): Operation not permitted

  Solution: Use sudo 8 to gain super user privileges for mounting (see section The Super User Tab). The error occurs, because only root is allowed to load kernel modules.

  Note: FreeBSD only

- Problem: Mounting a share fails with the following error message:

      mount_smbfs: can not setup kernel iconv table
      (ISO8859-1:tolower): syserr = Operation not permitted

  Solution: Most likely, this error occurs after you decided to not use sudo 8 anymore to mount a share. Since only root is allowed to set up the kernel's iconv table, you should use this program to gain super user privileges for mounting (see section The Super User Tab).

  Note: FreeBSD only

### Miscellaneous

- Problem: After installing &smb4k;, I wanted to take advantage of the Konqueror plugin but I couldn't find it. Where can I find it and what do I have to do?

  Solution: The procedure to add the &konqueror; plugin is described in detail here.

- Problem: After a KDE upgrade &smb4k; does not work anymore.

  Solution: If you upgraded from e.g. &kde; 3.5.1 to 3.5.2, it suffices to restart &kde;. If you moved from one major version to another, i.e. from 3.3.x to 3.5.x, you have to install a package suitable for the new &kde; version. If neither helps, ask for help on the Smb4K-general mailing list.

## Reporting Bugs

Before considering to file a bug report, please read the Trouble Shooting section. Many common problems are already covered there. Also, try the latest version of &smb4k;. Maybe your problem has already been fixed.

Please 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, i.e. 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 (c) 2003 - 2007, Alexander Reinholdt dustpuppy@users.berlios.de

Copyright (c) 2004 -2007, Massimo Callegari massimocallegari@yahoo.it

Copyright (c) 2004, Franck Babin babinfranck@yahoo.ca

&underGPL;

This documentation is licensed under the terms of the GNU General Public License.

### Developers (active and retired)

- Alexander Reinholdt dustpuppy@users.berlios.de

- Massimo Callegarimassimocallegari@yahoo.it

- Franck Babin babinfranck@yahoo.ca

### Translators (active and retired)

- Brazilian Portuguese: Giovanni Degani tiefox@terra.com.br, Lamarque V. Souza lamarque_souza@hotmail.com

- Bulgarian: Atanas Mavrov bugar@developer.bg

- Catalan: Leopold Palomo Avellaneda lepalom@wol.es

- Czech: Alois Nešpor alois.nespor@seznam.cz

- Chinese Simplified (zh_CN): Nick Chen nick_chen75@hotmail.com

- Chinese Traditional (zh_TW): Jack Liu chuany@chuany.net, Wei-Lun Chao chaoweilun@users.berlios.de

- Danish: Michael Brinkloev mhb@qxp.dk

- Dutch: Joop Beris jberis@risse.nl

- French: Nicolas Ternisien nicolast@libertysurf.fr

- German: Alexander Reinholdt dustpuppy@users.berlios.de

- Hungarian: Karoly Barcza kbarcza@blackpanther.hu

- Icelandic: Arnar Leósson leosson@frisurf.no

- Italian: Isidoro Russo risidoro@aliceposta.it

- Japanese: Toyohiro Asukai toyohiro@ksmplus.com

- Norwegian (Bookmal & Nynorsk): Nils Kristian Tomren project@nilsk.net

- Polish: Radosław Zawartko radzaw@lnet.szn.pl, Jerzy Trzeciak artusek@wp.pl

- Russian: Stanislav Yudin decvar@mail.berlios.de

- Slovak: Michal Šulek reloadshot@atlas.sk

- Swedish: Marc Hansen marc.hansen@gmx.de

- Spanish: Quique quique@sindominio.net, Martín Carr tincarr@gmail.com

- Turkish: Görkem Çetin gorkem@gorkemcetin.com, Serdar Soytetir sendirom@gmail.com

- Ukrainian: Ivan Petrouchtchak iip@telus.net

### Special Thanks

The &smb4k; team would like to thank everyone who contibuted 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://developer.berlios.de/projects/smb4k/.

### 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, a standard &kde; installation (3.3.0 or later) including the header files is needed.

In order to use &smb4k; successfully, you have to install the Samba software suite (3.0.0 or later), GNU grep, GNU awk or similar, GNU sed, the GNU findutils, and the util-linux package (Linux only). 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 sudo, a TeX software distribution (for dvips), GNU enscript, and 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

#### Full Installation

This section describes a full installation of &smb4k;. Please note that you might have to adjust the `./configure` command to match the installation paths of your distribution (e.g. Debian, Ubuntu).

1. Change into the root directory of the source code:

       $ cd smb4k-x.x.x

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

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

       $ ./configure --prefix=`kde-config --prefix`

   Several more options can be added. Run

       $ ./configure --help

   to find out which ones are available.

3. Compile the source code:

       $ make

4. Install the application. For that, become root

       $ su

   and run

       $ make install

   in the root directory of the source code. If you want to be able to remove Smb4K with your package manager, install the 'checkinstall' package and run

       $ checkinstall

   instead.

#### Installation without Konqueror Plugin

If you are not interested in the &konqueror; plugin that comes with &smb4k;, you should configure the source code as follows:

    $ ./configure --prefix=`kde-config --prefix` --without-konqplugin

The procedure to compile and install the application is the same as mentioned above.

### 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 configure command slightly:

    $ ./configure --prefix=`kde-config --prefix` --enable-debug=full

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.