docs/gimme-shellter

view GimmeShellter.tex @ 2:5e009abaf0bb

added lots of new content, especially about the programs
author meillo@marmaro.de
date Tue, 27 Nov 2007 13:54:37 +0100
parents aa6f8b1bab77
children 867ffbcccf28
line source
1 % @file
2 % @brief Vortrag: Mein Umzug in die Shell
3 % @author markus schnalke <meillo@marmaro.de>
4 % @since 2007-09-25
7 \documentclass{beamer}
9 \usepackage[utf8]{inputenc}
10 \usepackage{ngerman}
11 \usepackage{graphicx}
12 \usepackage[automark]{scrpage2}
14 \title{Gimme Shell(ter)}
15 \author{markus schnalke}
16 \date{}
19 %\markboth{2007-12-11}{}
21 \begin{document}
24 \frame{
25 %\titlepage
26 \vspace{8em}
27 \begin{center}
28 {\huge Gimme Shell}{\tiny (ter)}
30 {Mein Umzug in die Shell}
32 \vspace{6em}
34 { \tiny
35 markus schnalke \textless{}meillo@marmaro.de\textgreater{}
36 }
39 \end{center}
40 }
43 %\section[Outline]{}
44 %\frame{
45 % \tableofcontents
46 %}
52 \section{Vorwort}
53 \frame{ \frametitle{Vorwort}
55 \begin{block}{}
56 Dass meine Zukunft in der Shell stattfinden soll, war mir schon lange klar.
57 \end{block}
59 \begin{block}{}
60 Bis ich jedoch soweit war, war es ein langer Weg.
61 \end{block}
63 \begin{block}{}
64 Und keinesfalls möchte ich behaupten, dass ich am Ziel wäre, denn es gibt kein Ziel. Es gibt nur vorwärts.
65 \end{block}
67 }
71 \section{Ziele}
72 \frame{ \frametitle{Ziele}
73 Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
75 \vspace{1em}
77 Ich möchte motivieren, mal Urlaub in der Shell zu machen.
79 \vspace{1em}
81 Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
83 \vspace{1em}
85 Es soll klar werden, dass Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
87 \vspace{1em}
89 Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
90 }
96 % \centerline{ \includegraphics[width=20em]{pics/observer_big.png} }
100 \section{Motivation}
101 \frame{ \frametitle{Motivation}
102 \begin{itemize}
103 \item Weil es cool ist {\scriptsize \textit{*hehe*}}
104 \end{itemize}
105 \pause
106 \begin{itemize}
107 \item effektiveres Arbeiten möglich
108 \item konfigurierbarer
109 \item ressourcenschonender
110 \end{itemize}
111 \pause
112 \begin{itemize}
113 \item Vorteile von \texttt{screen}
114 \item \texttt{ssh} von überall
115 \item auch ohne \texttt{X} daheim
116 \end{itemize}
118 \pause
119 \begin{block}{}
120 \textbf{Konzentration auf das Wesentliche!}
122 Näher an der UNIX-Philosophie
123 \end{block}
124 }
130 \section{Die UNIX-Philosophie}
131 \frame{ \frametitle{Die UNIX-Philosophie}
132 \begin{block}{}
133 DER Grund UNIX$^{\dagger}$ zu verwenden
135 ``Pro UNIX'' statt ``Anti Windows''
136 \end{block}
138 \pause
140 \begin{block}{}
141 Welche wirklichen Vorteile bietet Gnome gegenüber der Windows-Oberfläche?
143 \vspace{0.3em}
145 Richtig, keine!
147 \vspace{0.3em}
149 An der Basis seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Oberfläche? \\
150 \pause
151 An der Oberfläche seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Basis?
152 \end{block}
154 \pause
156 \begin{block}{}
157 UNIX ist mehr als Ubuntu!
159 \textbf{Um UNIX zu verstehen, muss man seine Philosophie kennen!}
160 \end{block}
161 }
165 \frame{ \frametitle{Die UNIX-Philosophie}
166 \begin{itemize}
167 \item
168 \item
169 \item
170 \item
171 \item
172 \item
173 \item
174 \end{itemize}
176 \pause
178 \begin{block}{siehe auch}
179 \begin{itemize}
180 \item
181 \item http://cat-v.org
182 \item Rob Pike
183 \item
184 \end{itemize}
185 \end{block}
186 }
191 \section{GUI vs. CLI}
192 \frame{ \frametitle{GUI vs. CLI}
193 \begin{block}{GUI-Programme \dots}
194 \begin{itemize}
195 \item haben hässlichen Code
196 \item sind aufgebläht
197 \item schränken ein
198 \item laufen nur mit X
199 \end{itemize}
200 \end{block}
202 \pause
204 \begin{block}{CLI-Programme \dots}
205 \begin{itemize}
206 \item sind kleiner
207 \item sind besser konfigurierbar
208 \item sind älter und ausgereifter
209 \item sind portabler (und damit auch öfter portiert)
210 \end{itemize}
211 \end{block}
213 \pause
215 { \scriptsize (Natürlich gilt das nicht zwangsläufig, die Wahrscheinlichkeit ist aber groß.) }
216 }
220 \section{GUIs als Frontend}
221 \frame{ \frametitle{GUIs als Frontend}
223 \begin{block}{}
224 GUIs sollen laut UNIX-Philosophie nur Frontends sein.
225 \end{block}
227 \pause
229 \begin{block}{Beispiele}
230 \begin{itemize}
231 \item Programm: \texttt{nmap}
232 \item Frontends: \texttt{nmapfe} (GTK), \texttt{knmap} (Qt)
233 \end{itemize}
235 \begin{itemize}
236 \item Programm: \texttt{libparted}
237 \item Frontends: \texttt{parted} (curses), \texttt{gparted} (GTK), \texttt{qtparted} (Qt)
238 \end{itemize}
239 \end{block}
240 }
244 \section{Größe von User-Interfaces}
245 \frame{ \frametitle{Größe von User-Interfaces}
248 { \scriptsize
249 \begin{itemize}
250 \item Package: \textbf{libparted1.7-1}
251 \item Size: 198,554
252 \item Depends: libc6 ($>$= 2.3.6-6), libuuid1
253 \end{itemize}
254 }
256 \pause
259 { \scriptsize
260 \begin{itemize}
261 \item Package: \textbf{parted}
262 \item Size: 56,268
263 \item Depends: libc6 ($>$= 2.3.6-6), libncurses5 ($>$= 5.4-5), libparted1.7-1 ($>$= 1.7.1-1), libreadline5 ($>$= 5.2)
264 \end{itemize}
265 }
267 \pause
269 { \scriptsize
270 \begin{itemize}
271 \item Package: \textbf{gparted}
272 \item Size: 452,616
273 \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
274 \end{itemize}
275 }
276 }
282 \section{Mein Weg}
283 \frame{ \frametitle{Mein Weg}
284 \begin{block}{2005}
285 Fluxbox, Firefox, Kate, Sylpheed Claws, gFTP, Gaim, vlc, k3b, gThumb, OOo, Grip, XMMS, \dots
286 \end{block}
288 \pause
290 \begin{block}{2006}
291 Auslöser: \textit{Mein Umzug in die Shell}
292 \end{block}
294 \pause
296 \begin{block}{2007}
297 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
298 \end{block}
300 \pause
302 \begin{block}{}
303 {\scriptsize Nachzulesen auf http://marmaro.de/lue }
304 \end{block}
305 }
308 \section{Programme}
310 \subsection{Editor}
311 \frame{ \frametitle{Editor}
312 \begin{block}{vi}
313 \begin{itemize}
314 \item Der Editor schlechthin
315 \item Auf jedem UNIX-System vorhanden
316 \item meist in Form eines Klons vorhanden
317 \end{itemize}
318 \end{block}
320 \pause
322 \begin{block}{Alternativen}
323 \begin{itemize}
324 \item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon.
325 \item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting.
326 \item \texttt{emacs} (1.4e26k) \dots
327 \end{itemize}
328 \end{block}
329 }
333 \subsection{Mailclient}
334 \frame{ \frametitle{Mailclient}
335 \begin{block}{mutt}
336 \begin{itemize}
337 \item ``The mail client that sucks less''
338 \item sehr konfigurierbar
339 \item Kombination mit \texttt{fetchmail}, \texttt{procmail}, \texttt{masqmail}
340 \item \dots
341 \item Debian-Paket: 1810k
342 \end{itemize}
343 \end{block}
345 \pause
347 \begin{block}{Alternativen}
348 \begin{itemize}
349 \item \texttt{mailx} (155k) einfaches Mailprogramm
350 \end{itemize}
351 \end{block}
352 }
356 \subsection{Browser}
357 \frame{ \frametitle{Browser}
358 \begin{block}{w3m}
359 \begin{itemize}
360 \item Textbrowser
361 \item kein JavaScript
362 \item hat Caret-Navigation
363 \item \dots
364 \item Debian-Paket: 7350k
365 \end{itemize}
366 \end{block}
368 \pause
370 \begin{block}{Alternativen}
371 \begin{itemize}
372 \item \texttt{lynx} (1860k) der Dinosaurier
373 \item \texttt{links} (380k) lynx-Klon
374 \item \texttt{elinks} (1190k) hat auch JavaScript-Unterstützung
375 \item \texttt{links2} (2080k) bietet textuellen und grafischen Modus
376 \item \texttt{dillo} (360k) rein grafisch, layoutet aber wie Textbrowser
377 \end{itemize}
378 \end{block}
379 }
383 \subsection{Musikplayer}
384 \frame{ \frametitle{Musikplayer}
385 \begin{block}{cplay}
386 \begin{itemize}
387 \item Frontend für mpg123, ogg123, \dots
388 \item sehr simpel, aber meist ausreichend
389 \item vi-like Bedienung
390 \item \dots
391 \item Debian-Paket: 41k
392 \end{itemize}
393 \end{block}
395 \pause
397 \begin{block}{Alternativen}
398 \begin{itemize}
399 \item \texttt{moc} (190k) sehr einfach, etwas instabil
400 \item \texttt{cmus} (124k) sehr featurereich
401 \item \texttt{mpd+ncmpc} (127k+85k) Client-Server-Architektur
402 \end{itemize}
403 \end{block}
404 }
408 \subsection{FTP-Client}
409 \frame{ \frametitle{FTP-Client}
410 \begin{block}{ncftp}
411 \begin{itemize}
412 \item toller FTP-Client
413 \item hatte nur früher ein curses-Interface
414 \item ncftp-batch, ncftp-put, \dots
415 \item \dots
416 \item Debian-Paket: 500k
417 \end{itemize}
418 \end{block}
420 \pause
422 \begin{block}{Alternativen}
423 \begin{itemize}
424 \item \texttt{ftp} (50k) sehr minimal, bietet z.B. keine Readline
425 \item \texttt{lftp} (540k) kenne ich leider nicht
426 \item \texttt{mc} (2140k) Alleskönner mit schrecklicher Bedienung
427 \end{itemize}
428 \end{block}
429 }
433 \subsection{Chatten}
434 \frame{ \frametitle{Chatten}
435 \begin{block}{weechat}
436 \begin{itemize}
437 \item ein IRC-Client
438 \item weechat ist eine Reimplementierung von irssi
439 \item Debian-Paket: 580k
440 \end{itemize}
441 \end{block}
443 \pause
445 \begin{block}{Alternativen}
446 \begin{itemize}
447 \item \texttt{irssi} (1060k)
448 \item \texttt{sic} (6k)
449 \end{itemize}
450 \end{block}
452 \pause
454 \begin{block}{bitlbee}
455 \begin{itemize}
456 \item bitlbee ist ein IM-to-IRC-Gateway
457 \item den IRC-Client für ICQ und Jabber verwenden
458 \item Debian-Paket: 315k
459 \end{itemize}
460 \end{block}
461 }
465 \subsection{Framebuffer}
466 \frame{ \frametitle{Framebuffer}
467 \begin{block}{fbi}
468 \begin{itemize}
469 \item \texttt{fbi} zeigt Bilder im Framebuffer
470 \item \texttt{fbgs} zeigt PDF- und PS-Dokumente im Framebuffer
471 \item Debian-Paket: 54k (enthält \texttt{fbgs})
472 \end{itemize}
473 \end{block}
475 \pause
477 \begin{block}{mplayer}
478 \begin{itemize}
479 \item \texttt{mplayer -vo fbdev} zeigt Filme im Framebuffer
480 \item kann auch über libaa, libcaca und Ähnliches ausgeben
481 \item Debian-Paket: 4400k
482 \end{itemize}
483 \end{block}
485 % \pause
486 %
487 % \begin{block}{Alternativen}
488 % \begin{itemize}
489 % \item keine bekannt
490 % \end{itemize}
491 % \end{block}
492 }
496 \subsection{screen}
497 \frame{ \frametitle{screen}
498 \begin{block}{screen}
499 \begin{itemize}
500 \item Terminal-Multiplexer
501 \item Unersetzbares Tool für Shelluser
502 \item \dots
503 \item Debian-Paket: 590k
504 \end{itemize}
505 \end{block}
506 %
507 % \pause
508 %
509 % \begin{block}{Alternativen}
510 % \begin{itemize}
511 % \item keine bekannt
512 % \end{itemize}
513 % \end{block}
514 }
518 \subsection{Window-Manager}
519 \frame{ \frametitle{Window-Manager}
520 \begin{block}{dwm}
521 \begin{itemize}
522 \item
523 \item
524 \item \dots
525 \item Debian-Paket: 20k
526 \end{itemize}
527 \end{block}
529 \pause
531 \begin{block}{Alternativen}
532 \begin{itemize}
533 \item \texttt{larswm} (110k)
534 \item \texttt{ratpoison} (170k)
535 \item \texttt{ion2} (330k)
536 \item \texttt{icewm} (700k)
537 \end{itemize}
538 \end{block}
539 }
544 \section{Suckless-Projekt}
545 \frame{ \frametitle{Suckless-Projekt}
547 }
554 \section{Zusammenfassung}
555 \frame{ \frametitle{Zusammenfassung}
556 \begin{block}{}
557 \begin{itemize}
558 \item
559 \item
560 \item
561 \end{itemize}
562 \end{block}
564 }
567 \section{Fragen}
568 \frame{ \frametitle{Fragen?}
569 \vspace{5ex}
570 \centerline{\huge ?}
571 }
574 \frame{ \frametitle{Abschließend}
575 \begin{block}{Verwendete Software}
576 \begin{itemize}
577 \item Debian GNU/Linux
578 \item \LaTeX-Beamer und \texttt{pdflatex}
579 \item Vim
580 \item qiv und ImageMagick
581 \item Mercurial
582 \end{itemize}
583 \end{block}
585 { \tiny $\dagger$ \textit{UNIX} ist ein eingetragenes Warenzeichen der OpenGroup. }
587 \begin{block}{}
588 \vspace{3ex}
589 \centerline{\textbf{Danke für eure Aufmerksamkeit}}
590 \end{block}
591 }
594 \end{document}