
meillo@1: % @file
meillo@1: % @brief   Vortrag: Mein Umzug in die Shell
meillo@1: % @author  markus schnalke <meillo@marmaro.de>
meillo@1: % @since   2007-09-25
meillo@1: 
meillo@1: 
meillo@1: \documentclass{beamer}
meillo@1: 
meillo@1:   \usepackage[utf8]{inputenc}
meillo@1:   \usepackage{ngerman}
meillo@1:   \usepackage{graphicx}
meillo@1:   \usepackage[automark]{scrpage2}
meillo@1: 
meillo@1:   \title{Gimme Shell(ter)}
meillo@1:   \author{markus schnalke}
meillo@1:   \date{}
meillo@1: 
meillo@1: \begin{document}
meillo@1: 
meillo@1: 
meillo@1: \frame{
meillo@1: 	\vspace{8em}
meillo@1: 	\begin{center}
meillo@2: 		{\huge Gimme Shell}{\tiny (ter)}
meillo@1: 
meillo@2: 		{Mein Umzug in die Shell}
meillo@1: 
meillo@1: 		\vspace{6em}
meillo@1: 
meillo@1: 		{ \tiny
meillo@2: 		markus schnalke \textless{}meillo@marmaro.de\textgreater{}
meillo@1: 		}
meillo@1: 
meillo@1: 
meillo@1: 	\end{center}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: \section{Vorwort}
meillo@1: \frame{ \frametitle{Vorwort}
meillo@1: 
meillo@1:   \begin{block}{}
meillo@1: 		Dass meine Zukunft in der Shell stattfinden soll, war mir schon lange klar.
meillo@1:   \end{block}
meillo@1: 
meillo@1:   \begin{block}{}
meillo@1: 		Bis ich jedoch soweit war, war es ein langer Weg.
meillo@1:   \end{block}
meillo@1: 
meillo@1:   \begin{block}{}
meillo@1: 		Und keinesfalls möchte ich behaupten, dass ich am Ziel wäre, denn es gibt kein Ziel. Es gibt nur vorwärts.
meillo@1:   \end{block}
meillo@1: 
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@2: \section{Ziele}
meillo@2: \frame{ \frametitle{Ziele}
meillo@2: 	Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
meillo@1: 
meillo@1:   \vspace{1em}
meillo@4: 	\pause
meillo@1: 
meillo@4: 	Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
meillo@4: 			
meillo@4:   \vspace{1em}
meillo@4: 	\pause
meillo@4: 		
meillo@2: 	Ich möchte motivieren, mal Urlaub in der Shell zu machen.
meillo@1: 			
meillo@1:   \vspace{1em}
meillo@4: 	\pause
meillo@1: 		
meillo@4: 	Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
meillo@1: 			
meillo@1:   \vspace{1em}
meillo@4: 	\pause
meillo@1: 		
meillo@2: 	Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: %  \centerline{ \includegraphics[width=20em]{pics/observer_big.png} }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: \section{Motivation}
meillo@1: \frame{ \frametitle{Motivation}
meillo@1:     \begin{itemize}
meillo@1:       \item Weil es cool ist {\scriptsize \textit{*hehe*}}
meillo@1:     \end{itemize}
meillo@1:   \pause
meillo@1:     \begin{itemize}
meillo@1:       \item effektiveres Arbeiten möglich
meillo@1:       \item konfigurierbarer
meillo@1:       \item ressourcenschonender
meillo@1:     \end{itemize}
meillo@1:   \pause
meillo@1:     \begin{itemize}
meillo@1:       \item Vorteile von \texttt{screen}
meillo@1:       \item \texttt{ssh} von überall
meillo@1:       \item auch ohne \texttt{X} daheim
meillo@1:     \end{itemize}
meillo@1: 
meillo@1: 	\pause
meillo@1: 	\begin{block}{}
meillo@1: 		\textbf{Konzentration auf das Wesentliche!}
meillo@1: 
meillo@1: 		Näher an der UNIX-Philosophie
meillo@1: 	\end{block}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: \section{Die UNIX-Philosophie}
meillo@1: \frame{ \frametitle{Die UNIX-Philosophie}
meillo@1:   \begin{block}{}
meillo@2: 		DER Grund UNIX$^{\dagger}$ zu verwenden
meillo@1: 
meillo@1: 		``Pro UNIX'' statt ``Anti Windows''
meillo@1:   \end{block}
meillo@1: 	
meillo@1: 	\pause
meillo@1: 
meillo@1:   \begin{block}{}
meillo@1: 		Welche wirklichen Vorteile bietet Gnome gegenüber der Windows-Oberfläche?
meillo@1: 
meillo@1: 		\vspace{0.3em}
meillo@1: 
meillo@1: 		Richtig, keine!
meillo@1: 
meillo@1: 		\vspace{0.3em}
meillo@1: 
meillo@2: 		An der Basis seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Oberfläche? \\
meillo@2: 		\pause
meillo@3: 		Oder: \textit{An der Oberfläche seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Basis?}
meillo@1:   \end{block}
meillo@1: 	
meillo@1: 	\pause
meillo@1: 
meillo@1:   \begin{block}{}
meillo@1: 		UNIX ist mehr als Ubuntu!
meillo@1: 
meillo@2: 		\textbf{Um UNIX zu verstehen, muss man seine Philosophie kennen!}
meillo@1:   \end{block}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: \frame{ \frametitle{Die UNIX-Philosophie}
meillo@1:   \begin{itemize}
meillo@3: 		\item klein ist schön
meillo@3: 		\item genau eine Sache gut machen
meillo@3: 		\item früher Prototyp
meillo@3: 		\item Portabilität vor Effizienz
meillo@3: 		\item Daten in ASCII-Files speichern
meillo@3: 		\item Code borgen
meillo@3: 		\item alles automatisieren
meillo@3: 		\item CLI statt GUI
meillo@3: 		\item Programme als Filter
meillo@1:   \end{itemize}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{siehe auch}
meillo@2: 		\begin{itemize}
meillo@2: 			\item 
meillo@4: 			\item http://www.cat-v.org/
meillo@2: 			\item Rob Pike
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: \section{GUI vs. CLI}
meillo@1: \frame{ \frametitle{GUI vs. CLI}
meillo@1: 	\begin{block}{GUI-Programme \dots}
meillo@1: 		\begin{itemize}
meillo@1: 			\item haben hässlichen Code
meillo@1: 			\item sind aufgebläht
meillo@1: 			\item schränken ein
meillo@1: 			\item laufen nur mit X
meillo@1: 		\end{itemize}
meillo@1: 	\end{block}
meillo@1: 
meillo@1: 	\pause
meillo@1: 
meillo@1: 	\begin{block}{CLI-Programme \dots}
meillo@1: 		\begin{itemize}
meillo@1: 			\item sind kleiner
meillo@1: 			\item sind besser konfigurierbar
meillo@1: 			\item sind älter und ausgereifter
meillo@1: 			\item sind portabler (und damit auch öfter portiert)
meillo@1: 		\end{itemize}
meillo@1: 	\end{block}
meillo@1: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	{ \scriptsize (Natürlich gilt das nicht zwangsläufig, die Wahrscheinlichkeit ist aber groß.) }
meillo@1: }
meillo@1: 
meillo@1: 
meillo@4: \subsection{CLI und CURSES}
meillo@4: \frame{ \frametitle{CLI und CURSES}
meillo@4: 	\begin{block}{CLI --- CURSES --- GUI}
meillo@4: 		\begin{itemize}
meillo@4: 			\item CLI: \texttt{cat cli.txt | mail -s CLI lugu}
meillo@4: 			\item CURSES: \texttt{mutt}
meillo@4: 			\item GUI: \texttt{Menu \textgreater{} Applications \textgreater{} Evolution}
meillo@4: 		\end{itemize}
meillo@4: 	\end{block}
meillo@1: 
meillo@4: 	\begin{block}{CURSES}
meillo@4: 		\begin{itemize}
meillo@4: 			\item CURSES ist \emph{nicht} CLI
meillo@4: 			\item sondern Text User Interface
meillo@4: 			\item Ich bin hier nicht immer ganz konsequent.
meillo@4: 		\end{itemize}
meillo@4: 	\end{block}
meillo@4: }
meillo@4: 
meillo@4: 
meillo@4: 
meillo@4: \subsection{GUIs als Frontend}
meillo@1: \frame{ \frametitle{GUIs als Frontend}
meillo@1: 
meillo@1: 	\begin{block}{}
meillo@1: 		GUIs sollen laut UNIX-Philosophie nur Frontends sein.
meillo@1: 	\end{block}
meillo@1: 
meillo@2: 	\pause
meillo@2: 
meillo@1: 	\begin{block}{Beispiele}
meillo@1: 		\begin{itemize}
meillo@1: 			\item Programm: \texttt{nmap}
meillo@1: 			\item Frontends: \texttt{nmapfe} (GTK), \texttt{knmap} (Qt)
meillo@1: 		\end{itemize}
meillo@1: 
meillo@1: 		\begin{itemize}
meillo@1: 			\item Programm: \texttt{libparted}
meillo@1: 			\item Frontends: \texttt{parted} (curses), \texttt{gparted} (GTK), \texttt{qtparted} (Qt)
meillo@1: 		\end{itemize}
meillo@1: 	\end{block}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@4: \subsection{Größe von User-Interfaces}
meillo@1: \frame{ \frametitle{Größe von User-Interfaces}
meillo@1: 
meillo@1: 
meillo@1: 	{ \scriptsize
meillo@1: 		\begin{itemize}
meillo@1: 			\item Package: \textbf{libparted1.7-1}
meillo@1: 			\item Size: 198,554
meillo@1: 			\item Depends: libc6 ($>$= 2.3.6-6), libuuid1
meillo@1: 		\end{itemize}
meillo@1: 	}
meillo@1: 
meillo@1: 		\pause
meillo@1: 
meillo@1: 
meillo@1: 	{ \scriptsize
meillo@1: 		\begin{itemize}
meillo@1: 			\item Package: \textbf{parted}
meillo@1: 			\item Size: 56,268
meillo@1: 			\item Depends: libc6 ($>$= 2.3.6-6), libncurses5 ($>$= 5.4-5), libparted1.7-1 ($>$= 1.7.1-1), libreadline5 ($>$= 5.2)
meillo@1: 		\end{itemize}
meillo@1: 	}
meillo@1: 
meillo@1: 		\pause
meillo@1: 
meillo@1: 	{ \scriptsize
meillo@1: 		\begin{itemize}
meillo@1: 			\item Package: \textbf{gparted}
meillo@1: 			\item Size: 452,616
meillo@1: 			\item Depends: libatk1.0-0 ($>$= 1.12.2), libc6 ($>$= 2.3.6-6), libcairo2 ($>$= 1.2.4), libfontconfig1 ($>$= 2.3.0), libfreetype6 ($>$= 2.2), libgcc1 ($>$= 1:4.1.1-12), libglib2.0-0 ($>$= 2.10.0), libglibmm-2.4-1c2a, libgtk2.0-0 ($>$= 2.8.0), libgtkmm-2.4-1c2a, libice6 ($>$= 1:1.0.0), libpango1.0-0 ($>$= 1.12.3), libparted1.7-1 ($>$= 1.7.1-1), libpng12-0 ($>$= 1.2.8rel), libsigc++-2.0-0c2a ($>$= 2.0.2), libsm6, libstdc++6 ($>$= 4.1.1-12), libuuid1, libx11-6, libxcursor1 ($>$$>$ 1.1.2), libxext6, libxfixes3, libxi6, libxinerama1, libxrandr2, libxrender1, zlib1g ($>$= 1:1.2.1), gksu, menu
meillo@1: 		\end{itemize}
meillo@1: 	}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@4: \section{Programme vergleichen}
meillo@4: \frame{ \frametitle{Programme vergleichen}
meillo@4: 	\begin{block}{Weshalb die Programmgröße beachten?}
meillo@3: 		\begin{itemize}
meillo@3: 			\item Kleine Programme sind: flexibler, portabler, einfacher zu verstehen, bugfreier (vgl. UNIX-Philosophie)
meillo@4: 			\item Die Paketgröße gibt indirekt Aufschluss auf den Codeumfang
meillo@3: 			\item Der Codeumfang im Verhältnis zu den Features wirft Überlegungen zur Qualität des Codes auf
meillo@4: 		\end{itemize}
meillo@4: 	\end{block}
meillo@4: 
meillo@4: 	\begin{block}{}
meillo@4: 		Dies ist nur als Anhaltspunkt zu sehen!
meillo@4: 	\end{block}
meillo@4: }
meillo@4: 
meillo@4: 
meillo@4: 
meillo@4: \subsection{Messmethoden}
meillo@4: \frame{ \frametitle{Messmethoden}
meillo@4: 	\begin{block}{Paketgröße}
meillo@4: 		\begin{itemize}
meillo@4: 			\item \texttt{apt-cache show \textless{}paket\textgreater{} | grep \^{}Size}
meillo@4: 			\item einfach auszulesen
meillo@4: 			\item Problem: Dokumentation ist oft auch im Paket enthalten
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@3: 
meillo@3: 	\pause
meillo@3: 
meillo@4: 	\begin{block}{Source-Filesizes}
meillo@3: 		\begin{itemize}
meillo@4: 			\item \texttt{du -c *.[ch]} (je nach Sprache)
meillo@4: 			\item Quellcode muss vorliegen (\texttt{apt-get source})
meillo@4: 			\item Problem: \texttt{\{} vs. \texttt{begin}
meillo@4: 		\end{itemize}
meillo@4: 	\end{block}
meillo@4: 
meillo@4: 	\pause
meillo@4: 
meillo@4: 	\begin{block}{Source Lines Of Code}
meillo@4: 		\begin{itemize}
meillo@4: 			\item \texttt{sloccount} von David A. Wheeler
meillo@4: 			\item Sprachen werden ``gleicher bewertet''
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@3: }
meillo@3: 
meillo@3: 
meillo@3: 
meillo@1: 
meillo@4: 
meillo@4: 
meillo@1: \section{Mein Weg}
meillo@1: \frame{ \frametitle{Mein Weg}
meillo@1:   \begin{block}{2005}
meillo@1: 		Fluxbox, Firefox, Kate, Sylpheed Claws, gFTP, Gaim, vlc, k3b, gThumb, OOo, Grip, XMMS, \dots
meillo@1:   \end{block}
meillo@1: 
meillo@1: 	\pause
meillo@1: 
meillo@1:   \begin{block}{2006}
meillo@4: 		Auslöseer:\\ Artikel ``Mein Umzug in die Shell'' von Gregor Oelze auf linuxlog
meillo@1:   \end{block}
meillo@1: 
meillo@1: 	\pause
meillo@1: 
meillo@1:   \begin{block}{2007}
meillo@1: 		dwm + \textit{screen}, Iceweasel + \textit{w3m},  \textit{vim}, \textit{mutt}, \textit{ncftp}, \textit{weechat + bitlbee}, mplayer, \textit{wodim + growisofs},  gqview + qiv, OOo, \textit{jack}, \textit{cplay}, \dots
meillo@1:   \end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{}
meillo@2: 		{\scriptsize Nachzulesen auf http://marmaro.de/lue }
meillo@2: 	\end{block}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@2: \section{Programme}
meillo@2: 
meillo@2: \subsection{Editor}
meillo@2: \frame{ \frametitle{Editor}
meillo@3: 	\begin{block}{vi(m)}
meillo@2: 		\begin{itemize}
meillo@2: 			\item Der Editor schlechthin
meillo@2: 			\item Auf jedem UNIX-System vorhanden
meillo@4: 			\item meist in Form eines Klons
meillo@3: 			\item darf ruhig angepasst werden: \texttt{.vimrc}
meillo@3: 			\item Die meisten User verwenden viel zu wenige seiner Möglichkeiten!
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{Alternativen}
meillo@2: 		\begin{itemize}
meillo@2: 			\item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon.
meillo@2: 			\item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting.
meillo@4: 			\item \texttt{emacs} (5.89e37) \dots 
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: \subsection{Mailclient}
meillo@2: \frame{ \frametitle{Mailclient}
meillo@2: 	\begin{block}{mutt}
meillo@2: 		\begin{itemize}
meillo@3: 			\item ``The mail client, that sucks less''
meillo@2: 			\item sehr konfigurierbar
meillo@2: 			\item Kombination mit \texttt{fetchmail}, \texttt{procmail}, \texttt{masqmail}
meillo@2: 			\item \dots
meillo@2: 			\item Debian-Paket: 1810k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{Alternativen}
meillo@2: 		\begin{itemize}
meillo@2: 			\item \texttt{mailx} (155k) einfaches Mailprogramm
meillo@3: 			\item \texttt{pine} () (nicht mehr in Debian??)
meillo@3: 			\item \texttt{mutt-ng} () Neue Features für mutt
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: \subsection{Browser}
meillo@2: \frame{ \frametitle{Browser}
meillo@2: 	\begin{block}{w3m}
meillo@2: 		\begin{itemize}
meillo@2: 			\item Textbrowser
meillo@4: 			\item hat Caret-Navigation
meillo@2: 			\item kein JavaScript
meillo@4: 			\item Inline-Bilder mit \texttt{w3m-img}
meillo@3: 			\item Debian-Paket: 1100k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{Alternativen}
meillo@2: 		\begin{itemize}
meillo@2: 			\item \texttt{lynx} (1860k) der Dinosaurier
meillo@2: 			\item \texttt{links} (380k) lynx-Klon
meillo@2: 			\item \texttt{elinks} (1190k) hat auch JavaScript-Unterstützung
meillo@2: 			\item \texttt{links2} (2080k) bietet textuellen und grafischen Modus
meillo@2: 			\item \texttt{dillo} (360k) rein grafisch, layoutet aber wie Textbrowser
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: \subsection{Musikplayer}
meillo@2: \frame{ \frametitle{Musikplayer}
meillo@2: 	\begin{block}{cplay}
meillo@2: 		\begin{itemize}
meillo@2: 			\item Frontend für mpg123, ogg123, \dots
meillo@2: 			\item sehr simpel, aber meist ausreichend
meillo@2: 			\item vi-like Bedienung
meillo@3: 			\item Remote-Control via FIFO
meillo@2: 			\item Debian-Paket: 41k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{Alternativen}
meillo@2: 		\begin{itemize}
meillo@2: 			\item \texttt{moc} (190k) sehr einfach, etwas instabil
meillo@2: 			\item \texttt{cmus} (124k) sehr featurereich
meillo@2: 			\item \texttt{mpd+ncmpc} (127k+85k) Client-Server-Architektur
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@3: \subsection{Filemanager}
meillo@3: \frame{ \frametitle{Filemanager}
meillo@3: 	\begin{block}{coreutils}
meillo@3: 		\begin{itemize}
meillo@3: 			\item cd, mv, cp, rm, mkdir, rmdir, \dots
meillo@4: 			\item man braucht eine gewisse Übersicht im Filesystem
meillo@3: 			\item letztendlich aber einfach am schnellsten
meillo@3: 			\item \dots
meillo@3: 			\item überall vorhanden
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@3: 
meillo@3: 	\pause
meillo@3: 
meillo@3: 	\begin{block}{Alternativen}
meillo@3: 		\begin{itemize}
meillo@3: 			\item \texttt{mc} (2140k) Alleskönner mit schrecklicher Bedienung
meillo@3: 			\item \texttt{vifm} (63k) \texttt{mc} mit vi-Bedienung; noch zu wenige Features
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@3: }
meillo@3: 
meillo@3: 
meillo@3: 
meillo@2: \subsection{FTP-Client}
meillo@2: \frame{ \frametitle{FTP-Client}
meillo@2: 	\begin{block}{ncftp}
meillo@2: 		\begin{itemize}
meillo@2: 			\item toller FTP-Client
meillo@4: 			\item hatte nur früher ein curses-Interface (\texttt{ncftp2})
meillo@3: 			\item ncftpget, ncftpput, \dots
meillo@2: 			\item \dots
meillo@2: 			\item Debian-Paket: 500k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{Alternativen}
meillo@2: 		\begin{itemize}
meillo@3: 			\item \texttt{ftp} (50k) wenig Komfort
meillo@3: 			\item \texttt{lftp} (540k) (kenne ich leider nicht)
meillo@4: 			\item \texttt{mc} (2140k) er kann auch ftp
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: \subsection{Chatten}
meillo@2: \frame{ \frametitle{Chatten}
meillo@3: 	\begin{block}{weechat-curses}
meillo@2: 		\begin{itemize}
meillo@2: 			\item ein IRC-Client
meillo@3: 			\item Reimplementierung von irssi
meillo@2: 			\item Debian-Paket: 580k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{Alternativen}
meillo@2: 		\begin{itemize}
meillo@4: 			\item \texttt{irssi} (1060k) populärer IRC-Client
meillo@3: 			\item \texttt{sic} (6k) liest stdin, schreibt stdout
meillo@3: 			\item \texttt{centericq} (1260k) sehr bekannter ICQ-Client
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{bitlbee}
meillo@2: 		\begin{itemize}
meillo@2: 			\item bitlbee ist ein IM-to-IRC-Gateway
meillo@2: 			\item den IRC-Client für ICQ und Jabber verwenden
meillo@2: 			\item Debian-Paket: 315k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: \subsection{Framebuffer}
meillo@2: \frame{ \frametitle{Framebuffer}
meillo@2: 	\begin{block}{fbi}
meillo@2: 		\begin{itemize}
meillo@2: 			\item \texttt{fbi} zeigt Bilder im Framebuffer
meillo@2: 			\item \texttt{fbgs} zeigt PDF- und PS-Dokumente im Framebuffer
meillo@2: 			\item Debian-Paket: 54k (enthält \texttt{fbgs})
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{mplayer}
meillo@2: 		\begin{itemize}
meillo@2: 			\item \texttt{mplayer -vo fbdev} zeigt Filme im Framebuffer
meillo@2: 			\item kann auch über libaa, libcaca und Ähnliches ausgeben
meillo@2: 			\item Debian-Paket: 4400k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: %	\pause
meillo@2: %
meillo@2: %	\begin{block}{Alternativen}
meillo@2: %		\begin{itemize}
meillo@2: %			\item keine bekannt
meillo@2: %		\end{itemize}
meillo@2: %	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: \subsection{screen}
meillo@2: \frame{ \frametitle{screen}
meillo@2: 	\begin{block}{screen}
meillo@2: 		\begin{itemize}
meillo@2: 			\item Terminal-Multiplexer
meillo@2: 			\item Unersetzbares Tool für Shelluser
meillo@2: 			\item \dots
meillo@2: 			\item Debian-Paket: 590k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: %
meillo@2: %	\pause
meillo@2: %
meillo@2: %	\begin{block}{Alternativen}
meillo@2: %		\begin{itemize}
meillo@2: %			\item keine bekannt
meillo@2: %		\end{itemize}
meillo@2: %	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: \subsection{Window-Manager}
meillo@2: \frame{ \frametitle{Window-Manager}
meillo@2: 	\begin{block}{dwm}
meillo@2: 		\begin{itemize}
meillo@3: 			\item dynamic window manager
meillo@3: 			\item seit September 2006
meillo@3: 			\item von Anselm R. Garbe (wmii)
meillo@3: 			\item http://dwm.suckless.org
meillo@2: 			\item Debian-Paket: 20k
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\pause
meillo@2: 
meillo@2: 	\begin{block}{Alternativen}
meillo@2: 		\begin{itemize}
meillo@2: 			\item \texttt{larswm} (110k) 
meillo@2: 			\item \texttt{ratpoison} (170k) 
meillo@2: 			\item \texttt{ion2} (330k) 
meillo@2: 			\item \texttt{icewm} (700k) 
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: }
meillo@2: 
meillo@2: 
meillo@2: 
meillo@2: 
meillo@3: \frame{ \frametitle{dwm}
meillo@3: 	\begin{block}{Features}
meillo@3: 		\begin{itemize}
meillo@3: 			\item minimalistisch, nur das Nötig(st)e
meillo@3: 			\item Tagging statt Workspaces
meillo@3: 			\item Konfiguration durch Quellcode editieren und neu kompilieren
meillo@3: 			\item Quellcode kann an einem Abend verstanden werden
meillo@3: 			\item aktive Entwicklung
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@2: 
meillo@3: 	\pause
meillo@3: 
meillo@3: 	\begin{block}{Ziele}
meillo@3: 		\begin{itemize}
meillo@3: 			\item 2kLOC
meillo@3: 			\item portables C
meillo@3: 			\item guter Code (Refactoring)
meillo@4: 			\item sehr standardkonform (aber: broken apps)
meillo@3: 			\item Erweiterung mit Patches
meillo@3: 			\item 
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@3: }
meillo@3: 
meillo@3: 
meillo@3: 
meillo@3: 
meillo@3: \section{suckless-Projekt}
meillo@3: \frame{ \frametitle{suckless-Projekt}
meillo@3: 	\begin{block}{Community}
meillo@3: 		\begin{itemize}
meillo@3: 			\item http://suckless.org
meillo@3: 			\item kleine aktive Community
meillo@3: 			\item Patches als fester Bestandteil
meillo@3: 			\item Mailingliste ist Pflicht
meillo@3: 			\item einfach mitmachen!
meillo@3: 			\item 
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@3: 
meillo@3: 	\pause
meillo@3: 
meillo@3: 	\begin{block}{Mein dwm}
meillo@3: 		\begin{itemize}
meillo@3: 			\item ein Patchset
meillo@4: 			\item http://prog.marmaro.de/dwm-meillo
meillo@3: 		\end{itemize}
meillo@3: 	\end{block}
meillo@2: }
meillo@2: 
meillo@1: 
meillo@1: 
meillo@1: 
meillo@4: \section{Soll erfüllt?}
meillo@4: \frame{ \frametitle{Soll erfüllt?}
meillo@4: 			Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Ich möchte motivieren, mal Urlaub in der Shell zu machen.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
meillo@4: 
meillo@4: }
meillo@1: 
meillo@1: 
meillo@1: \section{Zusammenfassung}
meillo@1: \frame{ \frametitle{Zusammenfassung}
meillo@4: 			Ja, man kann auch ohne X komfortabel arbeiten.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Macht mal Urlaub in der Shell.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Man muss die CLI nicht fürchten.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
meillo@4: 
meillo@4: 			\vspace{1em}
meillo@4: 			\pause
meillo@4: 
meillo@4: 			Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
meillo@1: 
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: \section{Fragen}
meillo@1: \frame{ \frametitle{Fragen?}
meillo@1:   \vspace{5ex}
meillo@1:   \centerline{\huge ?}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@4: 
meillo@4: \section{Links}
meillo@4: \frame{ \frametitle{Links auf einen Blick}
meillo@4: 	\begin{itemize}
meillo@4: 		\item http://suckless.org
meillo@4: 		\item http://pimpmyshell.de (Projekt von Gregor Oelze)
meillo@4: 		\item http://cat-v.org (Website von Uriel)
meillo@4: 		\item http://marmaro.de/lue
meillo@4: 		\item http://prog.marmaro.de/dwm-meillo
meillo@4: 		\item 
meillo@4: 		\item 
meillo@4: 	\end{itemize}
meillo@4: 
meillo@4: }
meillo@4: 
meillo@4: 
meillo@4: 
meillo@4: 
meillo@4: \section{Danke}
meillo@4: \frame{% \frametitle{Abschließend}
meillo@1:   \begin{block}{Verwendete Software}
meillo@1:   \begin{itemize}
meillo@1:     \item Debian GNU/Linux
meillo@1:     \item \LaTeX-Beamer und \texttt{pdflatex}
meillo@1:     \item Vim
meillo@1:     \item qiv und ImageMagick
meillo@1:     \item Mercurial
meillo@1:   \end{itemize}
meillo@1:   \end{block}
meillo@1: 
meillo@4: 	{ \tiny $\dagger$ UNIX is a registered trademark of The Open Group. }
meillo@2: 
meillo@3: 	\pause
meillo@3: 
meillo@1:   \begin{block}{}
meillo@1:     \vspace{3ex}
meillo@1:     \centerline{\textbf{Danke für eure Aufmerksamkeit}}
meillo@1:   \end{block}
meillo@1: }
meillo@1: 
meillo@1: 
meillo@1: \end{document}




