<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;

  <!ENTITY wicd-download-http "http://launchpad.net/wicd/&wicd-major-version;/&wicd-version;/+download/wicd-&wicd-version;.tar.gz">
  <!ENTITY wicd-download-ftp  " ">
  <!ENTITY wicd-md5sum        "162ca2e6f4ab903bb7ab2bc0adb7d1aa">
  <!ENTITY wicd-size          "532 KB">
  <!ENTITY wicd-buildsize     "4.1 MB">
  <!ENTITY wicd-time          "less than 0.1 SBU">
]>

<sect1 id="wicd" xreflabel="Wicd-&wicd-version;">
  <?dbhtml filename="wicd.html"?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-03-01 20:45:33 -0500 (Sun, 01 Mar 2015) $</date>
  </sect1info>

  <title>Wicd-&wicd-version;</title>

  <indexterm zone="wicd">
    <primary sortas="a-wicd">wicd</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to Wicd</title>

    <para><application>Wicd</application> is a network manager written in
    Python.  It simplifies network setup by automatically detecting and
    connecting to wireless and wired networks. Wicd includes support for WPA
    authentication and DHCP configuration. It provides Curses- and GTK-based
    graphical frontends for user-friendly control. An excellent KDE-based
    frontend is also available <ulink
    url="http://projects.kde.org/projects/extragear/network/wicd-kde">here</ulink>.
    </para>

    &lfs77_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>Download (HTTP): <ulink url="&wicd-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&wicd-download-ftp;"/></para>
      </listitem>
      <listitem>
        <para>Download MD5 sum: &wicd-md5sum;</para>
      </listitem>
      <listitem>
        <para>Download size: &wicd-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &wicd-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &wicd-time;</para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">Wicd Dependencies</bridgehead>

    <note><para>Wicd uses <command>ifconfig</command> to activate network
    connections. <command>ifconfig</command> is provided by both the Inetutils
    and Net-tools packages. The Inetutils package is part of LFS, but the
    <command>ifconfig</command> command is not installed by the LFS instructions.
    If you choose to install the Inetutils version of <option>ifconfig</option>,
    you need to reinstall the package and configure it without the
    <option>--disable-ifconfig</option> switch.
    </para></note>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
    <xref linkend="python2"/>,
    <xref linkend="dbus-python"/>,
    <xref linkend="wireless_tools"/>, and
    <xref linkend="net-tools"/> (Wicd needs <command>ifconfig</command> and
    <command>mii-tool</command> from this package)
    </para>

    <bridgehead renderas="sect4">Recommended</bridgehead>
    <para role="recommended">
    <xref linkend="pygtk"/> (for the GTK frontend),
    <xref linkend="wpa_supplicant"/> (for WPA support), and
    <xref linkend="dhcpcd"/> or <xref linkend="dhcp"/> (for DHCP support)
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
    <xref linkend="pm-utils"/> (for suspend/resume integration),
    <ulink url="http://excess.org/urwid/">Urwid</ulink> (for the Curses-based frontend), and
    <ulink url="http://babel.edgewall.org/">Babel</ulink> (for internationalization)
    </para>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/wicd"/></para>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Wicd</title>

    <para>Install <application>Wicd</application> by running the following
    commands:</para>

<screen><userinput>sed -e "/wpath.logrotate\|wpath.systemd/d" \
    -e "/detection failed/ a\                self.init=\'init\/default\/wicd\'" \
    -i setup.py                                     &amp;&amp;
rm po/*.po                                          &amp;&amp;

python setup.py configure --no-install-kde     \
                          --no-install-acpi    \
                          --no-install-pmutils \
                          --no-install-init    \
                          --no-install-gnome-shell-extensions \
                          --docdir=/usr/share/doc/wicd-&wicd-version;</userinput></screen>

    <para>This package does not come with a test suite.</para>

    <para>Now, as the <systemitem class="username">root</systemitem> user, install the package:</para>

<screen role="root"><userinput>LANG=C python setup.py install</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para><command>sed -e ... -i setup.py</command>: The first command in this
    <command>sed</command> prevents installation of
    <command>logrotate</command> and systemd configuration files. You may omit
    it if you use these utilities. The second command in this
    <command>sed</command> fixes buildng with BLFS
    <quote>distro</quote>.</para>

    <para><command>rm po/*.po</command>: This command removes the international
    messages associated with this package.  The command is required unless
    Babel is installed.  If it is installed, po/ast.po still needs to be removed
    in order for the build to complete.</para>

    <para><option>--no-install-kde</option>: Prevent installation of an
    autostart desktop file for KDE. If you use KDE, you should instead install the
    <ulink url="http://projects.kde.org/projects/extragear/network/wicd-kde">Wicd KDE Client</ulink>.
    </para>

    <para><option>--no-install-acpi</option>: Prevent installation of
    <command>suspend</command> and <command>resume</command> scripts for acpid.
    Omit this option if you use acpid.</para>

    <para><option>--no-install-pmutils</option>: Prevent installation of hooks for
    pm-utils. Omit this option if you use pm-utils.</para>

    <para><option>--no-install-init</option>: Prevent installation of any init scripts,
    as a bootscript is installed later in the instructions.</para>

    <para><option>--no-install-gnome-shell-extensions</option>: Prevent
    installation of the respective extensions. Remove this switch, if you are
    using Gnome Shell.</para>

    <para><option>--wicdgroup=<replaceable>&lt;group&gt;</replaceable></option>:
    The group that will have permission to use the Wicd client (default is the
    <systemitem class="groupname">users</systemitem> group).</para>

    <para><envar>LANG=C</envar>: This envronment variable is needed to allow
    the installation to complete.</para>

  </sect2>

    <sect2 role="configuration">
    <title>Configuring Wicd</title>

    <sect3 id="wicd-config">
      <title>Config Files</title>

      <para><filename>/etc/wicd/manager-settings.conf</filename>,
      <filename>/etc/wicd/wired-settings.conf</filename> and
      <filename>/etc/wicd/wireless-settings.conf</filename></para>

    </sect3>

    <sect3 id="wicd-init">
      <title>Configuration Information</title>

      <para>To automatically start Wicd at boot time, you need to first install
      the Wicd bootscript,
      <filename>/etc/rc.d/init.d/wicd</filename>,
      included in the <xref linkend="bootscripts"/> package
      (as user <systemitem class="username">root</systemitem>):</para>

      <indexterm zone="wicd wicd-init">
        <primary sortas="f-wicd">wicd (bootscript)</primary>
      </indexterm>

      <screen role='root'><userinput>make install-wicd</userinput></screen>

      <para>Since Wicd will now handle all configuration of network devices,
      the network bootscript installed by LFS should be disabled. This can be
      achieved by either removing any <filename>S*network</filename> and
      <filename>K*network</filename> symlinks in the <filename>/etc/rc*.d</filename>
      directories or by setting <literal>ONBOOT=no</literal> in any
      <filename>/etc/sysconfig/ifconfig.*</filename> files.</para>

      <para>No manual configuration of Wicd is needed if you use the graphical
      frontends. If you are only going to use Wicd from command-line, you can configure
      it using the configuration files in <filename>/etc/wicd</filename>. For a list of
      available options, look at the man-pages for: wicd-manager-settings.conf,
      wicd-wired-settings.conf and wicd-wireless-settings.conf.</para>

      <para>Be sure to add all users who are to have rights to open and close network
      connections with Wicd to the <systemitem class="groupname">users</systemitem>
      group (or the group specified with the <option>--wicdgroup</option> configuration
      option).</para>

    </sect3>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>wicd, wicd-cli, wicd-client, wicd-curses, and wicd-gtk</seg>
        <seg>none</seg>
        <seg>/etc/wicd, /usr/lib/python&python2-majorver;/site-packages/wicd,
        /usr/share/doc/wicd-&wicd-version;, /usr/share/pixmaps/wicd,
        /usr/share/wicd, /var/lib/wicd, /var/log/wicd, and /var/run/wicd</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="wicdd">
        <term><command>wicd</command></term>
        <listitem>
          <para>is the wicd daemon.</para>
          <indexterm zone="wicd wicdd">
            <primary sortas="b-wicdd">wicd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="wicd-cli">
        <term><command>wicd-cli</command></term>
        <listitem>
          <para>is a command line interface for configuring the wicd daemon.</para>
          <indexterm zone="wicd wicd-cli">
            <primary sortas="b-wicd-cli">wicd-cli</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="wicd-client">
        <term><command>wicd-client</command></term>
        <listitem>
          <para>is the wicd client. This script attempts to automatically choose
          the relevant configuration interface.</para>
          <indexterm zone="wicd wicd-client">
            <primary sortas="b-wicd-client">wicd-client</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="wicd-curses">
        <term><command>wicd-curses</command></term>
        <listitem>
          <para>is a curses interface for configuring the wicd daemon.</para>
          <indexterm zone="wicd wicd-curses">
            <primary sortas="b-wicd-curses">wicd-curses</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="wicd-gtk">
        <term><command>wicd-gtk</command></term>
        <listitem>
          <para>is a GTK interface for configuring the wicd daemon</para>
          <indexterm zone="wicd wicd-gtk">
            <primary sortas="b-wicd-gtk">wicd-gtk</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
