<?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 screen-download-http "http://ftp.gnu.org/gnu/screen/screen-&screen-version;.tar.gz">
  <!ENTITY screen-download-ftp "ftp://ftp.gnu.org/gnu/screen/screen-&screen-version;.tar.gz">
  <!ENTITY screen-md5sum "419a0594e2b25039239af8b90eda7d92">
  <!ENTITY screen-size "1.1 MB">
  <!ENTITY screen-buildsize "8.2 MB">
  <!ENTITY screen-time "0.2 SBU">
]>

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

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-02-20 22:16:55 -0500 (Fri, 20 Feb 2015) $</date>
  </sect1info>

  <title>Screen-&screen-version;</title>

  <indexterm zone="screen">
    <primary sortas="a-Screen">Screen</primary>
  </indexterm>

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

    <para><application>Screen</application> is a terminal multiplexor that
    runs several separate processes, typically interactive shells, on a single
    physical character-based terminal. Each virtual terminal emulates a DEC
    VT100 plus several ANSI X3.64 and ISO 2022 functions and also provides
    configurable input and output translation, serial port support,
    configurable logging, multi-user support, and many character encodings,
    including UTF-8. Screen sessions can be detached and resumed
    later on a different terminal.</para>

    &lfs77_checked;

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

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

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional"><xref linkend="linux-pam"/></para>

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

  </sect2>

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

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

<screen><userinput>./configure --prefix=/usr                     \
            --infodir=/usr/share/info         \
            --mandir=/usr/share/man           \
            --with-socket-dir=/run/screen     \
            --with-pty-group=5                \
            --with-sys-screenrc=/etc/screenrc &amp;&amp;

sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/* &amp;&amp;
make</userinput></screen>

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

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

<screen role="root"><userinput>make install &amp;&amp;
install -m 644 etc/etcscreenrc /etc/screenrc</userinput></screen>

  </sect2>

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

    <para><parameter>--with-socket-dir=/run/screen</parameter>: This option
    places the per-user sockets in a standard location.</para>

    <para><parameter>--with-sys-screenrc=/etc/screenrc</parameter>: This option
    places the global screenrc file in <filename
    class='directory'>/etc</filename>.  </para>

    <para><parameter>--with-pty-group=5</parameter>: This option sets the gid
    to the value used by LFS.</para>

    <note><para>Older versions of LFS use the value 4 for the tty group. If
    you are using LFS version 7.1 or older, change the pty-group option
    to 4.</para></note>

    <para><command>sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%"
    {etc,doc}/*</command>: This command corrects the configuration and
    documentation files to the location that is used here for the global
    screenrc file.</para>

  </sect2>

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

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

      <para><filename>/etc/screenrc</filename> and
      <filename>~/.screenrc</filename></para>

      <indexterm zone="screen screen-config">
        <primary sortas="e-AA.screenrc">~/.screenrc</primary>
      </indexterm>

      <indexterm zone="screen screen-config">
        <primary sortas="e-etc-screenrc">/etc/screenrc</primary>
      </indexterm>

    </sect3>

    <sect3>
      <title>Configuration Information</title>

      <para>You may want to look at the example configuration file that was
      installed and customize it for your needs.</para>

    </sect3>

  </sect2>

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

    <segmentedlist>
      <segtitle>Installed Program</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directory</segtitle>

      <seglistitem>
        <seg>screen (symlink) and screen-&screen-version;</seg>
        <seg>None</seg>
        <seg>/usr/share/screen and /run/screen</seg>
      </seglistitem>
    </segmentedlist>

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

      <varlistentry id="screen-prog">
        <term><command>screen</command></term>
        <listitem>
          <para>is a terminal multiplexor with VT100/ANSI
          terminal emulation.</para>
          <indexterm zone="screen screen-prog">
            <primary sortas="b-screen">screen</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
