<?xml version = '1.0'?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY smb4k "<application>Smb4K</application>">
  <!ENTITY kappname "&smb4k;"><!-- Do *not* replace kappname-->
  <!ENTITY package "kde-module"><!-- tdebase, tdeadmin, etc -->
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE"><!-- change language only here -->
]>

<book lang="&language;" >

<bookinfo>
<title>The &smb4k; Handbook</title>

<authorgroup>
<author>
<firstname>Alexander</firstname>
<othername/>
<surname>Reinholdt</surname>
<affiliation>
<address>
<email>dustpuppy AT users.berlios.de</email>
</address>
</affiliation>
</author>
</authorgroup>

<!-- TRANS:ROLES_OF_TRANSLATORS -->

<copyright>
<year>2005-2007</year>
<holder>Alexander Reinholdt</holder>
</copyright>
<legalnotice>
<para>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.</para>

<para>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.</para>

<para>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.
</para>
</legalnotice>
<date>2008-01-17</date>
<releaseinfo>1.2.1</releaseinfo>

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

<keywordset>
<keyword>KDE</keyword>
<keyword>Smb4K</keyword>
<keyword>Samba</keyword>
</keywordset>
</bookinfo>


<!-- Introduction -->

<chapter id="introduction" >
<title>Introduction</title>

<para>This handbook describes &smb4k; 0.9.x and to some extent earlier versions.</para>

<para>&smb4k; is an advanced network neighborhood browser and a front end to the programs of the <ulink url="http://www.samba.org">Samba software suite</ulink>. It provides many handy features that ease your life in a mostly Windows-dominated network environment:</para>

<itemizedlist>
<listitem><para>Scanning for (active) workgroups, hosts, and shares</para></listitem>
<listitem><para>Mounting and unmounting of shares, including unmounting all shares at once</para></listitem>
<listitem><para>Support of the CIFS and SMBFS file system for mounting</para></listitem>
<listitem><para>Access to the files of a mounted share with either &konqueror; or &konsole;</para></listitem>
<listitem><para>Auto-detection of external mounts and unmounts</para></listitem>
<listitem><para>Remounting of previously used shares on program start-up</para></listitem>
<listitem><para>Miscellaneous infos about the remote network items and the mounted shares</para></listitem>
<listitem><para>Network search</para></listitem>
<listitem><para>WINS server support</para></listitem>
<listitem><para>Preview of shares</para></listitem>
<listitem><para>Selectable look-up and search methods</para></listitem>
<listitem><para>Default login</para></listitem>
<listitem><para>Ability to execute mount and umount SUID root (using super or sudo)</para></listitem>
<listitem><para>Special handling of homes shares</para></listitem>
<listitem><para>Ability to bookmark favorite shares</para></listitem>
<listitem><para>System tray widget</para></listitem>
<listitem><para>Support of advanced Samba options</para></listitem>
<listitem><para>Support of printer shares</para></listitem>
<listitem><para>Konqueror plugin</para></listitem>
<listitem><para>TDEWallet support</para></listitem>
<listitem><para>Synchronization of a remote share with a local copy and vice versa</para></listitem>
<listitem><para>Ability to define custom options for each and every share or server</para></listitem>
</itemizedlist>

<para>If you encounter problems or bugs while using &smb4k;, please read the <link linkend="trouble_shooting" >Trouble Shooting</link> section of this handbook first. If you cannot find your problem described there, please ask for help on our <ulink url="https://lists.berlios.de/mailman/listinfo/smb4k-general">Smb4K-general mailing list</ulink> or go to our <ulink url="http://developer.berlios.de/bugs/?group_id=769">bug tracker</ulink> and report it.</para>
</chapter>

<!-- Using Smb4K -->

<chapter id="using_smb4k" >
<title>Using &smb4k;</title>

<sect1 id="running_smb4k" >
<title>Running &smb4k;</title>

<para>After the installation, you can run &smb4k; either from the TDE menu or from the command prompt by typing</para>
<screen><prompt>$</prompt> <userinput><command>smb4k</command> &amp;</userinput></screen>
<para>&smb4k; does not take any arguments, except those that are known to all &kde; programs.</para>

<para>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 <envar>PATH</envar> environment variable is not set properly, &smb4k; shows an error message and exits.</para>

<screenshot>
<screeninfo>Error dialog listing the missing programs</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="error_programs_missing.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Error dialog that lists the missing programs</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>You have to install the listed programs or add their location to the <envar>PATH</envar> environment variable in your shell's configuration file (for the <ulink url="man:/bash"><citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> shell it is the <filename>~/.bashrc</filename> file) in order to be able to run the application.</para>
<para>If all programs have been found, the main window and the system tray widget will be shown and you can start working with &smb4k;.</para>
<para><emphasis role="bold">Note:</emphasis> It is recommended that you configure Samba before using &smb4k;. The <ulink url="man:/swat"><citerefentry><refentrytitle>swat</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> 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.</para>

<para>Starting with version 0.9.0, &smb4k; uses the TDEConfig XT configuration system. All previously defined settings are obsolete. To assure a clean transition the old configuration file <filename>$HOME/.trinity/share/config/smb4krc</filename> 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:</para>

<screenshot>
<screeninfo>Warning message box</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_config_file_removal.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The warning message box</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>If you plan to revert to a version &lt; 0.9.0, you should cancel the removal and backup the old configuration file.</para>
</sect1>


<sect1 id="mainwindow_overview">
<title>Overview</title>
<para>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).</para>

<screenshot id="mainwindow_overview_screenshot">
<screeninfo>Screenshot of the main window</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="main_window.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The main window</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>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 <link linkend="mainwindow_network_menu">network browser</link> and the <link linkend="mainwindow_shares_menu">shares view</link> for additional information and some important warnings.</para>
<para>Menu items in the main window:
<simplelist type='horiz' columns='2'>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_rescan.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Rescan action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
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 <link linkend="mainwindow_network_menu">popup menu of the network browser</link>.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_abort.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Abort action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member id="mainwindow_overview_abort">
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.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_manual_mount.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Manual mount action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the <link linkend="mainwindow_network_mounting">dialog</link> 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.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_authentication.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Authentication action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the authentication dialog for the selected server or share. The button is disabled if a workgroup or no item is selected.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_custom.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Custom options action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the <link linkend="mainwindow_network_custom">Custom Options</link> dialog for a selected server or share. The button is disabled if a workgroup or no item is selected.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_preview.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Preview action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the <link linkend="mainwindow_network_preview">preview dialog</link>. It is only enabled if a share is selected. Printer shares cannot be previewed.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_print.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Print file action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the <link linkend="mainwindow_network_printing">print dialog</link>. It is only enabled if a printer share is selected.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_mount.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Mount action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Mount the selected share. By default and if a workgroup or server is selected, the button is disabled.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_unmount.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Unmount action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
<link linkend="mainwindow_shares_unmounting">Unmount</link> 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 <link linkend="configuration_shares_mounting">settings</link> in the configuration dialog. If no share is selected in the shares view, this button is disabled.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_force_unmount.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Force unmount action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
<link linkend="mainwindow_shares_unmounting">Force the unmounting</link> of a share. This feature is disable by default and you have to enable it in the <link linkend="configuration_superuser_actions">configuration dialog</link>. Since you can also force the unmounting of shares owned by other users, you have to be EXTREMELY CAUTIOUS when using it.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_unmount_all.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Unmount all action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
<link linkend="mainwindow_shares_unmounting">Unmount all shares at once</link>. The restrictions noted above also apply here. If you do not have any shares mounted, this button is disabled.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_synchronize.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Synchronize action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Initiate the <link linkend="mainwindow_shares_synchronization">synchronization</link> of the contents of a selected share.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_konsole.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Konsole action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the contents of the selected share in &konsole;.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_konqueror.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Konqueror action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the contents of the selected share in &konqueror;.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_shares_views.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Shares views action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Choose which <link linkend="mainwindow_shares">shares view</link> you want to use. An icon view and a list view are available.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_configuration.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Configure Smb4K action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Open the <link linkend="configuration">configuration dialog</link>.
</member>
<member>
<guiicon>
<inlinemediaobject>
<imageobject>
<imagedata fileref="action_quit.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Quit action</phrase>
</textobject>
</inlinemediaobject>
</guiicon>
</member>
<member>
Quit &smb4k;.
</member>
</simplelist>
</para>
<para>These actions also appear in the popup menus of either the <link linkend="mainwindow_network_menu">network browser</link> or the <link linkend="mainwindow_shares_menu">shares view</link>.</para>

<para>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.</para>

<para>The main window is highly configurable. You can hide/show the network browser and the search dialog by toggling the menu entries under <menuchoice><guimenu>Settings</guimenu><guimenuitem>Dock Widgets</guimenuitem></menuchoice>. 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 <menuchoice><guimenu>Settings</guimenu><guimenuitem>Hide Statusbar</guimenuitem></menuchoice> and the ones under <menuchoice><guimenu>Settings</guimenu><guimenuitem>Toolbars</guimenuitem></menuchoice>, respectively.</para>
</sect1>

<!-- The network browser -->

<sect1 id="mainwindow_network">
<title>The Network Browser</title>

<para>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 <link linkend="mainwindow_overview_screenshot">this figure</link>). It contains all network items &#8212; i.e. workgroups, servers, and shares &#8212; &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.</para>

<sect2 id="mainwindow_network_scanning">
<title>Browsing</title>
<para>&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.</para>
<para>There are <link linkend="configuration_network_browselist">four methods</link> 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.</para>

<para><emphasis role="bold">Note:</emphasis> Under normal circumstances you shouldn't have any trouble browsing the network neighborhood. In case you experience problems, please read the <link linkend="trouble_shooting_browsing">Trouble Shooting</link> section before thinking about <ulink url="http://developer.berlios.de/bugs/?group_id=769">reporting a bug</ulink>. It lists some common problems and their solutions.</para>
</sect2>

<sect2 id="mainwindow_network_menu">
<title>Popup Menu</title>
<para>Although you can interact with the network using <link linkend="network_menu">keyboard shortcuts</link>, 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.</para>
<screenshot>
<screeninfo>Screenshot of the popup menu of the network browser</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="popup_menu_browser.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The popup menu of the network browser</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>The title of the popup menu is set to the name of the network item or displays <emphasis role="bold">Network</emphasis> if you clicked on the viewport.</para>

<para>The following menu entries (actions) are available:</para>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>R</keycap>
</keycombo>
</shortcut>
<guimenuitem>Scan Network|Workgroup|Computer</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>A</keycap>
</keycombo>
</shortcut>
<guimenuitem>Abort</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Abort any running process that is network related. The entry is only enabled if &smb4k; is busy. Please note that this <guimenuitem>Abort</guimenuitem> action has a limited functionality compared to the one found in the <link linkend="mainwindow_overview">menu and tool bar</link> that aborts all running processes at once.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>O</keycap>
</keycombo>
</shortcut>
<guimenuitem>Mount Manually</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The <link linkend="mainwindow_network_mounting">mount dialog</link> 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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>T</keycap>
</keycombo>
</shortcut>
<guimenuitem>Authentication</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The <link linkend="mainwindow_network_authentication">authentication dialog</link> 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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>C</keycap>
</keycombo>
</shortcut>
<guimenuitem>Custom Options</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The <link linkend="mainwindow_network_custom">Custom Options</link> 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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>B</keycap>
</keycombo>
</shortcut>
<guimenuitem>Add Bookmark</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Add a <link linkend="mainwindow_bookmarks">bookmark</link>. This menu entry is only available if a remote share is selected.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>V</keycap>
</keycombo>
</shortcut>
<guimenuitem>Preview</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><link linkend="mainwindow_network_preview">Preview</link> the contents of the selected remote share.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>P</keycap>
</keycombo>
</shortcut>
<guimenuitem>Print File</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><link linkend="mainwindow_network_printing">Print</link> a file on a remote printer. This menu item is only available if you selected a printer share.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>M</keycap>
</keycombo>
</shortcut>
<guimenuitem>Mount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Mount the selected remote share. This menu entry is disabled if you click anything different than a share with type "Disk" or "IPC".</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="mainwindow_network_tooltips">
<title>Tooltips</title>
<para>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).</para>
<para>The tooltips can be disabled in the <link linkend="configuration_user_interface_network_tooltips">configuration dialog</link>.</para>
</sect2>

<sect2 id="mainwindow_network_mounting">
<title>Mounting a Share</title>
<para>There are three options available to mount a remote share:</para>
<orderedlist>
<listitem>
<para>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.)</para>
</listitem>
<listitem>
<para>Select the remote share and click the <guimenuitem>Mount</guimenuitem> menu entry. Alternatively, you can press the <keycombo action="simul">&Ctrl; <keycap>M</keycap></keycombo> keyboard shortcut.</para>
</listitem>
<listitem><para>If &smb4k; was not able to find the server where the share is located, you can press the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>O</keycap></keycombo></shortcut><guimenuitem>Mount Manually</guimenuitem></menuchoice> menu entry and a mount dialog will open:</para>
<screenshot>
<screeninfo>Screenshot of the "Mount Manually" dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_manual_mount.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Mount Manually" dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Here you <emphasis role="bold">must</emphasis> enter the share name in the form
<screen>//SERVER/SHARE</screen>
(<emphasis>This is also correct for FreeBSD users!</emphasis>). The <guibutton>OK</guibutton> 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 <guibutton>Add this share to the bookmarks</guibutton> check box.</para>
</listitem>
</orderedlist>
<para>Often a share is password protected. In this case, an <link linkend="mainwindow_network_authentication">authentication dialog</link> 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 <link linkend="mainwindow_shares">shares view</link>.</para>
<para>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 <link linkend="configuration_samba_mount_fs">configuration dialog</link>.</para>
<para>If mounting fails, an error dialog will be shown with the error message that was returned either by <ulink url="man:/smbmount"><citerefentry><refentrytitle>smbmount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>. See the <link linkend="trouble_shooting_mounting_unmounting">Trouble Shooting</link> section for some of the most common errors and their possible solutions.</para>
</sect2>

<sect2 id="mainwindow_network_printing">
<title>Printing Files on Remote Printers</title>
<para>To print a file on a remote printer, open the print dialog by clicking the printer icon or choosing the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>P</keycap></keycombo></shortcut><guimenuitem>Print File</guimenuitem></menuchoice> menu item.</para>
<screenshot>
<screeninfo>Screenshot of the print dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_print_file.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The print dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>In the <guilabel>Printer</guilabel> section various information about the printer is shown. Under <guilabel>File</guilabel> you have to provide the name of the file you want to print. The number of copies can be defined under <guibutton>Options >></guibutton>. Press <guibutton>Print...</guibutton> to start the print process. The dialog will stay open until the print process ended.</para>
<para>&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 <ulink url="man:/dvips"><citerefentry><refentrytitle>dvips</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> and <ulink url="man:/enscript"><citerefentry><refentrytitle>enscript</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>, the DVI and text files will automatically be converted to Postscript before they are printed.</para>
<para>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.</para>
</sect2>

<sect2 id="mainwindow_network_preview">
<title>Previewing Shares</title>
<para>&smb4k; provides the ability to preview remote shares. If you click the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>V</keycap></keycombo></shortcut><guimenuitem>Preview</guimenuitem></menuchoice> menu entry, the contents of the selected remote share will be opened in a preview dialog.</para>
<screenshot>
<screeninfo>Screenshot of the preview dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_preview.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The preview dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>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 <guibutton>Up</guibutton>, <guibutton>Back</guibutton>, and <guibutton>Forward</guibutton> button. The current location is displayed in the combo box on the right hand side. The <guibutton>Reload</guibutton> button reloads the contents of the current directory.</para>
<para> By default, the preview dialog only shows directories and files that are not hidden. You can change this behavior in the <link linkend="configuration_user_interface_preview_hidden">configuration dialog</link>. File transfers or the like are not possible.</para>
</sect2>

<sect2 id="mainwindow_network_authentication">
<title>Providing Authentication Information</title>
<para>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  <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>T</keycap></keycombo></shortcut><guimenuitem>Authentication</guimenuitem></menuchoice> menu entry.</para>
<screenshot>
<screeninfo>Screenshot of the authentication dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_authentication.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The authentication dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>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.</para>
<para>You have to enter the user name in the respective field. The password, however, may be left blank. Clicking the <guibutton>OK</guibutton> button will commit the data. Depending on your choice in the <link linkend="configuration_authentication">configuration dialog</link>, the login and password will be stored permanently, temporarily or not all. In the latter case you will have to provide them <emphasis>every time</emphasis> they are needed.</para>
</sect2>

<sect2 id="mainwindow_network_custom">
<title>Defining Custom Options</title>
<para>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<!-- link comes below -->, you can do this with the <guilabel>Custom Options</guilabel> dialog. It is opened by clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>C</keycap></keycombo></shortcut><guimenuitem>Custom Options</guimenuitem></menuchoice> menu entry.</para>
<screenshot>
<screeninfo>Screenshot of the custom options dialog for a share</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_custom_options.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The custom options dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>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 <link linkend="configuration_samba">here</link>.</para>
<para>The <guibutton>Default</guibutton> 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 <guibutton>OK</guibutton> button is enabled if you changed the settings in the dialog. Clicking it will commit the settings and close the dialog.</para>
<para><emphasis role="bold">Note:</emphasis> Under FreeBSD, the dialog contains less entries than when you run a different operating system, because several of the options are not supported.</para>
</sect2>

<sect2 id="mainwindow_network_bookmark">
<title>Adding Bookmarks</title>
<para>A bookmark is added by selecting a remote share (only these can be bookmarked) and pressing the <keycombo action="simul">&Ctrl; <keycap>B</keycap></keycombo> keyboard shortcut or selecting the <guimenuitem>Add Bookmark</guimenuitem> menu item. It will then be accessible through the <guimenu>Bookmarks</guimenu> menu. See the section <link linkend="mainwindow_bookmarks">Handling Bookmarks</link> for more details.</para>
<para>The bookmarks can be used to mount remote shares.</para>
</sect2>
</sect1>

<!-- The search dialog -->

<sect1 id="mainwindow_search">
<title>The Search Dialog</title>
<para>The <guilabel>Search Dialog</guilabel> 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 <keycombo action="simul">&Ctrl; <keycap>2</keycap></keycombo> keyboard shortcut. It consists of the combo box where you can enter the server you are looking for, the <guibutton>Search</guibutton>, <guibutton>Clear</guibutton>, and <guibutton>Add</guibutton> button, and the list view where the results of the search are displayed.</para>

<screenshot>
<screeninfo>Screenshot of the search dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_search.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The search dialog</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>To search for a host, you enter its NetBIOS name or IP address (see restrictions below), and press the <guibutton>Search</guibutton> 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.</para>
<para>A server that is not already in the network browser can be added to it by clicking the <guibutton>Add</guibutton> button. It will then appear in its workgroup or domain. To remove the search results, click the <guibutton>Clear</guibutton> button.</para>
<para>&smb4k; is using <ulink url="man:/nmblookup"><citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to look up servers. You can switch programs in the configuration dialog. Read the <link linkend="configuration_network">The Network Tab</link> section to find out more.</para>
<para><emphasis role="bold">Restrictions:</emphasis> <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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.</para>
</sect1>

<!-- The shares view -->

<sect1 id="mainwindow_shares">
<title>The Shares View</title>
<para>In the shares view, you can interact with the mounted shares on your system.</para>

<sect2 id="mainwindow_shares_views">
<title>Different Views</title>
<para>&smb4k; comes with two alternative views: the icon view (1) and the list view (2).</para>

<screenshot>
<screeninfo>Screenshot of the shares icon view</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="shares_views.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The shares icon view</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>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 <link linkend="configuration_user_interface_shares_list_view">settings</link>.</para>

<para>You can switch between the two views by either selecting an entry from the <link linkend="mainwindow_overview"><guibutton>Shares View</guibutton></link> menu or by changing the settings in the <link linkend="configuration_user_interface_mw_and_st_shares_view">configuration dialog</link>.</para>
<para>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 <link linkend="configuration_user_interface_shares_mounted_shares">respective settings</link>.</para>
</sect2>

<sect2 id="mainwindow_shares_menu">
<title>Popup Menu</title>
<para>The popup menu includes all actions that can be performed on a mounted share. It can be opened by clicking the right mouse button.</para>
<screenshot>
<screeninfo>Screenshot of the popup menu of the shares view</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="popup_menu_shares_view.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The popup menu of the shares view</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>The actions accessible through the popup menu are:</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>U</keycap>
</keycombo>
</shortcut>
<guimenuitem>Unmount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>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 <link linkend="configuration_shares">configuration dialog</link>.</para>
<para><emphasis role="bold">Warning:</emphasis> Please be EXTREMELY CAUTIOUS if you decide to enable the ability to unmount shares owned by other users!</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>F</keycap>
</keycombo>
</shortcut>
<guimenuitem>Force Unmounting</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Perform a <ulink url="man:/umount">lazy unmount</ulink> on a share. This menu item is <emphasis role="bold">only available under Linux</emphasis> and should only be used if a share became inaccessible and could not be unmounted by the <guilabel>Unmount</guilabel> action. To take advantage of it, you have to enable the respective option in the <link linkend="configuration_superuser">configuration dialog</link> first.</para>
<para>Before a share is actually unmounted, a dialog will appear asking you to confirm the action:</para>
<screenshot>
<screeninfo>Screenshot of the dialog asking for confirmation if you want to force the unmounting of a share</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_question_force_unmounting.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The dialog asking for confirmation if you want to force the unmounting of a share</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>If you click the <guibutton>Yes</guibutton> button, the unmount will be carried out. The dialog can be disabled by checking the <guibutton>Do not ask again</guibutton> check box. The unmount will then be performed immediately and without confirmation.</para>
<para><emphasis role="bold">Warning:</emphasis> Think twice before using this option!</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>N</keycap>
</keycombo>
</shortcut>
<guimenuitem>Unmount All</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>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 <link linkend="configuration_shares_mounting">configuration dialog</link>.</para>
<para><emphasis role="bold">Warning:</emphasis> Please be EXTREMELY CAUTIOUS if you decide to enable the ability to unmount shares owned by other users!</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>Y</keycap>
</keycombo>
</shortcut>
<guimenuitem>Synchronize</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Start the synchronization of a share with a local copy or vice versa. This menu entry is only enabled if you installed the program <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>L</keycap>
</keycombo>
</shortcut>
<guimenuitem>Open with Konsole</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the base directory of a share in &konsole;. This menu item is useful if you need to run shell scripts, etc.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>K</keycap>
</keycombo>
</shortcut>
<guimenuitem>Open with Konqueror</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the contents of a share in Konqueror.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="mainwindow_shares_tooltips">
<title>Tooltips</title>
<para>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.</para>
<para>Tooltips are enabled by default. You can deactivate them in the <link linkend="configuration_user_interface_shares_tooltips">configuration dialog</link>.</para>
</sect2>

<sect2 id="mainwindow_shares_inaccessible">
<title>Inaccessible Shares</title>
<para>&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 <link linkend="mainwindow_shares_icons">modified icon</link> and you won't be able to open or synchronize it anymore. Unmounting will still be possible.</para>
<para><emphasis role="bold">Note:</emphasis> 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.</para>
</sect2>

<sect2 id="mainwindow_shares_icons">
<title>Icons</title>
<para>The shares views know three different icons that may be presented to the user:</para>
<screenshot>
<screeninfo>Screenshot of three different icons</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="shares_view_icons.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Three different icons</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>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.</para>
<para>All shares that look like 'B' are owned by another user. They are only shown if you adjusted the <link linkend="configuration_user_interface_shares_mounted_shares">settings</link> to display them. In the default configuration, you are not allowed to unmount these shares, but you can <link linkend="configuration_shares_mounting">change this behavior</link>.</para>
<para>Finally, the icon marked 'C' indicates that the share is online, accessible, and owned by you. You may perform all available actions on it.</para>
</sect2>

<sect2 id="mainwindow_shares_dnd">
<title>Drag-and-Drop</title>
<para>&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 <link linkend="configuration_user_interface_shares_dragndrop">configuration dialog</link>.</para>

<formalpara><title>Enabled drag support</title>
<para>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. <emphasis>Never choose to move the data, because this will move it from the remote share to your hard drive!</emphasis> 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 <keycap>CTRL</keycap> key while you are dragging and dropping the item.</para>
</formalpara>

<formalpara><title>Enabled drop support</title>
<para>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.</para>
</formalpara>
</sect2>

<sect2 id="mainwindow_shares_unmounting">
<title>Unmounting Shares</title>
<para>A share may be unmounted by either clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>U</keycap></keycombo></shortcut><guimenuitem>Unmount</guimenuitem></menuchoice> 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 <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>F</keycap></keycombo></shortcut><guimenuitem>Force Unmounting</guimenuitem></menuchoice> menu entry (only available under Linux). If it is not enabled, you can switch this feature on in the <link linkend="configuration_superuser">configuration dialog</link>. A lazy unmount will then be performed and the share will definitely get unmounted.</para>
<para>All shares can be unmounted at once by clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>N</keycap></keycombo></shortcut><guimenuitem>Unmount All</guimenuitem></menuchoice> menu item. Depending on your settings, this action will also unmount foreign and offline shares.</para>
<para><emphasis role="bold">Note:</emphasis> The mounting of shares is described <link linkend="mainwindow_network_mounting">here</link>.</para>
</sect2>

<sect2 id="mainwindow_shares_synchronization">
<title>Sychronization</title>
<para>The <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>Y</keycap></keycombo></shortcut><guimenuitem>Synchronize</guimenuitem></menuchoice> menu item will open the synchronization dialog. It will offer you the mount point of the share as source and the <link linkend="configuration_sync_copying_defdest">rsync prefix</link> 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 <guibutton>Swap Paths</guibutton> button.</para>
<screenshot>
<screeninfo>Screenshot of the synchronization dialog (input)</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_synchronization_input.png" format="PNG" />
</imageobject>
<textobject>
<phrase>URL requester for sync'ing</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Clicking the <guibutton>Synchronize</guibutton> button starts the synchronization. The input widgets as well as the <guibutton>Swap Paths</guibutton> and <guibutton>Synchronize</guibutton> buttons are disabled now. The progress of the synchronization can be observed in the dialog:</para>
<screenshot>
<screeninfo>Screenshot of the synchronization dialog (progress)</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_synchronization_progress.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Progress dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>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 <guilabel>Files transferred</guilabel> entry corresponds to the number of files present on the share and not to the total number of files that will be transferred.</para>
<para>The synchronization can the canceled at any time by clicking the <guibutton>Cancel</guibutton> button.</para>
</sect2>

<sect2 id="mainwindow_shares_konqueror">
<title>Opening a Share</title>
<para>&smb4k; provides two possibilities to open a mounted share:</para>
<itemizedlist>
<listitem><formalpara><title>Open a share with &konsole;</title>
<para>You can open the mounted share in &konsole; by selecting the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo></shortcut><guimenuitem>Open with Konsole</guimenuitem></menuchoice> menu entry. This is useful if you need to run shell scripts on the share or similar.</para>
</formalpara></listitem>
<listitem><formalpara><title>Open a share with &konqueror;</title>
<para>You can open the share in &konqueror; by clicking the share icon or selecting the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>K</keycap></keycombo></shortcut><guimenuitem>Open with Konqueror</guimenuitem></menuchoice> menu item.</para>
</formalpara></listitem>
</itemizedlist>
<para><emphasis role="bold">Note:</emphasis> If a share is marked as inaccessible, it cannot be opened.</para>
</sect2>
</sect1>

<!-- Bookmarks -->

<sect1 id="mainwindow_bookmarks">
<title>Handling Bookmarks</title>
<para>You can add a bookmark to your favorite shares by selecting it in the <link linkend="mainwindow_network">network browser</link> and clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>B</keycap></keycombo></shortcut><guimenuitem>Add Bookmark</guimenuitem></menuchoice> menu item. Alternatively, you can use the keyboard shortcut.</para>

<sect2 id="mainwindow_bookmarks_menu">
<title>Bookmarks Menu</title>
<para>The bookmarks can be accessed and managed through the <guilabel>Bookmarks</guilabel> menu:</para>
<screenshot>
<screeninfo>Screenshot of the bookmark popup menu</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="popup_menu_bookmarks.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Bookmark popup menu</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>In the <guilabel>Bookmarks</guilabel> menu there are two static items available:</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>E</keycap>
</keycombo>
</shortcut>
<guimenuitem>Edit Bookmarks</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the <link linkend="mainwindow_bookmarks_editor">bookmark editor</link>. This action is diabled if there are no bookmarks.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>B</keycap>
</keycombo>
</shortcut>
<guimenuitem>Add Bookmark</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Add a bookmark. A share in the <link linkend="mainwindow_network">network browser</link> has to be selected to enable this action.</para>
</listitem>
</varlistentry>
</variablelist>
<para>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 <link linkend="mainwindow_bookmarks_editor">bookmark editor</link>. By clicking a bookmark the respective share is mounted. If it is (already) mounted, the menu item is disabled.</para>
</sect2>

<sect2 id="mainwindow_bookmarks_editor">
<title>Bookmark Editor</title>
<para>The bookmarks may be edited or removed via the bookmark editor. It can be opened by clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo></shortcut><guimenuitem>Edit Bookmarks</guimenuitem></menuchoice> menu item.</para>
<screenshot>
<screeninfo>Screenshot of the bookmark editor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_bookmark_editor.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Bookmark editor</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>The <guilabel>IP Address</guilabel> and <guilabel>Label</guilabel> 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 <guilabel>Bookmarks</guilabel> menu <emphasis>instead</emphasis> of the share name in the case the feature is enabled in the <link linkend="configuration_user_interface_mw_and_st_bookmarks">configuration dialog</link>.</para>
<para>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 <guimenuitem>Remove</guimenuitem> and the <guimenuitem>Remove All</guimenuitem> actions. The <guimenuitem>Remove</guimenuitem> action will only be enabled if you clicked on a bookmark.</para>
<para>The changes can be committed by clicking the <guibutton>OK</guibutton> button.</para>
</sect2>
</sect1>

<!-- System tray -->

<sect1 id="systemtray">
<title>The System Tray Widget</title>

<sect2 id="systemtray_location">
<title>Location</title>
<para>By default, &smb4k; starts embedded into the system tray:</para>
<screenshot>
<screeninfo>Screenshot of the system tray icon</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="system_tray_icon.png" format="PNG" />
</imageobject>
<textobject>
<phrase>System tray icon</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>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 <link linkend="configuration_user_interface_mw_and_st_system_tray">setting</link> in the configuration dialog. Please note, that in this case you quit &smb4k; when you close the main window.</para>
</sect2>

<sect2 id="systemtray_usage">
<title>Usage</title>
<para>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.</para>
</sect2>

<sect2 id="systemtray_menus">
<title>Menus and Menu Items</title>
<screenshot>
<screeninfo>Screenshot of the popup menu of the system tray icon</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="system_tray_icon_popup_menu.png" format="PNG" />
</imageobject>
<textobject>
<phrase>System tray icon's popup menu</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>The following menus and menu items are available:</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Mounted Shares</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This menu lists all mounted shares and some actions that can be performed on them:</para>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Unmount All</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Unmount all shares at once. Depending on your <link linkend="configuration_shares_mounting">settings</link> &smb4k; attempts to unmount either only those shares that are owned by you or all that are listed.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>For each mounted share you can open a submenu that contains the following entries:</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Unmount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Unmount the share.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Force Unmounting</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Force the unmounting of the share (<emphasis>Linux only</emphasis>). For further information read <link linkend="mainwindow_shares_menu">here</link> and <link linkend="mainwindow_shares_unmounting">here</link>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Synchronize</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Synchronize the mounted share with a local copy or vice versa. For further information read <link linkend="mainwindow_shares_menu">here</link> and <link linkend="mainwindow_shares_synchronization">here</link>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Open with &konsole;</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the base directory of the share in &konsole;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Open with &konqueror;</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the contents of the share in &konqueror;.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<guimenuitem>Bookmarks</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The <guimenuitem>Bookmarks</guimenuitem> menu contains a list of your bookmarks and the following bookmark releated action(s):</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Edit Bookmarks</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the <link linkend="mainwindow_bookmarks_editor">bookmark editor</link>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Executing one of the bookmarks mounts the respective remote share. It will appear in the <guimenuitem>Mounted Shares</guimenuitem> menu as well as in the shares view of the main window.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<guimenuitem>Mount Manually</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the <link linkend="mainwindow_network_mounting">dialog</link> for "manual" mounts.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Configure &smb4k;...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the configuration dialog. See <link linkend="configuration">here</link> for a full list of available settings.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Minimize | Restore</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>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 <guimenuitem>Restore</guimenuitem> entry and <guimenuitem>Minimize</guimenuitem> otherwise.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>Q</keycap>
</keycombo>
</shortcut>
<guimenuitem>Quit</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Quit the application.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>


<!-- Konqueror Plugin -->

<sect1 id="konqplugin">
<title>The &konqueror; Plugin</title>
<para>&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.</para>

<para>After installation, the plugin can be added by clicking the configuration button on the side bar of &konqueror;'s navigation panel and choosing <menuchoice><guimenuitem>Add New</guimenuitem><guimenuitem>Samba Browser</guimenuitem></menuchoice>. 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.</para>
<screenshot>
<screeninfo>Screenshot of Konqueror's navigation panel</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="plugin_inclusion.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Konqueror's navigation panel</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>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.</para>
<screenshot>
<screeninfo>Screenshot of the Konqueror plugin</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="plugin_full_view.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Konqueror plugin</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>You can navigate through the network tree by either clicking the <guilabel>+</guilabel> or the network item itself. Remote shares can be mounted by choosing <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>M</keycap></keycombo></shortcut><guimenuitem>Mount</guimenuitem></menuchoice> 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 <guilabel>Custom Options</guilabel> dialog for that (see <link linkend="mainwindow_network_custom">here</link> for more information).</para>

<para>A share can be unmounted by selecting it in the network browser and choosing the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>U</keycap></keycombo></shortcut><guimenuitem>Unmount</guimenuitem></menuchoice> menu item. An <guimenuitem>Unmount All</guimenuitem> feature is not present in the &konqueror; plugin.</para>

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

<para>Just like the main application, the plugin comes with the ability to remount recently used shares. If you enable the corresponding <link linkend="configuration_shares_mounting">setting</link> 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.</para>

<para>The popup menu of the &konqueror; plugin contains the following menu entries:</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>R</keycap>
</keycombo>
</shortcut>
<guimenuitem>Scan Network|Workgroup|Computer</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>A</keycap>
</keycombo>
</shortcut>
<guimenuitem>Abort</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Abort any running process that is network related. The entry is only enabled if &smb4k; is busy.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>O</keycap>
</keycombo>
</shortcut>
<guimenuitem>Mount Manually</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The <link linkend="mainwindow_network_mounting">mount dialog</link> 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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>T</keycap>
</keycombo>
</shortcut>
<guimenuitem>Authentication</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The <link linkend="mainwindow_network_authentication">authentication dialog</link> 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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>C</keycap>
</keycombo>
</shortcut>
<guimenuitem>Custom Options</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The <link linkend="mainwindow_network_custom">Custom Options dialog</link> 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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>B</keycap>
</keycombo>
</shortcut>
<guimenuitem>Add Bookmark</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Add a <link linkend="mainwindow_bookmarks">bookmark</link>. This menu entry is only available if a remote share is selected.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>V</keycap>
</keycombo>
</shortcut>
<guimenuitem>Preview</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><link linkend="mainwindow_network_preview">Preview</link> the contents of the selected remote share.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>P</keycap>
</keycombo>
</shortcut>
<guimenuitem>Print File</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><link linkend="mainwindow_network_printing">Print</link> a file on a remote printer. This menu item is only available if you selected a printer share.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>M | U</keycap>
</keycombo>
</shortcut>
<guimenuitem>Mount | Unmount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The functionality of this menu item depends on the state of the share you selected:</para>
<itemizedlist>
<listitem><para>If a mounted share is selected, you can unmount it. The item shows <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>U</keycap></keycombo></shortcut><guimenuitem>Unmount</guimenuitem></menuchoice>.</para></listitem>
<listitem><para>If a share is selected that is not mounted, you can mount it. The item shows <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>M</keycap></keycombo></shortcut><guimenuitem>Mount</guimenuitem></menuchoice>.</para></listitem>
</itemizedlist>
<para>This menu entry is disabled if you click anything different than a share with type "Disk" or "IPC".</para>
</listitem>
</varlistentry>
</variablelist>

<para>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.</para>

<para>In case you want to remove the plugin from &konqueror;, you just need to right click on the <guibutton>Samba Browser</guibutton> button and choose <guimenuitem>Remove</guimenuitem> from the menu.</para>
</sect1>


<!-- Configuring Smb4K -->

<sect1 id="configuration">
<title>Configuring &smb4k;</title>

<para>This section describes the settings that are available to configure &smb4k;. To open the configuration dialog, you have to click the <link linkend="mainwindow_overview"><guimenuitem>Configure &smb4k;...</guimenuitem> menu item</link>.</para>

<!-- Configuration: User Interface -->

<sect2 id="configuration_user_interface">
<title>User Interface</title>

<para>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 <guimenu>Settings</guimenu> in the <link linkend="mainwindow_overview">menu bar</link>.</para>

<screenshot>
<screeninfo>Screenshot of the "Appearance" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_user_interface.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Appearance" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect3 id="configuration_user_interface_mw_and_st_shares_view">
<title>Main Window &amp; System Tray : Shares View</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show mounted shares in an icon view</guibutton>
</menuchoice>
</term>
<listitem>
<para>
An icon view will be used in the main window to show the mounted shares.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show mounted shares in a list view</guibutton>
</menuchoice>
</term>
<listitem>
<para>
A list view will be used in the main window to show the mounted shares.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_mw_and_st_bookmarks">
<title>Main Window &amp; System Tray : Bookmarks</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show custom bookmark label if available</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The custom description (label) of the bookmark is shown. It can be defined in the <link linkend="mainwindow_bookmarks_editor">bookmark editor</link>.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_mw_and_st_system_tray">
<title>Main Window &amp; System Tray : System Tray</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Embed application into the system tray</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <link linkend="systemtray">System Tray Widget</link> section.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_network_remote_shares">
<title>Network Browser : Remote Shares</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show printer shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Printer shares are shown.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show hidden shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
All hidden shares except those of type ADMIN$ and IPC$ are shown in the network browser.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show IPC$ shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Hidden IPC$ shares are shown. This option can only be chosen if you also ticked the <guibutton>Show hidden shares</guibutton> check box.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show ADMIN$ shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Hidden ADMIN$ shares are shown. This option can only be chosen if you also ticked the <guibutton>Show hidden shares</guibutton> check box.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_network_columns">
<title>Network Browser : Columns</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show type</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The type of the shares is shown (i. e. Disk, Printer, or IPC).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show IP address</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The IP address of a remote host is shown.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show comment</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The comment of a remote host or share is shown.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_network_tooltips">
<title>Network Browser : Tooltips</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show tooltip with information about a network item</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_shares_mounted_shares">
<title>Shares View : Mounted Shares</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show mount point instead of share name</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The mount point is shown instead of the share name.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show all shares that are mounted on the system</guibutton>
</menuchoice>
</term>
<listitem>
<para>
All mounts that are using either the SMBFS or CIFS file system are shown. By default, only the shares owned by you are displayed.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_shares_dragndrop">
<title>Shares View : Drag and Drop</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Allow dropping of files and directories onto shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Allow dragging of shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>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 <link linkend="mainwindow_shares_dnd">Drag-and-Drop</link> section before enabling this feature.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_shares_tooltips">
<title>Shares View : Tooltips</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show tooltip with information about a share</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_shares_list_view">
<title>Shares View : List View</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show owner and group (SMBFS only)</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show login (CIFS only)</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show file system</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the file system that is used by the share.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show free disk space</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the free disk space that is available on the share.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show used disk space</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the disk space that is in use on the share.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show total disk space</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the total disk space that the share offers.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show disk usage</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show a graphical indicator that displays the disk usage.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_preview_hidden">
<title>Preview Dialog : Hidden Files and Directories</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preview hidden files and directories</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<!-- Configuration: Network -->

<sect2 id="configuration_network">
<title>Network</title>

<para>The options in the <guilabel>Network</guilabel> 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 <ulink url="man:/nmblookup"><citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>, <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>, or <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>, see the <link linkend="configuration_samba">Samba</link> section.</para>

<screenshot>
<screeninfo>Screenshot of the "Network" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_network.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Network" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect3 id="configuration_network_browselist">
<title>Browse List</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Scan the network neighborhood for available workgroups and domains</guibutton>
</menuchoice>
</term>
<listitem>
<para>
&smb4k; will search for all available master browsers on the network by using <ulink url="man:/nmblookup"><citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>. 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).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Query the current workgroup master browser</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Query this master browser</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Scan broadcast areas</guibutton>
</menuchoice>
</term>
<listitem>
<para>
&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:
<screen>192.168.1.255, 192.168.2.255, 10.0.0.255</screen>
The IP address/mask pair (192.168.1.1/24) does not work.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_network_search">
<title>Network Search</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use nmblookup (recommended)</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The search for remote hosts will be performed using <ulink url="man:/nmblookup"><citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>. 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.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use smbclient</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The search for remote hosts will be performed using <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>. 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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<!-- Configuration: Shares -->

<sect2 id="configuration_shares">
<title>Shares</title>

<para>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 <link linkend="configuration_samba">Samba</link> section.</para>

<screenshot>
<screeninfo>Screenshot of the "Shares" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_shares.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Shares" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect3 id="configuration_shares_directories">
<title>Directories</title>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Mount prefix</guibutton>
</menuchoice>
</term>
<listitem>
<para>
This is the base directory (mount prefix, <filename class="directory">$PREFIX</filename>) 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 <envar>$HOME</envar> are recognized.
</para>
<para>
Default: <filename class="directory">$HOME/smb4k/</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Force generated subdirectories to be lower case</guibutton>
</menuchoice>
</term>
<listitem>
<para>
All subdirectories that are created by &smb4k; below the mount prefix will be lower case.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_shares_mounting">
<title>Mounting and Unmounting</title>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Unmount all shares of user USER on exit</guibutton>
</menuchoice>
</term>
<listitem>
<para>
All of your shares will be unmounted on program exit (USER is replaced by your user name).
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Remount recently used shares on program start</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Allow the unmounting of shares that are owned by other users</guibutton>
</menuchoice>
</term>
<listitem>
<para>
This option will allow you to unmount shares that were mounted by other users. In combination with the options you can define under <link linkend="configuration_superuser">Super User</link>, it is guaranteed that you will be able to unmount them.</para>
<para>USE WITH EXTREME CAUTION!</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_shares_checks">
<title>Checks</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Interval between checks</guibutton>
</menuchoice>
</term>
<listitem>
<para>&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).</para>
<para>Default: 2500 ms</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

</sect2>

<!-- Configuration: Authentication -->

<sect2 id="configuration_authentication">
<title>Authentication</title>

<para>Here you can change the settings affecting the authentication.</para>

<screenshot>
<screeninfo>Screenshot of the "Authentication" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_authentication.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Authentication" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect3 id="configuration_authentication_storage">
<title>Password Storage</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Save the authentication data in a wallet</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>If no wallet is used, remember authentication data during run time</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_authentication_default">
<title>Default Login</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use default login</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<!-- Configuration: Samba -->

<sect2 id="configuration_samba">
<title>Samba</title>

<para>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 <filename>smb.conf</filename> configuration file. For further information, please refer to the manual pages of the Samba software suite.</para>

<screenshot>
<screeninfo>Screenshot of the "Samba" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_samba.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Samba" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect3 id="configuration_samba_general_general">
<title>General : General Options</title>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>NetBIOS name</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the NetBIOS name of your computer. The text box should already be filled with the information found in the <filename>smb.conf</filename> configuration file or with the hostname of your computer. Under normal circumstances there is no need to change anything here.
</para>
<para>
Default: NetBIOS name defined in <filename>smb.conf</filename> or the hostname
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Domain</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the name of the domain/workgroup your computer is in. The text box should already be filled with the information found in the <filename>smb.conf</filename> configuration file. Under normal circumstances there is no need to change anything here.
</para>
<para>
Default: domain name defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Socket options</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the TCP socket opitions. Please refer to the <ulink url="man:/smb.conf"><citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> manual page to learn more.
</para>
<para>
Default: socket options defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>NetBIOS scope</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the NetBIOS scope. It is recommended that you read the <ulink url="man:/smb.conf"><citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> manual page before entering anything here.
</para>
<para>
Default: NetBIOS scope defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Remote SMB port</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the remote SMB port number. Unless you are using a firewall (see also <link linkend="trouble_shooting_unfunc_browser">here</link> and <link linkend="trouble_shooting_suse_firewall">here</link>), you do not need to change anything here. This setting overwrites the <screen>smb ports = ...</screen> option defined in the <filename>smb.conf</filename> file.
</para>
<para>
Default: 139
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_general_active">
<title>General : Authentication</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Try to authenticate with Kerberos</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Use Kerberos for authentication in an Active Directory environment.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Authenticate as machine account</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Make queries to the remote server using the machine account of the local server.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_mount_fs">
<title>mount : File System</title>
<para>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 <emphasis>vast majority</emphasis> of the servers are running one of those operating systems, you should consider to choose the SMBFS file system. If you do not have <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/umount.cifs"><citerefentry><refentrytitle>umount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> installed, &smb4k; will automatically switch to the SMBFS file system.</para>
<para>To change the file system only for a few servers, use the <link linkend="mainwindow_network_custom">Custom Options</link> dialog.</para>
<para><emphasis role="bold">Note:</emphasis> Under FreeBSD there is only the SMBFS file system available.</para>
<para>Default: CIFS</para>
</sect3>

<sect3 id="configuration_samba_mount_perms">
<title>mount : Permissions</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>File mask</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/umask"><citerefentry><refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum></citerefentry></ulink> manual pages.
</para>
<para>
Default: 0755
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Directory mask</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/umask"><citerefentry><refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum></citerefentry></ulink> manual pages.
</para>
<para>
Default: 0755
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Write access</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Here you can determine if the shares should be mounted <emphasis>read-write</emphasis> or <emphasis>read-only</emphasis>. This option is independent of the file mask and the directory mask settings above.
</para>
<para>
Default: read-write
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_mount_char">
<title>mount : Charset and Codepage</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Client charset</guibutton>
</menuchoice>
</term>
<listitem>
<para>Sets the charset used by the client side (i.e. your computer)
<itemizedlist>
<listitem><para><emphasis>SMBFS:</emphasis> for codepage to charset translations (NLS).</para></listitem>
<listitem><para><emphasis>CIFS:</emphasis> to convert local path names to and from Unicode. If the server does not support Unicode, this parameter is ignored.</para></listitem>
</itemizedlist>
</para>
<para>
Default: default
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Server codepage</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the codepage the server uses. This option is only available with the SMBFS file system.
</para>
<para>
Default: default
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_mount_user">
<title>mount : User and Group</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>User ID</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: your UID
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Group ID</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: your GID
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_mount_advanced_cifs">
<title>mount : Advanced CIFS Options</title>
<para><emphasis>(This widget is not available under FreeBSD.)</emphasis></para>
<para>Most of the options you can define here require Linux kernel 2.6.15 or later to work.</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do permission checks</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Attempt to set UID and GID</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> before you change this setting.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use server inode numbers</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> before you change this setting.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not cache inode data</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Translate reserved characters</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not use locking</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Do not use locking. Do not start lockd.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Additional options</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Define additional options for use with <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>. 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 <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>.
</para>
<para>
Default: none
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_mount_misc">
<title>mount : Advanced SMBFS Options</title>
<para><emphasis>(This widget is not available under FreeBSD.)</emphasis></para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use unicode when communicating with the server</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets if unicode should be used when communicating with the server. This option is only available with the SMBFS file system.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use large file system support</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Caching time of directory listings</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: 1000 ms
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_net_protocol">
<title>net : Protocol Hint</title>

<para>With the settings in this box you can give &smb4k; a hint, which protocol should be used with the <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> command. Since for some actions not all protocols are available, your choice might be ignored for certain tasks.</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Automatic detection</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The protocol will be determined automatically by the <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> 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 <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> program has problems negotiating the right protocol. In almost all cases this can be fixed by setting the protocol hint to the RAP protocol.
</para>
<para><emphasis role="bold">Note:</emphasis> If only a few and not all servers are affected, you should consider to use the <link linkend="mainwindow_network_custom">Custom Options</link> dialog to set the protocol hint and leave this option untouched.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>RPC: Modern operating systems</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The RPC protocol is used by the modern Windows variants (2000/XP/2003) and by Samba.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>RAP: Older operating systems</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>ADS: Active Directory environment (LDAP/Kerberos)</guibutton>
</menuchoice>
</term>
<listitem>
<para>
&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.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_smbclient_misc">
<title>smbclient : Miscellaneous</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Resolve order</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>.
</para>
<para>
Default: options defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Buffer size</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Change the transmit/send buffer size when getting or putting a file from/to a remote server.
</para>
<para>
Default: 65520
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Signing state</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the client signing state.
</para>
<para>
Default: none
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_nmblookup_misc">
<title>nmblookup : Miscellaneous</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Broadcast address</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <screen>interfaces = ...</screen> parameter of the <filename>smb.conf</filename> file.
</para>
<para>
Default: options defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Try and bind to UDP port 137 to send and receive UDP datagrams</guibutton>
</menuchoice>
</term>
<listitem>
<para>
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 <ulink url="man:/nmblookup"><citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> before.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_custom_options">
<title>Custom</title>
<para>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 <guibutton>Remove</guibutton> button. The <guibutton>Remove All</guibutton> button removes all entries at once.</para>
</sect3>
</sect2>

<!-- Configuration: Synchronization -->

<sect2 id="configuration_sync">
<title>Synchronization</title>

<para>This configuration page contains options that influence the behavior of the <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command that is used to synchronize remote shares with local copies or vice versa. It is only available, if <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> is installed on your system. It is recommend, that you read the <ulink url="man:/rsync">manual page</ulink> 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.</para>

<screenshot>
<screeninfo>Screenshot of the "Synchronization" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_synchronization.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Synchronization" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect3 id="configuration_sync_copying_defdest">
<title>Copying : Default Destination</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Rsync prefix</guibutton>
</menuchoice>
</term>
<listitem>
<para>This is the directory where <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> stores the transferred data by default. If you want to synchronize several shares, you should define different directories in the <link linkend="mainwindow_shares_synchronization">synchronization dialog</link>.</para>
<para>
Default: <filename class="directory">$HOME/smb4k_sync/</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_copying_general">
<title>Copying : General</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Archive mode</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-a</option>/<option>--archive</option>, same as <option>-rlptgoD</option> (no <option>-H</option>)</para>
<para>Switch the archive mode on. This is a quick way of saying you want recursion and want to preserve almost everything. Note that <option>-a</option> does not preserve hardlinks, because finding multiply-linked files is expensive. You must separately specify  <option>-H</option>.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Recurse into directories</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-r</option>/<option>--recursive</option></para>
<para>Recurse into subdirectories.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Skip files that are newer in target directory</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-u</option>/<option>--update</option></para>
<para>This forces <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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.)</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Update destination files in place</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--inplace</option></para>
<para>This causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> not to create a new copy of the file and then move it into place. Instead <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <option>--backup</option>, since <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> is smart enough to use the backup file as the basis file for the transfer.</para>
<para>For further information you ought to read the <ulink url="man:/rsync">manual page</ulink>.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use relative path names</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-R</option>/<option>--relative</option></para>
<para>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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Don't send implied directories</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--no-implied-dirs</option></para>
<para>This option affects the default behavior of the <option>--relative</option> 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.</para>
<para>For further information you ought to read the <ulink url="man:/rsync">manual page</ulink>.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Transfer directories without recursing</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-d</option>/<option>--dirs</option></para>
<para>Tell the sending side to include any directories that are encountered. Unlike <option>--recursive</option>, 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 <option>--recursive</option> option, <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> will skip all directories it encounters (and output a message to that effect for each one). If you specify both <option>--dirs</option> and <option>--recursive</option>, <option>--recursive</option> takes precedence.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Compress data during transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-z</option>/<option>--compress</option></para>
<para>Compress file data during the transfer.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_copying_links">
<title>Copying : Links</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-l</option>/<option>--links</option></para>
<para>Copy symlinks as symlinks.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Transform symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-L</option>/<option>--copy-links</option></para>
<para>When symlinks are encountered, the item that they point to is copied, rather than the symlink.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Only transform unsafe symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--copy-unsafe-links</option></para>
<para>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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Ignore unsafe symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--safe-links</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to ignore any symbolic links which point outside the copied tree. All absolute symlinks are also ignored. Using this option in conjunction with <option>--relative</option> may give unexpected results.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve hard links</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-H</option>/<option>--hard-links</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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.</para>
<para>Note that <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> can only detect hard links if both parts of the link are in the list of files being sent.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Keep directory symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-K</option>/<option>--keep-dirlinks</option></para>
<para>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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_copying_perms">
<title>Copying : File Permissions, etc.</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve permissions</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-p</option>/<option>--perms</option></para>
<para>This option causes the receiving side to set the destination permissions to be the same as the source permissions.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve group</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-g</option>/<option>--group</option></para>
<para>This option causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <option>--no-super</option> option), only groups that the receiver is a member of will be preserved.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve owner</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-o</option>/<option>--owner</option></para>
<para>This option causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <option>--numeric-ids</option> option for a full discussion). This option has no effect if the receiving <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> is not run as the super user and <option>--super</option> is not specified.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve device and special files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-D</option>/<option>--devices --specials</option></para>
<para>This option causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <option>--super</option> is not specified.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve times</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-t</option>/<option>--times</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to transfer modification times along with the files and update them on the remote system.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Omit directories when preserving times</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-O</option>/<option>--omit-dir-times</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to omit directories when it is preserving modifiction times (see <option>--times</option>).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filedel_filedel">
<title>File Deletion &amp; Transfer : File Deletion</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Remove synchronized source files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--remove-source-files</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete extraneous files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to send the whole directory (e.g. "<filename class="directory">dir</filename>" or "<filename class="directory">dir/</filename>") without using a wildcard for the directory's contents (e.g. "<filename class="directory">dir/*</filename>") since the wildcard is expanded by the shell and <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <option>--delete-excluded</option> option or mark the rules as only matching on the sending side.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete files before transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-before</option></para>
<para>Request that the file deletions on the receiving side be done before the transfer starts. This is the default if <option>--delete</option> or <option>--delete-excluded</option> is specified without one of the <option>--delete-WHEN</option> options.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete files after transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-after</option></para>
<para>Request that the file deletions on the receiving side be done after the transfer has completed.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete files during transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-during</option></para>
<para>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 <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> version 2.6.4.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Also delete excluded files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-excluded</option></para>
<para>In addition to deleting the files on the receiving side that are not on the sending side, this tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to also delete any files on the receiving side that are excluded (see <option>--exclude</option>).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete even if I/O errors occur</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--ignore-errors</option></para>
<para>Tells <option>--delete</option> to go ahead and delete files even when there are I/O errors.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Force deletion of non-void directories</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--force</option></para>
<para>This option tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <option>--delete</option>).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filedel_restrict">
<title>File Deletion &amp; Transfer : Restrictions</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Don't delete more than this many files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--max-delete=NUM</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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.</para>
<para>
Default: not selected; NUM: 0
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filedel_transfer">
<title>File Deletion &amp; Transfer : File Transfer</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Don't transfer any file smaller than</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--min-size=NUM</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to avoid transferring any file that is smaller than the specified SIZE, which can help in not transferring small, junk files.</para>
<para>
Default: not selected; NUM: 0 kB
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Don't transfer any file larger than</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--max-size=NUM</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to avoid transferring any file that is larger than the specified SIZE.</para>
<para>
Default: not selected; NUM: 0 kB
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Keep partially transferred files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--partial</option></para>
<para>By default, <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <option>--partial</option> option tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to keep the partial file which should make a subsequent transfer of the rest of the file much faster.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Put a partially transferred file into</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--partial-dir=DIR</option></para>
<para>A better way to keep partial files than the <option>--partial</option> 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, <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <ulink url="man:/rsync">manual page</ulink>.</para>
<para>
Default: not selected; DIR: <filename class="directory">$HOME</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filter_general">
<title>Filtering : General</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Auto-ignore files in the same way CVS does</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-C</option>/<option>--cvs-exclude</option></para>
<para>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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Exclude files matching this pattern</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--exclude=PATTERN</option></para>
<para>This  option is a simplified form of the <option>--filter</option> option that defaults to an exclude rule and does not allow the full rule-parsing syntax of normal filter rules.</para>
<para>
Default: not selected; PATTERN: empty
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Read exclude exclude patterns from</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--exclude-from=FILE</option></para>
<para>This option is related to the <option>--exclude</option> 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.</para>
<para>
Default: not selected; FILE: <filename>$HOME/exclude.txt</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Don't exclude files matching this pattern</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--include=PATTERN</option></para>
<para>This option is a simplified form of the <option>--filter</option> option that defaults to an include rule and does not allow the full rule-parsing syntax of normal filter rules.</para>
<para>
Default: not selected; PATTERN: empty
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Read include patterns from</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--include-from=FILE</option></para>
<para>This option is related to the <option>--include</option> 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.</para>
<para>
Default: not selected; FILE: <filename>$HOME/include.txt</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filter_rules">
<title>Filtering : Filter Rules</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>[Filter rules text box]</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-f</option>/<option>--filter=RULE</option></para>
<para>You can define one or more filter rules here. Each rule has to be prefixed with the <option>--filter=</option> or <option>-f</option> option string, because the contents of the text box will be passed to the <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command AS IS.</para>
<para>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.</para>
<para>You may use as many <option>--filter</option> options as you like to build up the list of files to exclude.</para>
<para>See  the  FILTER  RULES section of the <ulink url="man:/rsync">manual page</ulink> for detailed information on this option.</para>
<para>
Default: empty
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use --filter='dir-merge /.rsync-filter' filter rule</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-F</option></para>
<para>This option tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to look for per-directory <filename>.rsync-filter</filename> files that have been sprinkled through the hierarchy and use their rules to filter the files in the transfer.</para>
<para>See the FILTER RULES section of the <ulink url="man:/rsync">manual page</ulink> for detailed information on how this option works.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use --filter='exclude .rsync-filter' filter rule</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-FF</option></para>
<para>This option filters out the <filename>.rsync-filter</filename> files themselves from the transfer.</para>
<para>See the FILTER RULES section of the <ulink url="man:/rsync">manual page</ulink> for detailed information on how this option works.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_advanced_general">
<title>Advanced : General</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Handle sparse files efficiently</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-S</option>/<option>--sparse</option></para>
<para>Try to handle sparse files efficiently so they take up less space on the destination. Conflicts with <option>--inplace</option> because it's not possible to overwrite data in a sparse fashion.</para>
<para><emphasis role="bold">Note:</emphasis> 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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Copy files whole (no rsync algorithm)</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-W</option>/<option>--whole-file</option></para>
<para>With this option the incremental <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Don't cross file system boundaries</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-x</option>/<option>--one-file-system</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> 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 <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>'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 <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> treats a "bind" mount to the same device as being on the same file system.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Only update files that already exist</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--existing</option>/<option>--ignore-non-existing</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to skip updating files that do not exist yet on the destination. If this option is combined with the <option>--ignore-existing</option> option, no files will be updated (which can be useful if all you want to do is to delete missing files).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Ignore files that already exist</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--ignore-existing</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to skip updating files that already exist on the destination. See also <option>--ignore-non-existing</option>.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delay updates until the end of transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delay-updates</option></para>
<para>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.</para>
<para>It is strongly recommended that you read the <ulink url="man:/rsync">manual page</ulink> before using this option.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_advanced_backup">
<title>Advanced : Backup</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Make backups</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-b</option>/<option>--backups</option></para>
<para>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 <option>--backup-dir</option> and <option>--suffix</option> options.</para>
<para>Note that if you don't specify <option>--backup-dir</option>, (1) the <option>--omit-dir-times</option> option will be implied, and (2) if <option>--delete</option> is also in effect (without <option>--delete-excluded</option>),  <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> will add a "protect" filter-rule for the backup suffix to the end of all your existing excludes (e.g. <option>-f "P *~"</option>). 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).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Backup suffix</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--suffix=SUFFIX</option></para>
<para>This  option  allows  you  to override the default backup suffix used with the <option>--backup</option> option. The default suffix is a <emphasis>~</emphasis> if no <option>--backup-dir</option> was specified, otherwise it is an empty string.</para>
<para>This option is only available if you ticked the <guilabel>Make backups</guilabel> option above.</para>
<para>
Default: not selected; SUFFIX: ~
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Backup directory</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--backup-dir=DIR</option></para>
<para>In combination with the <option>--backup</option> 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 <option>--suffix</option> option (otherwise the files backed up in the specified directory will keep  their original filenames).</para>
<para>This option is only available if you ticked the <guilabel>Make backups</guilabel> option above.</para>
<para>
Default: not selected; DIR: <envar>$HOME</envar>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_advanced_checksums">
<title>Advanced : Checksums</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Force fixed checksum block size</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-B</option>/<option>--block-size=SIZE</option></para>
<para>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 <ulink url="http://rsync.samba.org/tech_report/">technical report</ulink> for details.</para>
<para>
Default: not selected; SIZE: 0
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Set block/file checksum seed</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--checksum-seed=NUM</option></para>
<para>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.</para>
<para>
Default: not selected; NUM: 0
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Skip files based on checksum</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-c</option>/<option>--checksum</option></para>
<para>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.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<!-- Configuration: Super User -->

<sect2 id="configuration_superuser">
<title>Super User</title>
<para>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.</para>
<para>An alternative way to enable mounting is to set the SUID root bit to <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>, <ulink url="man:/umount.cifs"><citerefentry><refentrytitle>umount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>, <ulink url="man:/smbmnt"><citerefentry><refentrytitle>smbmnt</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/smbumount"><citerefentry><refentrytitle>smbumount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>. The procedure is described in the <link linkend="trouble_shooting">Trouble Shooting</link> chapter.</para>

<para>If neither <ulink url="man:/super"><citerefentry><refentrytitle>super</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> nor <ulink url="man:/sudo"><citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> is installed on your system, this configuration page is disabled.</para>

<screenshot>
<screeninfo>Screenshot of the "Super User" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_superuser.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Super User" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect3 id="configuration_superuser_programs">
<title>Programs</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>sudo</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Use the program <ulink url="man:/sudo"><citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to gain super user privileges.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>super</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Use the program <ulink url="man:/super"><citerefentry><refentrytitle>super</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to gain super user privileges.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
<para>If you have only one of the programs installed, &smb4k; will automatically choose the one that is present on your system.</para>
</sect3>

<sect3 id="configuration_superuser_actions">
<title>Actions</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use super user privileges to force the unmounting of (inaccessible) shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Ticking this option will enable the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>F</keycap></keycombo></shortcut><guimenuitem>Force Unmounting</guimenuitem></menuchoice> 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 <link linkend="trouble_shooting_unmounting_resource_busy">problems unmounting shares</link>.
</para>
<para><emphasis role="bold">Note:</emphasis> This option requires Linux kernel 2.4.11 or later and is not available under other operating systems.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use super user privileges to mount and unmount shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Super user privileges will be used to mount and unmount shares.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Remove Entries</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Depending on the choice under <guilabel>Programs</guilabel>, the entries in the <filename>super.tab</filename> or <filename>sudoers</filename> configuration file will be removed. The root password is needed.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
</sect1>

<sect1 id="freebsd_remarks">
<title>Remarks for FreeBSD Users</title>
<para>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 <ulink url="man:/smbmount"><citerefentry><refentrytitle>smbmount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>/<ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> programs you may specify the user name and password within the command options or by setting the <envar>USER</envar> and <envar>PASSWD</envar> environment variables, under FreeBSD, all logon information is stored in the credentials file <filename>~/.nsmbrc</filename>. If the logon information is not available there, you will not be able to mount a password protected share.</para>
<para>Fortunately, you do not have to prepare the <filename>~/.nsmbrc</filename> 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 <filename>~/.nsmbrc</filename> 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.</para>
<para>If you do not trust &smb4k;, there are different ways how to fill the <filename>~/.nsmbrc</filename> 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.</para>
</sect1>

</chapter>


<!-- Command Reference -->

<chapter id="commands" >
<title>Command Reference</title>

<sect1 id="commands_mainwindow" >
<title>The Main Window</title>

<sect2 id="general_commands">
<title>Global Shortcuts</title>
<para>These keyboard shortcuts are not associated with any menu entries.</para>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul" >
&Ctrl; <keycap>1</keycap>
</keycombo>
</shortcut>
<guilabel>Jump to Network Browser</guilabel>
</menuchoice>
</term>
<listitem>
<para>
The network browser will be shown and get the keyboard focus.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul" >
&Ctrl; <keycap>2</keycap>
</keycombo>
</shortcut>
<guilabel>Jump to Search Dialog</guilabel>
</menuchoice>
</term>
<listitem>
<para>
The search dialog will be shown and get the keyboard focus.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul" >
&Ctrl; <keycap>3</keycap>
</keycombo>
</shortcut>
<guilabel>Jump to Shares View</guilabel>
</menuchoice>
</term>
<listitem>
<para>
The shares view will get the keyboard focus.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="file_menu">
<title>The File Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul" >
&Ctrl; <keycap>Q</keycap>
</keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
Quit &smb4k;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="network_menu">
<title>The Network Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>R</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Scan Network|Workgroup|Computer</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
(Re-)scan the network neighborhood, a workgroup, or a computer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>A</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Abort</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Abort the scanning for new workgroups/domains, servers or shares.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>O</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Mount Manually</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the dialog to "manually" mount a remote share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>T</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Authentication</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the authentication dialog where you can enter login information.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>C</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Custom Options</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open a dialog where you can define custom options for a server or share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>V</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Preview</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the preview dialog that contains a preview of the contents of the selected share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>P</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Print File</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the print dialog.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>M</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Mount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Mount the selected remote share.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="shares_menu">
<title>The Shares Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>U</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Unmount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Unmount the selected share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>F</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Force Unmounting</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Force the unmounting of the selected share. This action is not available under FreeBSD.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>N</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Unmount All</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>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 <link linkend="configuration_shares_mounting">configuration dialog</link>. For further information read the <link linkend="mainwindow_shares_unmounting">Unmounting Shares</link> section.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>Y</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Synchronize</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the synchronization dialog.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>L</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Open with Konsole</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the base directory of the selected share in &konsole;.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>K</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Open with Konqueror</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the contents of the selected share in Konqueror.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="bookmarks_menu">
<title>The Bookmarks Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>B</keycap>
</keycombo>
</shortcut>
<guimenu>Bookmarks</guimenu>
<guimenuitem>Add Bookmark</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Add the selected share to the bookmarks.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Bookmarks</guimenu>
<guimenuitem>Edit Bookmarks</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the bookmark editor.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="settings_menu">
<title>The Settings Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Toolbars</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>In this submenu you can enable or disable the tool bars.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Hide Statusbar</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Hide or show the status bar.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Dock Widgets</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Hide or show the dock widgets of the main window.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Shares View</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Select between the shares icon and list view.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &smb4k;...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the configuration dialog.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="help_menu">
<title>The Help Menu</title>
&help.menu.documentation;
</sect2>
</sect1>

<sect1 id="commands_bookmarkeditor">
<title>The Bookmark Editor</title>
<para>Right-click to open the popup menu.</para>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
<keycap>Delete</keycap>
</keycombo>
</shortcut>
<guimenuitem>Remove</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Removes the selected bookmark from the list.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>X</keycap>
</keycombo>
</shortcut>
<guimenuitem>Remove All</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Removes all bookmarks from the list.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

</chapter>


<chapter id="utilities">
<title>The Utility Programs</title>

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

<!-- smb4k_mount -->

<sect1 id="smb4k_mount">
<title>smb4k_mount</title>

<simplesect id="smb4k_mount_name">
<title>Name</title>
<para>smb4k_mount &#8212; mount remote Samba and Windows shares</para>
</simplesect>

<simplesect id="smb4k_mount_synopsis">
<title>Synopsis</title>
<para>
  <command>smb4k_mount</command>
  {<option>mode</option>}
  {<option>options</option>}
  {share}
  {mountpoint}
  &nbsp;&nbsp;
  <emphasis>(Linux and similar)</emphasis>
</para>
<para>
  <command>smb4k_mount</command>
  {<option>options</option>}
  {share}
  {mountpoint}
  &nbsp;&nbsp;
  <emphasis>(FreeBSD)</emphasis>
</para>
<para>
  <command>smb4k_mount</command>
  <option>--help</option>
</para>
<para>
  <command>smb4k_mount</command>
  <option>--version</option>
</para>
</simplesect>

<simplesect id="smb4k_mount_description">
<title>Description</title>
<para><command>smb4k_mount</command> 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 <ulink url="man:/smbmount"><citerefentry><refentrytitle>smbmount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> in normal user mode and <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> in super user mode. Under FreeBSD, always <ulink url="man:/mount_smbfs"><citerefentry><refentrytitle>mount_smbfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> is used.</para>
<para>This program is available since &smb4k; version 0.5.0.</para>
</simplesect>

<simplesect id="smb4k_mount_arguments">
<title>Arguments</title>
<variablelist>
<varlistentry>
<term>{mode}</term>
<listitem>
<para>This argument determines if <command>smb4k_mount</command> 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:</para>
<variablelist>
<varlistentry>
<term>
<option>--no-suid</option>
</term>
<listitem>
<para>Run <command>smb4k_mount</command> in normal user mode and thus let it invoke either <ulink url="man:/smbmount"><citerefentry><refentrytitle>smbmount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> depending on the choice the user made with the file system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--suid</option>
</term>
<listitem>
<para>Run <command>smb4k_mount</command> in super user mode and thus let it invoke <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-n</option>
</term>
<listitem>
<para>The same as the <option>--no-suid</option> argument.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-s</option>
</term>
<listitem>
<para>The same as the <option>--suid</option> argument.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>{options}</term>
<listitem>
<para>These are the options you can pass to the mount binary (see the <ulink url="man:/smbmount"><citerefentry><refentrytitle>smbmount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>, <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>, <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/mount_smbfs"><citerefentry><refentrytitle>mount_smbfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> (FreeBSD) manual page for details).</para>
<para><emphasis role="bold">Linux and similar:</emphasis> Due to the changes applied to the source of <command>smb4k_mount</command> during the preparation of version 0.8, only the <option>-o</option> and <option>-t</option> arguments are still supported. The use of <option>-t</option> 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 <command>smb4k_mount</command> to exit with an error message. For the available options that go with the <option>-o</option> parameter, please consult the respective manual pages.</para>
<para><emphasis role="bold">FreeBSD:</emphasis> The full range of arguments available for <ulink url="man:/mount_smbfs"><citerefentry><refentrytitle>mount_smbfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> is supported. Please refer to its manual page for more information.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>{share}</term>
<listitem>
<para>The remote share that is to be mounted.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>{mountpoint}</term>
<listitem>
<para>The path where the share should be mounted to.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--help</term>
<listitem>
<para>Display a help screen and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--version</term>
<listitem>
<para>Display the version information and exit.</para>
</listitem>
</varlistentry>
</variablelist>
</simplesect>

<simplesect id="smb4k_mount_examples">
<title>Examples</title>
<para>Mount a share under Linux in normal user mode with the CIFS file system:</para>
<screen><prompt>$</prompt> <userinput><command>smb4k_mount</command> -n -t cifs -o user=USER,pass=PASSWD //SERVER/SHARE /mnt</userinput></screen>
<para>Mount a share under Linux in super user mode with the SMB file system:</para>
<screen><prompt>$</prompt> <userinput><command>sudo</command> <command>smb4k_mount</command> -s -t smbfs -o username=USER,password=PASSWD //SERVER/SHARE /mnt</userinput></screen>
<para>In the latter case an appropriate entry has to be present in the <filename>/etc/sudoers</filename> configuration file to make the command work. See the <ulink url="man:/sudoers"><citerefentry><refentrytitle>sudoers</refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> manual page for more information.</para>
</simplesect>

<simplesect id="smb4k_mount_author">
<title>Author</title>
<para><command>smb4k_mount</command> was written by Alexander Reinholdt <email>dustpuppy@users.berlios.de</email>.</para>
</simplesect>
</sect1>

<!-- smb4k_umount -->

<sect1 id="smb4k_umount">
<title>smb4k_umount</title>

<simplesect id="smb4k_umount_name">
<title>Name</title>
<para>smb4k_umount &#8212; unmount SMBFS and CIFS shares</para>
</simplesect>

<simplesect id="smb4k_umount_synopsis">
<title>Synopsis</title>
<para>
  <command>smb4k_umount</command>
  {<option>mode</option>}
  {<option>options</option>}
  {mountpoint}
  &nbsp;&nbsp;
  <emphasis>(Linux and similar)</emphasis>
</para>
<para>
  <command>smb4k_umount</command>
  {mountpoint}
  &nbsp;&nbsp;
  <emphasis>(FreeBSD)</emphasis>
</para>
<para>
  <command>smb4k_umount</command>
  <option>--help</option>
</para>
<para>
  <command>smb4k_umount</command>
  <option>--version</option>
</para>
</simplesect>

<simplesect id="smb4k_umount_description">
<title>Description</title>
<para><command>smb4k_umount</command> is the unmount utility of &smb4k;. It unmounts SMBFS and CIFS shares by invoking <ulink url="man:/smbumount"><citerefentry><refentrytitle>smbumount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/umount.cifs"><citerefentry><refentrytitle>umount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> in normal user mode and <ulink url="man:/umount"><citerefentry><refentrytitle>umount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> in super user mode. Under FreeBSD, always <ulink url="man:/umount"><citerefentry><refentrytitle>umount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> is used</para>
<para>This program is available since &smb4k; version 0.5.0.</para>
</simplesect>

<simplesect id="smb4k_umount_arguments">
<title>Arguments</title>
<variablelist>
<varlistentry>
<term>{mode}</term>
<listitem>
<para>This argument determines if <command>smb4k_umount</command> 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:</para>
<variablelist>
<varlistentry>
<term>
<option>--no-suid</option>
</term>
<listitem>
<para>Run <command>smb4k_umount</command> in normal user mode and thus let it invoke either <ulink url="man:/smbumount"><citerefentry><refentrytitle>smbumount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/umount.cifs"><citerefentry><refentrytitle>umount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>
depending on the choice the user made with the file system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--suid</option>
</term>
<listitem>
<para>Run <command>smb4k_umount</command> in super user mode and thus let it invoke <ulink url="man:/umount"><citerefentry><refentrytitle>umount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-n</option>
</term>
<listitem>
<para>The same as the <option>--no-suid</option> argument.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-s</option>
</term>
<listitem>
<para>The same as the <option>--suid</option> argument.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>{options}</term>
<listitem>
<variablelist>
<varlistentry>
<term>
<option>-t filesystem</option>
</term>
<listitem>
<para>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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-l</option>
</term>
<listitem>
<para>Perform a lazy unmount. This option is only available under Linux in super user mode. See the manual page of <ulink url="man:/umount"><citerefentry><refentrytitle>umount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> for more information. You need Linux kernel version 2.4.11 or later.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>{mountpoint}</term>
<listitem>
<para>The path where the share has been mounted to.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--help</term>
<listitem>
<para>Display a help screen and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--version</term>
<listitem>
<para>Display the version information and exit.</para>
</listitem>
</varlistentry>
</variablelist>
</simplesect>

<simplesect id="smb4k_umount_examples">
<title>Examples</title>
<para>Unmount a CIFS share (under Linux) with normal user privileges:</para>
<screen><prompt>$</prompt> <userinput><command>smb4k_umount</command> -n -t cifs /mnt</userinput></screen>
<para>Unmount a SMBFS share with super user privileges:</para>
<screen><prompt>$</prompt> <userinput><command>sudo</command> <command>smb4k_umount</command> -s -t smbfs /mnt</userinput></screen>
<para>In the latter case an appropriate entry has to be present in the <filename>/etc/sudoers</filename> configuration file to make the command work. See the <ulink url="man:/sudoers"><citerefentry><refentrytitle>sudoers</refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> manual page for more information.</para>
</simplesect>

<simplesect id="smb4k_umount_author">
<title>Author</title>
<para><command>smb4k_umount</command> was written by Alexander Reinholdt <email>dustpuppy@users.berlios.de</email>.</para>
</simplesect>
</sect1>

<!-- smb4k_kill -->

<sect1 id="smb4k_kill">
<title>smb4k_kill</title>

<simplesect id="smb4k_kill_name">
<title>Name</title>
<para>smb4k_kill &#8212; kill processes</para>
</simplesect>

<simplesect id="smb4k_kill_synopsis">
<title>Synopsis</title>
<para>
  <command>smb4k_kill</command>
  {pid}
</para>
<para>
  <command>smb4k_kill</command>
  <option>--help</option>
</para>
<para>
  <command>smb4k_kill</command>
  <option>--version</option>
</para>
</simplesect>

<simplesect id="smb4k_kill_description">
<title>Description</title>
<para><command>smb4k_kill</command> is the kill utility of &smb4k;. It kills processes by invoking the <ulink url="man:/kill"><citerefentry><refentrytitle>kill</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command.</para>
<para>This program is available since &smb4k; version 0.5.0, and a major change in its behavior happened in <command>smb4k_kill</command> 0.6 (i.e. in April 2007).</para>
</simplesect>

<simplesect id="smb4k_kill_arguments">
<title>Arguments</title>
<variablelist>
<varlistentry>
<term>{pid}</term>
<listitem>
<para>This is the ID of the process you want to kill.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--help</term>
<listitem>
<para>Display a help screen and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--version</term>
<listitem>
<para>Display the version information and exit.</para>
</listitem>
</varlistentry>
</variablelist>
</simplesect>

<simplesect id="smb4k_kill_examples">
<title>Example</title>
<para>Kill a process that is running with super user privileges:</para>
<screen><prompt>$</prompt> <userinput><command>super</command> <command>smb4k_kill</command> 1423</userinput></screen>
<para>An appropriate entry has to be present in the <filename>/etc/super.tab</filename> configuration file to make this command work. See the <ulink url="man:/super.tab"><citerefentry><refentrytitle>super.tab</refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> manual page for more information.</para>
</simplesect>

<simplesect id="smb4k_kill_author">
<title>Author</title>
<para><command>smb4k_kill</command> was written by Alexander Reinholdt <email>dustpuppy@users.berlios.de</email>.</para>
</simplesect>
</sect1>

<!-- smb4k_cat -->

<sect1 id="smb4k_cat">
<title>smb4k_cat</title>

<simplesect id="smb4k_cat_name">
<title>Name</title>
<para>smb4k_cat &#8212; write the contents of files to stdout</para>
</simplesect>

<simplesect id="smb4k_cat_synopsis">
<title>Synopsis</title>
<para>
  <command>smb4k_cat</command>
  {file}
</para>
<para>
  <command>smb4k_cat</command>
  <option>--help</option>
</para>
<para>
  <command>smb4k_cat</command>
  <option>--version</option>
</para>
</simplesect>

<simplesect id="smb4k_cat_description">
<title>Description</title>
<para><command>smb4k_cat</command> is a replacement of the <ulink url="man:/cat"><citerefentry><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command. It is part of &smb4k; and is used to read (text) files and put their contents to stdout.</para>
<para>This program is available since &smb4k; version 0.7.0.</para>
</simplesect>

<simplesect id="smb4k_cat_arguments">
<title>Arguments</title>
<variablelist>
<varlistentry>
<term>{file}</term>
<listitem>
<para>The (full) path of the file that should be printed to stdout.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--help</term>
<listitem>
<para>Display a help screen and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--version</term>
<listitem>
<para>Display the version information and exit.</para>
</listitem>
</varlistentry>
</variablelist>
</simplesect>

<simplesect id="smb4k_cat_examples">
<title>Example</title>
<para>Read a file and put its contents to stdout:</para>
<screen><prompt>$</prompt> <userinput><command>smb4k_cat</command> /etc/samba/smb.conf</userinput></screen>
</simplesect>

<simplesect id="smb4k_cat_author">
<title>Author</title>
<para><command>smb4k_cat</command> was written by Alexander Reinholdt <email>dustpuppy@users.berlios.de</email>.</para>
</simplesect>
</sect1>

<!-- smb4k_mv -->

<sect1 id="smb4k_mv">
<title>smb4k_mv</title>

<simplesect id="smb4k_mv_name">
<title>Name</title>
<para>smb4k_mv &#8212; move files and simulaneously change their permissions, UID and GID</para>
</simplesect>

<simplesect id="smb4k_mv_synopsis">
<title>Synopsis</title>
<para>
  <command>smb4k_mv</command>
  {<option>user:group</option>}
  {<option>permissions</option>}
  {source}
  {destination}
</para>
<para>
  <command>smb4k_mv</command>
  <option>--help</option>
</para>
<para>
  <command>smb4k_mv</command>
  <option>--version</option>
</para>
</simplesect>

<simplesect id="smb4k_mv_description">
<title>Description</title>
<para><command>smb4k_mv</command> is part of &smb4k; and is an utility to move files. It has the ability to change the user, group, and permissions of a file while moving it. Thus, it can be used as a replacement for a shell command construction like</para>
<screen><prompt>$</prompt> <userinput><command>chown</command> USER:GROUP FILE &amp;&amp; <command>chmod</command> PERMS FILE &amp;&amp; mv FILE DESTINATON</userinput></screen>
<para>This program is available since &smb4k; version 0.7.0.</para>
</simplesect>

<simplesect id="smb4k_mv_arguments">
<title>Arguments</title>
<variablelist>
<varlistentry>
<term>{user:group}</term>
<listitem>
<para>The user and group the file should have after it has been moved. You may specify the user and group either by the numeric user and group ID, by the user and group name, or by a mixture of both. Read the manual page of <ulink url="man:/chown"><citerefentry><refentrytitle>chown</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> for details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>{permissions}</term>
<listitem>
<para>The permissions the file should have after it has been moved. You have to specify them in <emphasis>numeric mode</emphasis> like described in the <ulink url="man:/chmod"><citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> manual page.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>{source}</term>
<listitem>
<para>The source file that is to be moved.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>{destination}</term>
<listitem>
<para>The destination where the source file will be moved to.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--help</term>
<listitem>
<para>Display a help screen and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--version</term>
<listitem>
<para>Display the version information and exit.</para>
</listitem>
</varlistentry>
</variablelist>
</simplesect>

<simplesect id="smb4k_mv_examples">
<title>Example</title>
<para>Move a file, set the user and group, and change the file permissions:</para>
<screen><prompt>$</prompt> <userinput><command>smb4k_mv</command> 1000:1000 0700 $HOME/test.txt $HOME/backup/test.txt</userinput></screen>
</simplesect>

<simplesect id="smb4k_mv_author">
<title>Author</title>
<para><command>smb4k_mv</command> was written by Alexander Reinholdt <email>dustpuppy@users.berlios.de</email>.</para>
</simplesect>
</sect1>
</chapter>


<!-- Trouble Shooting -->

<chapter id="trouble_shooting">
<title>Trouble Shooting</title>

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

<!-- Compilation & Installation -->

<sect1 id="trouble_shooting_compilation_installation">
<title>Compilation and Installation</title>

<itemizedlist id="trouble_shooting_list_compilation">

<listitem id="trouble_shooting_enable_final">
<para><emphasis role="bold">Problem:</emphasis> Compilation fails with an error similar to this one:
<screen>smb4kscanner.cpp:96: error: conflicting declaration 'Smb4KScannerPrivate p'
smb4kmounter.cpp:167: error: 'p' has a previous declaration as 'Smb4KMounterPrivate p'</screen></para>
<para><emphasis role="bold">Solution:</emphasis> Remove the <option>--enable-final</option> configure argument and reconfigure the source. This should fix the problem.</para>
<para><emphasis role="bold">Note:</emphasis> This issue only occurrs with versions prior to 0.9.0.</para>
</listitem>

<listitem id="trouble_shooting_libtool">
<para><emphasis role="bold">Problem:</emphasis> Compilation fails with the following error message:
<screen>libtool: link: cannot find the library &#96;&#39;</screen></para>
<para><emphasis role="bold">Solution:</emphasis> Replace the file <filename>admin/ltmain.sh</filename> by the one shipped with your libtool package. Run e.g.</para>
<screen><prompt>$</prompt> <userinput><command>locate</command> ltmain.sh &#124; <command>grep</command> libtool</userinput></screen>
<para>to find it.</para>
</listitem>

<listitem id="trouble_shooting_linker">
<para><emphasis role="bold">Problem:</emphasis> Installation fails with a linker error similar to this one:
<screen>/usr/bin/ld: cannot find -lsmb4kcore
libtool: install: error: relink `libsmb4kwidgets.la´ with the above command before installing it</screen></para>
<para><emphasis role="bold">Solution:</emphasis> One possibility to avoid this failure is to enable the building of static libraries during configuration:</para>
<screen><prompt>$</prompt> <userinput><command>./configure</command> --prefix=`<command>tde-config</command> --prefix` --enable-static</userinput></screen>
<para>This will convert the error into a warning and the installation will succeed.</para>
</listitem>

<listitem id="trouble_shooting_wrong_place">
<para><emphasis role="bold">Problem:</emphasis> After starting a self-compiled version of &smb4k;, the toolbar cannot be seen.</para>
<para><emphasis role="bold">Solution:</emphasis> 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</para>
<screen><prompt>$</prompt> <userinput><command>su</command> -c "<command>make</command> uninstall"</userinput></screen>
<para>from the shell. Please note that this will not work, if you ran
<screen><prompt>$</prompt> <userinput><command>make</command> distclean</userinput></screen>
in the meantime.</para>
<para>Reconfigure the source by passing the <option>--prefix=PREFIX</option> option to the configure script:</para>
<screen><prompt>$</prompt> <userinput><command>./configure</command> --prefix=`<command>tde-config</command> --prefix`</userinput></screen>
<para>Compile and install &smb4k; (see also <link linkend="appendix_compilation">here</link>):</para>
<screen><prompt>$</prompt> <userinput><command>make</command> &amp;&amp; <command>su</command> -c &quot;<command>make</command> install&quot;</userinput></screen>
<para>&smb4k; will be installed to the right path and everything should work fine.</para>
</listitem>

<listitem id="trouble_shooting_no_qt">
<para><emphasis role="bold">Problem:</emphasis> The configure script fails and complains about a missing Qt installation.</para>
<para><emphasis role="bold">Solution:</emphasis> There are two things that should check:</para>
<itemizedlist>
<listitem><para>Maybe the Qt header files are not installed. If this is the case, install them and run the configure script again.</para></listitem>
<listitem><para>The <envar>TQTDIR</envar> environment variable might not be set properly or at all. Make sure you export it in your shell's configuration file.</para>
<para>If you are using the bash, check for the following line in your <filename>~/.bashrc</filename> file</para>
<screen>export TQTDIR=PREFIX</screen>
<para>and add it, if it is not present. Replace PREFIX with the prefix of your Qt installation. Run</para>
<screen><prompt>$</prompt> <userinput><command>source</command> ~/.bashrc</userinput></screen>
<para>from the shell. Now, you're set for a second configuration attempt.</para></listitem>
</itemizedlist>
<para>If the header files are installed and the <envar>TQTDIR</envar> variable is set, but you still get the same error, you might want to try to pass the <option>--with-qt-includes=/path/to/header/files</option> option to the configure script.</para>
</listitem>

<listitem id="trouble_shooting_no_kde">
<para><emphasis role="bold">Problem:</emphasis> The configure script fails and complains about a missing &kde; installation.</para>
<para><emphasis role="bold">Solution:</emphasis> There are two things you should check:</para>
<itemizedlist>
<listitem><para>Maybe the &kde; header files are not installed. If this is the case, install them and run the configure script again.</para></listitem>
<listitem><para>The <envar>TDEDIR</envar> environment variable might not be set properly or at all. Make sure you export it in your shell's configuration file.</para>
<para>If you are using the bash, check for the following line in your <filename>~/.bashrc</filename> file</para>
<screen>export TDEDIR=PREFIX</screen>
<para>and add it, if it is not present. Replace PREFIX with the prefix of your &kde; installation. Run</para>
<screen><prompt>$</prompt> <userinput><command>source</command> ~/.bashrc</userinput></screen>
<para>from the shell. Now, you're set for a new configuration attempt.</para></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect1>

<!-- Browsing -->

<sect1 id="trouble_shooting_browsing">
<title>Browsing</title>

<itemizedlist id="trouble_shooting_list_browsing">

<listitem id="trouble_shooting_unfunc_browser">
<para><emphasis role="bold">Problem:</emphasis> There is nothing in the network browser.</para>
<para><emphasis role="bold">Solution:</emphasis> This problem may have several causes. Here is a list of common solutions:</para>
<itemizedlist>
<listitem><para>Include the 'interfaces' option in the [global] section of your <filename>smb.conf</filename>. It should include the interface(s) that is/are connected to your network neighborhood, e.g.</para>
<screen>interfaces = 192.168.1.1/24</screen>
<para>or alternatively</para>
<screen>interfaces = eth0</screen>
<para>You may also add the local interface</para>
<screen>interfaces = 192.168.1.1/24 127.0.0.1/8</screen>
<para>or alternatively</para>
<screen>interfaces = eth0 lo</screen>
<para>Samba allows a few more ways how to define the network interface(s) (see the <ulink url="man:/smb.conf">manual page</ulink>). However, we recommend that you use the IP/mask pair (e.g. 192.168.1.1/24).</para>
</listitem>
<listitem><para>Add the WINS server of your network neighborhood &#8212; if available &#8212; to the [global] section of your <filename>smb.conf</filename>:</para>
<screen>wins server = 192.168.1.1</screen>
<para>Replace the above IP address with the one of your WINS server.</para></listitem>
<listitem><para>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 <link linkend="trouble_shooting_suse_firewall">below</link>.</para></listitem>
<listitem><para>Use a different look-up method. Therefore, change the settings under <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &smb4k;...</guimenuitem><guimenuitem>Network</guimenuitem><guimenuitem>Browse List</guimenuitem></menuchoice>.</para></listitem>
</itemizedlist>
<para>After having applied a change to the <filename>smb.conf</filename>, please do not forget to restart Samba and &smb4k;. Check if your problem disappeared. If nothing helps, please ask for assistance on the <ulink url="https://lists.berlios.de/mailman/listinfo/smb4k-general">Smb4K-general mailing list</ulink> or file a <ulink url="http://developer.berlios.de/bugs/?group_id=769" >bug report</ulink>.</para>
</listitem>

<listitem id="trouble_shooting_suse_firewall">
<para><emphasis role="bold">Problem:</emphasis> The browser window is empty when SUSE's firewall is running.</para>
<para><emphasis role="bold">Solution:</emphasis> Have a look at <ulink url="http://www.novell.com/coolsolutions/feature/11952.html"><emphasis>Novell Cool Solutions</emphasis></ulink> or replace your firewall (recommended).</para>
</listitem>

<listitem id="trouble_shooting_selinux">
<para><emphasis role="bold">Problem:</emphasis> When using SELinux, the workgroup/domain only contains the master browser.</para>
<para><emphasis role="bold">Solution:</emphasis> Set SELinux to 'permissive'.</para>
</listitem>

<listitem id="trouble_shooting_no_shares_displayed">
<para><emphasis role="bold">Problem:</emphasis> When opening a (certain) Windows server, its shares are not displayed.</para>
<para><emphasis role="bold">Solution:</emphasis> As of version 0.6.0, &smb4k; uses the <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> 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 <link linkend="mainwindow_network_custom">custom options dialog</link> (recommended) or directly in the <link linkend="configuration_samba_net_protocol">configuration dialog</link>.</para>
<para><emphasis role="bold">Note:</emphasis> This does not apply to versions prior to 0.6.0, because they use the RAP protocol based <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command to retrieve the browse list.</para>
</listitem>

<listitem id="trouble_shooting_special_chars_browser">
<para><emphasis role="bold">Problem:</emphasis> Special characters (accents, umlauts, etc.) are not displayed correctly.</para>
<para><emphasis role="bold">Solution:</emphasis> For a solution see <link linkend="trouble_shooting_special_chars">here</link>.</para>
</listitem>
</itemizedlist>
</sect1>

<!-- Mounting & Unmounting -->

<sect1 id="trouble_shooting_mounting_unmounting">
<title>Mounting and Unmounting of Shares</title>

<itemizedlist id="trouble_shooting_list_mounting">

<listitem id="trouble_shooting_no_mounting">
<para><emphasis role="bold">Problem:</emphasis> Mounting a share fails without any error message being displayed. The share is only shown for a few seconds and then vanishes.</para>
<para><emphasis role="bold">Solution:</emphasis> 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 <link linkend="trouble_shooting_mount_cifs">here</link> (CIFS) or <link linkend="trouble_shooting_smbmnt">here</link> (SMBFS) for a solution.</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_mount_cifs">
<para><emphasis role="bold">Problem:</emphasis> Using the CIFS file system, mounting fails with the following error message:
<screen><errortext>mount error 1 = Operation not permitted
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> There are two possible causes for this:</para>
<orderedlist>
<listitem>
<para>You are trying to use <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> 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:
<screen><prompt>$</prompt> <userinput><command>chmod</command> +s &#096;<command>which</command> mount.cifs&#096;</userinput></screen></para>
</listitem>
<listitem>
<para>It has been reported that <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> fails if the <emphasis>Samba</emphasis> server uses the</para>
<screen>security = share</screen>
<para>option instead of</para>
<screen>security = user</screen>
<para>Change the settings on the server.</para>
</listitem>
</orderedlist>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_smbmnt">
<para><emphasis role="bold">Problem:</emphasis> Using the SMBFS file system, mounting fails with this error message:
<screen><errortext>smbmnt must be installed suid root for direct user mounts (500,500)
smbmnt failed: 1</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> The cause of this error is that you do not have enough permissions to mount SMB shares. There are two things you can do:</para>
<orderedlist>
<listitem>
<para>Set the SUID root bit for smbmnt. Execute this command in the shell:</para>
<screen><prompt>$</prompt> <userinput><command>chmod</command> +s `<command>which</command> smbmnt`</userinput></screen>
<para>Under normal circumstances this should fix the problem.</para>
<para><emphasis role="bold">Warning:</emphasis> Do not set the SUID root bit for <ulink url="man:/smbmount"><citerefentry><refentrytitle>smbmount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>. Otherwise mounting will fail with the following error message:</para>
<para><screen><errortext>libsmb based programs must *NOT* be setuid root.
6002: Connection to &#060;HOSTNAME&#062; failed
SMB connection failed
</errortext></screen></para>
</listitem>
<listitem>
<para>Execute <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/umount"><citerefentry><refentrytitle>umount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> with super user privileges using the program <ulink url="man:/super"><citerefentry><refentrytitle>super</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> (since &smb4k; 0.4.0) or <ulink url="man:/sudo"><citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> (since &smb4k; 0.5.0). To enable this feature, you have to go to <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &smb4k;...</guimenuitem><guimenuitem>Super User</guimenuitem></menuchoice> and adjust the settings.</para>
</listitem>
</orderedlist>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_mounting_w2k3">
<para><emphasis role="bold">Problem:</emphasis> Mounting a share from a Windows 2003 server fails with this error message:
<screen><errortext>cli_negprot: SMB signing is mandatory and we have disabled it.
4377: protocol negotiation failed
SMB connection failed</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> 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 <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &smb4k;...</guimenuitem><guimenuitem>Samba</guimenuitem><guimenuitem>File System</guimenuitem></menuchoice> and choose <guilabel>CIFS</guilabel> instead of <guilabel>SMBFS</guilabel>. Depending on the configuration of your system, you might also need to enable the "<guilabel>Use super user privileges to mount and unmount shares</guilabel>" option under <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &smb4k;...</guimenuitem><guimenuitem>Super User</guimenuitem><guimenuitem>Actions</guimenuitem></menuchoice>. Alternatively, you can set the SUID root bit for <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> (and <ulink url="man:/umount.cifs"><citerefentry><refentrytitle>umount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>).</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_mounting_special_chars">
<para><emphasis role="bold">Problem:</emphasis> Mounting a share that contains special characters in the name (e.g. umlauts) with the CIFS file system fails with the following error message:</para>
<para><screen><errortext>mount error 6 = No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> Please follow the instructions given <link linkend="trouble_shooting_special_chars">here</link>. Alternatively, you can try to explicitly define the correct Linux charset in the configuration dialog (see <link linkend="configuration_samba_mount_char">here</link>).</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_mounting_sudo">
<para><emphasis role="bold">Problem:</emphasis> When using <ulink url="man:/sudo"><citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and the CIFS file system, mounting fails with the following error message:</para>
<para><screen><errortext>mount error 13 = Permission denied
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> It is very possible, that the 'env_reset' flag has been set in the <filename>/etc/sudoers</filename> 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 <envar>PASSWD</envar> variable is removed that is needed by &smb4k;. To make mounting work, there are three things you can do alternatively:</para>
<itemizedlist>
<listitem><para>Manually insert the following line after the statement beginning with "User_Alias SMB4KUSERS":</para>
<screen>Defaults:SMB4KUSERS env_keep=PASSWD</screen>
<para>This is the preferred method on a multi-user system.</para></listitem>
<listitem><para>Remove the &smb4k; user entries from <filename>/etc/sudoers</filename> and rewrite them using &smb4k; (>= 0.6.4).</para></listitem>
<listitem><para>Comment out the 'env_reset' variable (not recommended).</para></listitem>
</itemizedlist>
<para>If you are still not able to mount a share, please file a <ulink url="http://developer.berlios.de/bugs/?group_id=769" >bug report</ulink>.</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_mounting_cifs_ids">
<para><emphasis role="bold">Problem:</emphasis> When using the CIFS file system, &smb4k; does not seem to care about the UID and GID that was set in the configuration dialog.</para>
<para><emphasis role="bold">Solution:</emphasis> This is a Samba feature. If the target server supports the CIFS Unix extensions, the <option>uid=UID</option> and <option>gid=GID</option> option is ignored. For more information see the <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle>
<manvolnum>8</manvolnum></citerefentry></ulink> manual page.</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_unmounting_smbumount">
<para><emphasis role="bold">Problem:</emphasis> Unmounting a share fails with an error message similar to this one:</para>
<para><screen><errortext>smbumount must be installed suid root</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> You do not have enough permissions to unmount SMB shares. To fix this problem you can either set the SUID root bit for <ulink url="man:/smbumount"><citerefentry><refentrytitle>smbumount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or enable the feature "<guilabel>Use super user privileges to mount and unmount shares</guilabel>" under <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &smb4k;...</guimenuitem><guimenuitem>Super User</guimenuitem><guimenuitem>Actions</guimenuitem></menuchoice>. For more information you might want to read <link linkend="trouble_shooting_smbmnt">this entry</link>, too.</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_unmounting_resource_busy">
<para><emphasis role="bold">Problem:</emphasis> Unmounting a share fails with the following error message:</para>
<para><screen><errortext>Could not unmount &#060;PATH&#062;: Device or resource busy</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> 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) tdeinit background processes access files and/or directories of the share and keep them open (&kde; &#060; 3.4). Unmounting is not possible unless you send
<screen><prompt>$</prompt> <userinput><command>kill</command> -HUP PID</userinput></screen>
to each tdeinit instance that has access to the share or its files. Replace PID by the pid of the tdeinit instance. You can find it out by using e. g. &ksysguard;.</para>
<para>Alternatively, you can force the unmounting of the share (not recommended). Highlight the share and use the <menuchoice><guimenu>Shares</guimenu><guimenuitem>Force Unmounting</guimenuitem></menuchoice> menu item or press <keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo>.</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem  id="trouble_shooting_special_chars">
<para><emphasis role="bold">Problem:</emphasis> Special characters (accents, umlauts, etc.) are not displayed correctly.</para>
<para><emphasis role="bold">Solution:</emphasis> Make sure the following options are set to the correct values in the [global] section of the <ulink url="man:/smb.conf"><citerefentry><refentrytitle><filename>smb.conf</filename></refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> of each Samba server and client:
<screen>
dos charset = VAL1
unix charset = VAL2
display charset = VAL3
</screen></para>
<para>Replace VAL1, VAL2, VAL3 with the correct values. Read the <ulink url="man:/smb.conf">manual page</ulink> for more information.</para>
<para><emphasis role="bold">Note:</emphasis> Linux and similar operating systems</para>
</listitem>

<listitem id="trouble_shooting_mounting_mount_smbfs_failure_1">
<para><emphasis role="bold">Problem:</emphasis> Mounting a share fails with the following error message:</para>
<para><screen><errortext>mount_smbfs: kldload(smbfs): Operation not permitted</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> Use <ulink url="man:/sudo"><citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/super"><citerefentry><refentrytitle>super</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to gain super user privileges for mounting (see section <link linkend="configuration_superuser_actions">The <guilabel>Super User</guilabel> Tab</link>). The error occurs, because only root is allowed to load kernel modules.</para>
<para><emphasis role="bold">Note:</emphasis> FreeBSD only</para>
</listitem>

<listitem id="trouble_shooting_mounting_mount_smbfs_failure_2">
<para><emphasis role="bold">Problem:</emphasis> Mounting a share fails with the following error message:</para>
<para><screen><errortext>mount_smbfs: can not setup kernel iconv table
(ISO8859-1:tolower): syserr = Operation not permitted</errortext></screen></para>
<para><emphasis role="bold">Solution:</emphasis> Most likely, this error occurs after you decided to not use <ulink url="man:/sudo"><citerefentry><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> or <ulink url="man:/super"><citerefentry><refentrytitle>super</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to mount a share anymore. Since only root is allowed to set up the kernel's iconv table, you should use one of these programs to gain super user privileges for mounting (see section <link linkend="configuration_superuser_actions">The <guilabel>Super User</guilabel> Tab</link>).</para>
<para><emphasis role="bold">Note:</emphasis> FreeBSD only</para>
</listitem>
</itemizedlist>
</sect1>

<!-- FAQ: Miscellaneous -->

<sect1 id="trouble_shooting_misc">
<title>Miscellaneous</title>

<itemizedlist>
<listitem id="trouble_shooting_misc_konqplugin">
<para><emphasis role="bold">Problem:</emphasis> 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?</para>
<para><emphasis role="bold">Solution:</emphasis> The procedure to add the &konqueror; plugin is described in detail <link linkend="konqplugin">here</link>.</para>
</listitem>

<listitem id="trouble_shooting_misc_kde_upgrade">
<para><emphasis role="bold">Problem:</emphasis> After a KDE upgrade &smb4k; does not work anymore.</para>
<para><emphasis role="bold">Solution:</emphasis> 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 <ulink url="https://lists.berlios.de/mailman/listinfo/smb4k-general">Smb4K-general mailing list</ulink>.</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>

<!-- Reporting bugs -->

<chapter id="reporting_bugs">
<title>Reporting Bugs</title>

<para>Before considering to file a bug report, please read the <link linkend="trouble_shooting">Trouble Shooting</link> section. Many common problems are already covered there. Also, try the <ulink url="http://developer.berlios.de/project/showfiles.php?group_id=769">latest version</ulink> of &smb4k;. Maybe your problem has already been fixed.</para>
<para>Please follow these directions for your bug report:</para>
<itemizedlist>
<listitem><para>Describe <emphasis>in detail</emphasis> what you did to receive the problem you are reporting.</para></listitem>
<listitem><para>Provide the version of &smb4k; and &kde;.</para></listitem>
<listitem><para>Mention your operating system (Linux, FreeBSD, etc.) and the distribution that is running on your computer.</para></listitem>
<listitem><para>Include the full error message if an error dialog was displayed.</para></listitem>
<listitem><para>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.</para></listitem>
</itemizedlist>
<para>The recommended method to report a bug is to go to our <ulink url="http://developer.berlios.de/bugs/?group_id=769">bug tracking system</ulink> and fill out the form. But you can also use the dialog that opens when you click the <menuchoice><guimenu>Help</guimenu><guimenuitem>Report Bug...</guimenuitem></menuchoice> menu item.</para>
</chapter>


<!-- Credits and License -->

<chapter id="credits" >
<title>Credits and License</title>

<para>Copyright (c) 2003 - 2007, Alexander Reinholdt <email>dustpuppy@users.berlios.de</email></para>
<para>Copyright (c) 2004 -2007, Massimo Callegari <email>massimocallegari@yahoo.it</email></para>
<para>Copyright (c) 2004, Franck Babin <email>babinfranck@yahoo.ca</email></para>
&underGPL;
<para>This documentation is licensed under the terms of the <ulink url="common/gpl-license.html">GNU General Public License</ulink>.</para>

<simplesect>
<title>Developers (active and retired)</title>
<itemizedlist>
<listitem><para>Alexander Reinholdt <email>dustpuppy@users.berlios.de</email></para></listitem>
<listitem><para>Massimo Callegari<email>massimocallegari@yahoo.it</email></para></listitem>
<listitem><para>Franck Babin <email>babinfranck@yahoo.ca</email></para></listitem>
</itemizedlist>
</simplesect>

<simplesect>
<title>Translators (active and retired)</title>
<itemizedlist>
<listitem><para><emphasis role="bold">Brazilian Portuguese:</emphasis> Giovanni Degani <email>tiefox@terra.com.br</email>, Lamarque V. Souza <email>lamarque_souza@hotmail.com</email></para></listitem>
<listitem><para><emphasis role="bold">Bulgarian:</emphasis> Atanas Mavrov <email>bugar@developer.bg</email></para></listitem>
<listitem><para><emphasis role="bold">Catalan:</emphasis> Leopold Palomo Avellaneda <email>lepalom@wol.es</email></para></listitem>
<listitem><para><emphasis role="bold">Czech:</emphasis> Alois Ne&#353;por <email>alois.nespor@seznam.cz</email></para></listitem>
<listitem><para><emphasis role="bold">Chinese Simplified (zh_CN):</emphasis> Nick Chen <email>nick_chen75@hotmail.com</email></para></listitem>
<listitem><para><emphasis role="bold">Chinese Traditional (zh_TW):</emphasis> Jack Liu <email>chuany@chuany.net</email>, Wei-Lun Chao <email>chaoweilun@users.berlios.de</email></para></listitem>
<listitem><para><emphasis role="bold">Danish:</emphasis> Michael Brinkloev <email>mhb@qxp.dk</email></para></listitem>
<listitem><para><emphasis role="bold">Dutch:</emphasis> Joop Beris <email>jberis@risse.nl</email></para></listitem>
<listitem><para><emphasis role="bold">French:</emphasis> Nicolas Ternisien <email>nicolast@libertysurf.fr</email></para></listitem>
<listitem><para><emphasis role="bold">German:</emphasis> Alexander Reinholdt <email>dustpuppy@users.berlios.de</email></para></listitem>
<listitem><para><emphasis role="bold">Hungarian:</emphasis> Karoly Barcza <email>kbarcza@blackpanther.hu</email></para></listitem>
<listitem><para><emphasis role="bold">Icelandic:</emphasis> Arnar Le&#243;sson <email>leosson@frisurf.no</email></para></listitem>
<listitem><para><emphasis role="bold">Italian:</emphasis> Isidoro Russo <email>risidoro@aliceposta.it</email></para></listitem>
<listitem><para><emphasis role="bold">Japanese:</emphasis> Toyohiro Asukai <email>toyohiro@ksmplus.com</email></para></listitem>
<listitem><para><emphasis role="bold">Norwegian (Bookmal &amp; Nynorsk):</emphasis> Nils Kristian Tomren <email>project@nilsk.net</email></para></listitem>
<listitem><para><emphasis role="bold">Polish:</emphasis> Rados&#322;aw Zawartko <email>radzaw@lnet.szn.pl</email>, Jerzy Trzeciak <email>artusek@wp.pl</email></para></listitem>
<listitem><para><emphasis role="bold">Russian:</emphasis> Stanislav Yudin <email>decvar@mail.berlios.de</email></para></listitem>
<listitem><para><emphasis role="bold">Slovak:</emphasis> Michal &#352;ulek <email>reloadshot@atlas.sk</email></para></listitem>
<listitem><para><emphasis role="bold">Swedish:</emphasis> Marc Hansen <email>marc.hansen@gmx.de</email></para></listitem>
<listitem><para><emphasis role="bold">Spanish:</emphasis> Quique <email>quique@sindominio.net</email>, Mart&#237;n Carr <email>tincarr@gmail.com</email></para></listitem>
<listitem><para><emphasis role="bold">Turkish:</emphasis> G&ouml;rkem &#199;etin <email>gorkem@gorkemcetin.com</email>, Serdar Soytetir <email>sendirom@gmail.com</email></para></listitem>
<listitem><para><emphasis role="bold">Ukrainian:</emphasis> Ivan Petrouchtchak <email>iip@telus.net</email></para></listitem>
</itemizedlist>
</simplesect>

<simplesect>
<title>Special Thanks</title>
<para>The &smb4k; team would like to thank everyone who contibuted by sending patches. Also, a big "Thank you!" goes to Rashid N. Achilov <email>shelton@sentry.granch.ru</email>, who convinced us to port &smb4k; to FreeBSD and helped us a great deal to achieve this goal.</para>
</simplesect>
</chapter>


<!-- Appendix -->

<appendix id="appendix_installation" >
<title>Installation</title>

<sect1 id="appendix_getting_smb4k" >
<title>How to obtain &smb4k;</title>
<para>The latest stable release is available at <ulink url="http://developer.berlios.de/projects/smb4k/">http://developer.berlios.de/projects/smb4k/</ulink>.</para>
</sect1>

<sect1 id="appendix_requirements" >
<title>Requirements</title>

<para>&smb4k; officially supports Linux (>= 2.2.x) and FreeBSD (>= 4.10). It might also run on other Unix systems.</para>
<para>If you want to compile &smb4k; from source, a standard &kde; installation (3.3.0 or later) including the header files is needed. </para>
<para>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 <filename class="directory">/proc</filename> file system compiled into your kernel.</para>
<para>To enable full functionality, you should also install super and/or sudo, a TeX software distribution (for dvips), GNU enscript, and rsync.</para>
<para>&smb4k; uses about 20 MB of memory to run, but this may vary depending on your platform and configuration.</para>
<para>Links to all required libraries and programs as well as &smb4k; itself can be found on <ulink url="http://smb4k.berlios.de" >the &smb4k; home page</ulink>.</para>
<para>The list of changes can be found in the <filename>ChangeLog</filename> file.</para>
</sect1>

<sect1 id="appendix_compilation" >
<title>Compilation and Installation</title>
<sect2 id="appendix_compilation_full_install">
<title>Full Installation</title>
<para>This section describes a full installation of &smb4k;. Please note that you might have to adjust the <command>./configure</command> command to match the installation paths of your distribution (e.g. Debian, Ubuntu).</para>
<orderedlist>
<listitem><para>Change into the root directory of the source code: <screen><prompt>$</prompt> <userinput><command>cd</command> smb4k-x.x.x</userinput></screen> (Replace x.x.x with the version number)</para></listitem>
<listitem><para>Configure the source code with at least the following command: <screen><prompt>$</prompt> <userinput><command>./configure</command> --prefix=`<command>tde-config</command> --prefix`</userinput></screen> Several more options can be added. Run <screen><prompt>$</prompt> <userinput><command>./configure</command> --help</userinput></screen> to find out which ones are available.</para></listitem>
<listitem><para>Compile the source code: <screen><prompt>$</prompt> <userinput><command>make</command></userinput></screen></para></listitem>
<listitem><para>Install the application. For that, become root <screen><prompt>$</prompt> <userinput><command>su</command></userinput></screen> and run <screen><prompt>$</prompt> <userinput><command>make</command> install</userinput></screen> 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 <screen><prompt>$</prompt> <userinput><command>checkinstall</command></userinput></screen> instead.</para></listitem>
</orderedlist>
</sect2>
<sect2 id="appendix_compilation_without_konqplugin">
<title>Installation without Konqueror Plugin</title>
<para>If you are not interested in the &konqueror; plugin that comes with &smb4k;, you should configure the source code as follows:
<screen><prompt>$</prompt> <userinput><command>./configure</command> --prefix=`<command>tde-config</command> --prefix` --without-konqplugin</userinput></screen>
The procedure to compile and install the application is the same as mentioned above.</para>
</sect2>
</sect1>

<sect1 id="appendix_debugging">
<title>Debugging the Source Code</title>
<para>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 <link linkend="appendix_compilation">Compilation and Installation</link> section except that you need to modify the configure command slightly:</para>
<screen><prompt>$</prompt> <userinput><command>./configure</command> --prefix=`<command>tde-config</command> --prefix` --enable-debug=full</userinput></screen>
<para>Now compile and install the program as stated <link linkend="appendix_compilation">before</link>. 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 <filename role="directory">smb4k</filename> subdirectory and run:</para>
<screen><prompt>$</prompt> <userinput><command>./smb4k</command> --nofork</userinput></screen>
<para>If you found the cause for a bug, please let us know. A backtrace or a patch will be much appreciated.</para>
</sect1>
</appendix>

</book>
