\documentclass[english,smaller,t]{beamer}
\usepackage[T1]{fontenc}  
\usepackage[utf8]{inputenc}
\usepackage[right]{eurosym}
\usepackage{lmodern}

\newcommand{\noun}[1]{\textsc{#1}}

\usepackage[english]{babel}
\usepackage[babel]{csquotes}
\MakeAutoQuote{»}{«}

\pdfimageresolution150
\def\EUR{\,\euro}

%\usepackage{beamerthemesplit}
%\usetheme{Warsaw}
%\usetheme{Berkeley}
%\usetheme{Marburg}
%\usetheme{Goettingen}
%\usetheme{AnnArbor}
\usetheme{PaloAlto}
%\usecolortheme{beaver}
%\usecolortheme{dolphin}
\usecolortheme{wolverine}
\beamertemplatenumberedsquaresectiontoc
\beamertemplatetransparentcovered

\title[Midori Display]{Midori Display HowTo (v0.0.1)}
\institute[Debian Edu]{Debian Edu Dev Team}
\author[Debian Edu \\ Dev Team]{Mike Gabriel \\ Daniel Teichmann \\ Benjamin Schlüter \\ and others}
\date{Mar 2017}

\begin{document}

\frame{\titlepage}
%\frame{\tableofcontents}

\section[About]{About Midori Display}

\frame[label=about]
{
  \frametitle{About Midori Display}
  \framesubtitle{What can I use Midori Display for?}

  \begin{beamerboxesrounded}[shadow=true]{Setup WWW Presentation Screens or Info Terminals}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->An \textbf{Midori Display} can be used to \textbf{provide controlled public internet access} while running in KIOSK mode \textbf{for passerbys and visitors}
    \item<alert@+| uncover@+->At schools for example, it can be used to enable  \textbf{students and visitors} to search the school homepage or research something for \textbf{classes}
    \item<alert@+| uncover@+->At theaters or other venues, you can provide access to \textbf{a pre-configured set of websites} to e.g. make the \textbf{schedule for the next show} available
    \item<alert@+| uncover@+->Midori Display has been \textbf{designed for easy and secure access} to websites and web based information
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\frame[label=extend]
{
  \frametitle{About Midori Display}
  \framesubtitle{How can I extend Midori Display?}

  \begin{beamerboxesrounded}[shadow=true]{Combine Midori Display with other FLOSS Components}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->Combine Midori Display \textbf{with a display manager} (such as NoDM or LightDM) \textbf{that allows passwordless user login}
    \item<alert@+| uncover@+->Combine it with a \textbf{PXE booted diskless system} such as LTSP for \textbf{deploying a farm of info displays} at your location
    \item<alert@+| uncover@+->Combine with Xephyr (a \textbf{nested Xserver}) \textbf{while testing / preparing your setup}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\frame[label=howitworks]
{
  \frametitle{About Midori Display}
  \framesubtitle{How does it work?}

  \begin{beamerboxesrounded}[shadow=true]{Midori Display runs as an X11 session manager}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->\textbf{Midori Display} registers itself as an available \textbf{X session manager}. Make it the default (or the only session manager installed)
    \item<alert@+| uncover@+->Feed it with an \textbf{entry WWW\_URI}. \textbf{Configure URL\_BLOCKLIST} to prevent the user from browsing unwanted sites.
    \item<alert@+| uncover@+->Midori Display supports \textbf{host-specific configuration parameters}; you can run \textbf{various displays} presenting different WWW content \textbf{based on the same configuration} set
    \end{itemize}
    }
  \end{beamerboxesrounded}
}


\section[Installation]{Installation}

\frame[label=debinstall]
{
  \frametitle{Installation\,\ldots}
  \framesubtitle{\ldots\,on a standalone Debian-like system.}

  \begin{beamerboxesrounded}[shadow=true]{Installation: Debian GNU/Linux (and alike)}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->\textbf{Install a minimal} Debian (or derivative) \textbf{system without X11} / Graphical Login Manager
    \item<alert@+| uncover@+->Install Midori Display and NoDM: \\ \small \texttt{apt-get install midori-display nodm}
    \item<alert@+| uncover@+->\textbf{Edit \texttt{/etc/default/nodm}}, set \texttt{NODM\_ENABLED=true} and \texttt{NODM\_USER=midori-display}. Create this user as a system user.
    \item<alert@+| uncover@+->\textbf{Check that \texttt{midori-display} is the default X session manager}: \\ \small \texttt{update-alternatives \hbox{-}\hbox{-}config x-session-manager}
    \item<alert@+| uncover@+->\textbf{Start NoDM}: \small \texttt{sudo invoke-rc.d nodm start}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\frame[label=rpminstall]
{
  \frametitle{Installation\,\ldots}
  \framesubtitle{\ldots\,on a standalone RPM-based system.}

  \begin{beamerboxesrounded}[shadow=true]{Installation on Fedora, openSUSE or similar}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->The \textbf{Midori Display} tool \textbf{has not been packaged for the RPM world}
    \item<alert@+| uncover@+->\textbf{Please} contact distribution maintainers and \textbf{request packaging}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\frame[label=ltspchroot]
{
  \frametitle{Installation\,\ldots}
  \framesubtitle{\ldots\,in an LTSP chroot.}

  \begin{beamerboxesrounded}[shadow=true]{Install LTSP based info screen farm running Midori Display}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->Create a \textbf{minimal LTSP chroot}, uninstall or \textbf{disable the LTSP Display Manager} (aka LDM)
    \item<alert@+| uncover@+->\textbf{Make} the LTSP \textbf{chroot bootable over PXE}: the system should boot into a text-based logon screen
    \item<alert@+| uncover@+->All LTSP \textbf{client systems must have a dedicated hostnames} after PXE boot
    \item<alert@+| uncover@+->Apply \textbf{installation steps for standalone hosts to} the LTSP \textbf{chroot}
    \item<alert@+| uncover@+->\textbf{Set host-specific parameters} like standard WWW URI, display resolution, etc. via the \texttt{\$\{DISPLAYS[@]\}} associative array, \textbf{for examples see:} \\ \small \texttt{/etc/default/midori-display}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\section[Configuration]{Configuration}

\frame[label=systemconfig]
{
  \frametitle{Configuration\,\ldots}
  \framesubtitle{\ldots system-wide}

  \begin{beamerboxesrounded}[shadow=true]{Configure Midori Display -- system-wide}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->The \textbf{system-wide configuration} of Midori Display is done \textbf{in \texttt{/etc/default/midori-display}}
    \item<alert@+| uncover@+->You can \textbf{adapt various parameters}:
    \begin{itemize}
    \item<alert@+| uncover@+->\textbf{Basic options}:Pulseaudio support, uncluttering of the pointer device, screensaver options, slide transition options, etc.
    \item<alert@+| uncover@+->\textbf{Default parameters}: Specific WWW URI, Blocklist with forbidden WWW URIs, display resolution
    \end{itemize}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\frame[label=userconfig]
{
  \frametitle{Configuration\,\ldots}
  \framesubtitle{\ldots on a per-user basis}

  \begin{beamerboxesrounded}[shadow=true]{Configure Midori Display -- on a per-user basis}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->The \textbf{per-user configuration} of Midori Display is done \textbf{in \texttt{\$HOME/.midori-display/config}}
    \item<alert@+| uncover@+->All \textbf{system-wide parameters can be overriden by the user}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}
\section[Testing]{Testing your Setup}

\frame[label=testing]
{
  \frametitle{Testing Midori Display\,\ldots}
  \framesubtitle{\ldots using a nested Xserver}

  \begin{beamerboxesrounded}[shadow=true]{Testing your Setup}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->\textbf{Install Midori Display} locally \textbf{on your PC or notebook}; you can launch Midori Display under your normal user account
    \item<alert@+| uncover@+->\textbf{Use FAKE\_HOSTNAME variable to simulate a specifc display host} when testing infoscreen farm setups
    \item<alert@+| uncover@+->Do a \textbf{graphical login with your normal user} account; when logged in, open two Terminal windows
    \item<alert@+| uncover@+->Terminal 1: \textbf{Launch} a nested Xserver (like \textbf{Xephyr}): \\ \small \texttt{Xephyr -screen 1024x768 -ac :1}
    \item<alert@+| uncover@+->Terminal 2, also under your normal user account: \\ \small \texttt{export DISPLAY=:1 \\ FAKE\_HOSTNAME=<display-host> midori-display}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\section[Authors]{Authors and Contributors}

\frame[label=label]
{
  \frametitle{Authors, Contributors \& Sponsors}

  \begin{beamerboxesrounded}[shadow=true]{Authors \& Contributors}

    \parbox[t][2.4in][t]{3.5in}{
    \begin{itemize}
    \item<alert@+| uncover@+->Authors (and copyright holders): \\ \ \ \ \ Mike Gabriel <mike.gabriel@das-netzwerkteam.de> \\ \ \ \ \ Daniel Teichmann <daniel.letsplay007@gmail.com> \\ \ \ \ \ Benjamin Schlüter <bschlueter@posteo.de>
%    \item<alert@+| uncover@+->Other contributors: \\ none, so far\,\ldots
    \item<alert@+| uncover@+->Development sponsored by: \\ \ \ \ \ Katharineum zu Lübeck (Germany) \\ \ \ \ \ Fritz-Reuter-Schule Eckernförde (Germany) \\ \ \ \ \ Ernst-Barlach-Gymnasium Kiel (Germany)
    \item<alert@+| uncover@+->Upstream code: \\ \ \ \ \ \scriptsize \url{https://code.it-zukunft-schule.de/cgit/midori-display/}
    \end{itemize}
    }
  \end{beamerboxesrounded}
}

\end{document}
