docs/gimme-shellter

annotate GimmeShellter.tex @ 11:71ca21c937d1

small fix
author meillo@marmaro.de
date Wed, 12 Dec 2007 13:11:00 +0100
parents e50c493cf700
children
rev   line source
meillo@1 1 % @file
meillo@1 2 % @brief Vortrag: Mein Umzug in die Shell
meillo@1 3 % @author markus schnalke <meillo@marmaro.de>
meillo@1 4 % @since 2007-09-25
meillo@1 5
meillo@1 6
meillo@1 7 \documentclass{beamer}
meillo@1 8
meillo@1 9 \usepackage[utf8]{inputenc}
meillo@1 10 \usepackage{ngerman}
meillo@1 11 \usepackage{graphicx}
meillo@1 12 \usepackage[automark]{scrpage2}
meillo@1 13
meillo@1 14 \title{Gimme Shell(ter)}
meillo@1 15 \author{markus schnalke}
meillo@8 16 \date{2007-12-11}
meillo@1 17
meillo@1 18 \begin{document}
meillo@1 19
meillo@1 20
meillo@1 21 \frame{
meillo@1 22 \vspace{8em}
meillo@1 23 \begin{center}
meillo@2 24 {\huge Gimme Shell}{\tiny (ter)}
meillo@1 25
meillo@2 26 {Mein Umzug in die Shell}
meillo@1 27
meillo@1 28 \vspace{6em}
meillo@1 29
meillo@1 30 { \tiny
meillo@2 31 markus schnalke \textless{}meillo@marmaro.de\textgreater{}
meillo@1 32 }
meillo@1 33
meillo@1 34
meillo@1 35 \end{center}
meillo@1 36 }
meillo@1 37
meillo@1 38
meillo@1 39
meillo@1 40
meillo@1 41
meillo@1 42 \section{Vorwort}
meillo@1 43 \frame{ \frametitle{Vorwort}
meillo@1 44
meillo@1 45 \begin{block}{}
meillo@1 46 Dass meine Zukunft in der Shell stattfinden soll, war mir schon lange klar.
meillo@1 47 \end{block}
meillo@1 48
meillo@1 49 \begin{block}{}
meillo@1 50 Bis ich jedoch soweit war, war es ein langer Weg.
meillo@1 51 \end{block}
meillo@1 52
meillo@1 53 \begin{block}{}
meillo@1 54 Und keinesfalls möchte ich behaupten, dass ich am Ziel wäre, denn es gibt kein Ziel. Es gibt nur vorwärts.
meillo@1 55 \end{block}
meillo@1 56
meillo@1 57 }
meillo@1 58
meillo@1 59
meillo@1 60
meillo@2 61 \section{Ziele}
meillo@2 62 \frame{ \frametitle{Ziele}
meillo@2 63 Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
meillo@1 64
meillo@1 65 \vspace{1em}
meillo@4 66 \pause
meillo@1 67
meillo@4 68 Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
meillo@4 69
meillo@4 70 \vspace{1em}
meillo@4 71 \pause
meillo@4 72
meillo@2 73 Ich möchte motivieren, mal Urlaub in der Shell zu machen.
meillo@1 74
meillo@1 75 \vspace{1em}
meillo@4 76 \pause
meillo@1 77
meillo@4 78 Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
meillo@1 79
meillo@1 80 \vspace{1em}
meillo@4 81 \pause
meillo@1 82
meillo@2 83 Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
meillo@1 84 }
meillo@1 85
meillo@1 86
meillo@1 87
meillo@1 88
meillo@1 89 \section{Motivation}
meillo@1 90 \frame{ \frametitle{Motivation}
meillo@1 91 \begin{itemize}
meillo@1 92 \item Weil es cool ist {\scriptsize \textit{*hehe*}}
meillo@1 93 \end{itemize}
meillo@1 94 \pause
meillo@1 95 \begin{itemize}
meillo@1 96 \item effektiveres Arbeiten möglich
meillo@1 97 \item konfigurierbarer
meillo@1 98 \item ressourcenschonender
meillo@1 99 \end{itemize}
meillo@1 100 \pause
meillo@1 101 \begin{itemize}
meillo@1 102 \item Vorteile von \texttt{screen}
meillo@1 103 \item \texttt{ssh} von überall
meillo@1 104 \item auch ohne \texttt{X} daheim
meillo@1 105 \end{itemize}
meillo@1 106
meillo@1 107 \pause
meillo@1 108 \begin{block}{}
meillo@1 109 \textbf{Konzentration auf das Wesentliche!}
meillo@1 110
meillo@1 111 Näher an der UNIX-Philosophie
meillo@1 112 \end{block}
meillo@1 113 }
meillo@1 114
meillo@1 115
meillo@1 116
meillo@7 117 \part{UNIX}
meillo@7 118 \frame{
meillo@8 119 \vspace{20ex}
meillo@7 120 \centerline{ \huge UNIX }
meillo@8 121 \vspace{16ex}
meillo@8 122 { \tiny UNIX is a registered trademark of The Open Group. }
meillo@8 123
meillo@7 124 }
meillo@1 125
meillo@1 126
meillo@1 127 \section{Die UNIX-Philosophie}
meillo@1 128 \frame{ \frametitle{Die UNIX-Philosophie}
meillo@1 129 \begin{block}{}
meillo@8 130 DER Grund UNIX zu verwenden
meillo@1 131
meillo@1 132 ``Pro UNIX'' statt ``Anti Windows''
meillo@1 133 \end{block}
meillo@1 134
meillo@1 135 \pause
meillo@1 136
meillo@1 137 \begin{block}{}
meillo@1 138 Welche wirklichen Vorteile bietet Gnome gegenüber der Windows-Oberfläche?
meillo@1 139
meillo@1 140 \vspace{0.3em}
meillo@1 141
meillo@1 142 Richtig, keine!
meillo@1 143
meillo@1 144 \vspace{0.3em}
meillo@1 145
meillo@2 146 An der Basis seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Oberfläche? \\
meillo@2 147 \pause
meillo@3 148 Oder: \textit{An der Oberfläche seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Basis?}
meillo@1 149 \end{block}
meillo@1 150
meillo@1 151 \pause
meillo@1 152
meillo@1 153 \begin{block}{}
meillo@1 154 UNIX ist mehr als Ubuntu!
meillo@1 155
meillo@2 156 \textbf{Um UNIX zu verstehen, muss man seine Philosophie kennen!}
meillo@1 157 \end{block}
meillo@1 158 }
meillo@1 159
meillo@1 160
meillo@1 161
meillo@1 162 \frame{ \frametitle{Die UNIX-Philosophie}
meillo@1 163 \begin{itemize}
meillo@3 164 \item klein ist schön
meillo@3 165 \item genau eine Sache gut machen
meillo@3 166 \item früher Prototyp
meillo@3 167 \item Portabilität vor Effizienz
meillo@3 168 \item Daten in ASCII-Files speichern
meillo@3 169 \item Code borgen
meillo@3 170 \item alles automatisieren
meillo@3 171 \item CLI statt GUI
meillo@3 172 \item Programme als Filter
meillo@1 173 \end{itemize}
meillo@2 174
meillo@2 175 \pause
meillo@2 176
meillo@2 177 \begin{block}{siehe auch}
meillo@2 178 \begin{itemize}
meillo@7 179 \item Mike Gancarz
meillo@2 180 \item Rob Pike
meillo@7 181 \item http://harmful.cat-v.org/cat-v/
meillo@7 182 \item Plan9
meillo@2 183 \end{itemize}
meillo@2 184 \end{block}
meillo@1 185 }
meillo@1 186
meillo@1 187
meillo@1 188
meillo@1 189
meillo@1 190 \section{GUI vs. CLI}
meillo@1 191 \frame{ \frametitle{GUI vs. CLI}
meillo@1 192 \begin{block}{GUI-Programme \dots}
meillo@1 193 \begin{itemize}
meillo@1 194 \item haben hässlichen Code
meillo@1 195 \item sind aufgebläht
meillo@1 196 \item schränken ein
meillo@1 197 \item laufen nur mit X
meillo@1 198 \end{itemize}
meillo@1 199 \end{block}
meillo@1 200
meillo@1 201 \pause
meillo@1 202
meillo@1 203 \begin{block}{CLI-Programme \dots}
meillo@1 204 \begin{itemize}
meillo@1 205 \item sind kleiner
meillo@1 206 \item sind besser konfigurierbar
meillo@1 207 \item sind älter und ausgereifter
meillo@1 208 \item sind portabler (und damit auch öfter portiert)
meillo@1 209 \end{itemize}
meillo@1 210 \end{block}
meillo@1 211
meillo@2 212 \pause
meillo@2 213
meillo@2 214 { \scriptsize (Natürlich gilt das nicht zwangsläufig, die Wahrscheinlichkeit ist aber groß.) }
meillo@1 215 }
meillo@1 216
meillo@1 217
meillo@5 218 \subsection{CURSES}
meillo@5 219 \frame{ \frametitle{CURSES}
meillo@5 220 \begin{block}{CLI, TUI, GUI}
meillo@4 221 \begin{itemize}
meillo@4 222 \item CLI: \texttt{cat cli.txt | mail -s CLI lugu}
meillo@5 223 \item TUI: \texttt{mutt}
meillo@4 224 \item GUI: \texttt{Menu \textgreater{} Applications \textgreater{} Evolution}
meillo@4 225 \end{itemize}
meillo@4 226 \end{block}
meillo@1 227
meillo@7 228 \pause
meillo@7 229
meillo@4 230 \begin{block}{CURSES}
meillo@4 231 \begin{itemize}
meillo@4 232 \item CURSES ist \emph{nicht} CLI
meillo@4 233 \item sondern Text User Interface
meillo@7 234 \item Ich bin hier nicht immer ganz korrekt
meillo@7 235 \item CURSES gehört aber auch zur Shell
meillo@4 236 \end{itemize}
meillo@4 237 \end{block}
meillo@4 238 }
meillo@4 239
meillo@4 240
meillo@4 241
meillo@4 242 \subsection{GUIs als Frontend}
meillo@1 243 \frame{ \frametitle{GUIs als Frontend}
meillo@1 244
meillo@1 245 \begin{block}{}
meillo@1 246 GUIs sollen laut UNIX-Philosophie nur Frontends sein.
meillo@1 247 \end{block}
meillo@1 248
meillo@2 249 \pause
meillo@2 250
meillo@1 251 \begin{block}{Beispiele}
meillo@1 252 \begin{itemize}
meillo@1 253 \item Programm: \texttt{nmap}
meillo@1 254 \item Frontends: \texttt{nmapfe} (GTK), \texttt{knmap} (Qt)
meillo@1 255 \end{itemize}
meillo@1 256
meillo@1 257 \begin{itemize}
meillo@1 258 \item Programm: \texttt{libparted}
meillo@1 259 \item Frontends: \texttt{parted} (curses), \texttt{gparted} (GTK), \texttt{qtparted} (Qt)
meillo@1 260 \end{itemize}
meillo@1 261 \end{block}
meillo@1 262 }
meillo@1 263
meillo@1 264
meillo@1 265
meillo@4 266 \subsection{Größe von User-Interfaces}
meillo@1 267 \frame{ \frametitle{Größe von User-Interfaces}
meillo@1 268
meillo@1 269
meillo@1 270 { \scriptsize
meillo@1 271 \begin{itemize}
meillo@1 272 \item Package: \textbf{libparted1.7-1}
meillo@1 273 \item Size: 198,554
meillo@1 274 \item Depends: libc6 ($>$= 2.3.6-6), libuuid1
meillo@1 275 \end{itemize}
meillo@1 276 }
meillo@1 277
meillo@1 278 \pause
meillo@1 279
meillo@1 280
meillo@1 281 { \scriptsize
meillo@1 282 \begin{itemize}
meillo@1 283 \item Package: \textbf{parted}
meillo@1 284 \item Size: 56,268
meillo@1 285 \item Depends: libc6 ($>$= 2.3.6-6), libncurses5 ($>$= 5.4-5), libparted1.7-1 ($>$= 1.7.1-1), libreadline5 ($>$= 5.2)
meillo@1 286 \end{itemize}
meillo@1 287 }
meillo@1 288
meillo@1 289 \pause
meillo@1 290
meillo@1 291 { \scriptsize
meillo@1 292 \begin{itemize}
meillo@1 293 \item Package: \textbf{gparted}
meillo@1 294 \item Size: 452,616
meillo@1 295 \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 296 \end{itemize}
meillo@1 297 }
meillo@1 298 }
meillo@1 299
meillo@1 300
meillo@1 301
meillo@1 302
meillo@4 303 \section{Programme vergleichen}
meillo@4 304 \frame{ \frametitle{Programme vergleichen}
meillo@4 305 \begin{block}{Weshalb die Programmgröße beachten?}
meillo@3 306 \begin{itemize}
meillo@3 307 \item Kleine Programme sind: flexibler, portabler, einfacher zu verstehen, bugfreier (vgl. UNIX-Philosophie)
meillo@4 308 \item Die Paketgröße gibt indirekt Aufschluss auf den Codeumfang
meillo@3 309 \item Der Codeumfang im Verhältnis zu den Features wirft Überlegungen zur Qualität des Codes auf
meillo@4 310 \end{itemize}
meillo@4 311 \end{block}
meillo@4 312
meillo@4 313 \begin{block}{}
meillo@4 314 Dies ist nur als Anhaltspunkt zu sehen!
meillo@4 315 \end{block}
meillo@4 316 }
meillo@4 317
meillo@4 318
meillo@4 319
meillo@4 320 \subsection{Messmethoden}
meillo@4 321 \frame{ \frametitle{Messmethoden}
meillo@4 322 \begin{block}{Paketgröße}
meillo@4 323 \begin{itemize}
meillo@4 324 \item \texttt{apt-cache show \textless{}paket\textgreater{} | grep \^{}Size}
meillo@4 325 \item einfach auszulesen
meillo@4 326 \item Problem: Dokumentation ist oft auch im Paket enthalten
meillo@3 327 \end{itemize}
meillo@3 328 \end{block}
meillo@3 329
meillo@3 330 \pause
meillo@3 331
meillo@4 332 \begin{block}{Source-Filesizes}
meillo@3 333 \begin{itemize}
meillo@4 334 \item \texttt{du -c *.[ch]} (je nach Sprache)
meillo@4 335 \item Quellcode muss vorliegen (\texttt{apt-get source})
meillo@4 336 \item Problem: \texttt{\{} vs. \texttt{begin}
meillo@4 337 \end{itemize}
meillo@4 338 \end{block}
meillo@4 339
meillo@4 340 \pause
meillo@4 341
meillo@4 342 \begin{block}{Source Lines Of Code}
meillo@4 343 \begin{itemize}
meillo@4 344 \item \texttt{sloccount} von David A. Wheeler
meillo@4 345 \item Sprachen werden ``gleicher bewertet''
meillo@3 346 \end{itemize}
meillo@3 347 \end{block}
meillo@3 348 }
meillo@3 349
meillo@3 350
meillo@3 351
meillo@7 352 \part{Die Shell und ich}
meillo@7 353 \frame{
meillo@7 354 \vspace{8ex}
meillo@7 355 \centerline{ \huge Die Shell und ich }
meillo@7 356 }
meillo@7 357
meillo@1 358
meillo@4 359
meillo@4 360
meillo@1 361 \section{Mein Weg}
meillo@1 362 \frame{ \frametitle{Mein Weg}
meillo@1 363 \begin{block}{2005}
meillo@1 364 Fluxbox, Firefox, Kate, Sylpheed Claws, gFTP, Gaim, vlc, k3b, gThumb, OOo, Grip, XMMS, \dots
meillo@1 365 \end{block}
meillo@1 366
meillo@1 367 \pause
meillo@1 368
meillo@1 369 \begin{block}{2006}
meillo@5 370 Auslöser:\\
meillo@5 371 Artikel ``Mein Umzug in die Shell'' von Gregor Oelze auf linuxlog
meillo@1 372 \end{block}
meillo@1 373
meillo@1 374 \pause
meillo@1 375
meillo@1 376 \begin{block}{2007}
meillo@1 377 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 378 \end{block}
meillo@2 379
meillo@2 380 \pause
meillo@2 381
meillo@2 382 \begin{block}{}
meillo@2 383 {\scriptsize Nachzulesen auf http://marmaro.de/lue }
meillo@2 384 \end{block}
meillo@1 385 }
meillo@1 386
meillo@1 387
meillo@2 388 \section{Programme}
meillo@2 389
meillo@2 390 \subsection{Editor}
meillo@2 391 \frame{ \frametitle{Editor}
meillo@3 392 \begin{block}{vi(m)}
meillo@2 393 \begin{itemize}
meillo@2 394 \item Der Editor schlechthin
meillo@2 395 \item Auf jedem UNIX-System vorhanden
meillo@4 396 \item meist in Form eines Klons
meillo@3 397 \item darf ruhig angepasst werden: \texttt{.vimrc}
meillo@3 398 \item Die meisten User verwenden viel zu wenige seiner Möglichkeiten!
meillo@2 399 \end{itemize}
meillo@2 400 \end{block}
meillo@2 401
meillo@2 402 \pause
meillo@2 403
meillo@2 404 \begin{block}{Alternativen}
meillo@2 405 \begin{itemize}
meillo@2 406 \item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon.
meillo@2 407 \item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting.
meillo@4 408 \item \texttt{emacs} (5.89e37) \dots
meillo@2 409 \end{itemize}
meillo@2 410 \end{block}
meillo@2 411 }
meillo@2 412
meillo@2 413
meillo@2 414
meillo@2 415 \subsection{Mailclient}
meillo@2 416 \frame{ \frametitle{Mailclient}
meillo@2 417 \begin{block}{mutt}
meillo@2 418 \begin{itemize}
meillo@3 419 \item ``The mail client, that sucks less''
meillo@2 420 \item sehr konfigurierbar
meillo@2 421 \item Kombination mit \texttt{fetchmail}, \texttt{procmail}, \texttt{masqmail}
meillo@2 422 \item Debian-Paket: 1810k
meillo@2 423 \end{itemize}
meillo@2 424 \end{block}
meillo@2 425
meillo@2 426 \pause
meillo@2 427
meillo@2 428 \begin{block}{Alternativen}
meillo@2 429 \begin{itemize}
meillo@2 430 \item \texttt{mailx} (155k) einfaches Mailprogramm
meillo@5 431 \item \texttt{pine} (4M) (nur als Source-Paket verfügbar)
meillo@7 432 \item \texttt{mutt-ng} (1790k) Neue Features für mutt (tot?)
meillo@2 433 \end{itemize}
meillo@2 434 \end{block}
meillo@2 435 }
meillo@2 436
meillo@2 437
meillo@2 438
meillo@2 439 \subsection{Browser}
meillo@2 440 \frame{ \frametitle{Browser}
meillo@2 441 \begin{block}{w3m}
meillo@2 442 \begin{itemize}
meillo@2 443 \item Textbrowser
meillo@4 444 \item hat Caret-Navigation
meillo@2 445 \item kein JavaScript
meillo@4 446 \item Inline-Bilder mit \texttt{w3m-img}
meillo@3 447 \item Debian-Paket: 1100k
meillo@2 448 \end{itemize}
meillo@2 449 \end{block}
meillo@2 450
meillo@2 451 \pause
meillo@2 452
meillo@2 453 \begin{block}{Alternativen}
meillo@2 454 \begin{itemize}
meillo@2 455 \item \texttt{lynx} (1860k) der Dinosaurier
meillo@2 456 \item \texttt{links} (380k) lynx-Klon
meillo@2 457 \item \texttt{elinks} (1190k) hat auch JavaScript-Unterstützung
meillo@2 458 \item \texttt{links2} (2080k) bietet textuellen und grafischen Modus
meillo@2 459 \item \texttt{dillo} (360k) rein grafisch, layoutet aber wie Textbrowser
meillo@2 460 \end{itemize}
meillo@2 461 \end{block}
meillo@2 462 }
meillo@2 463
meillo@2 464
meillo@2 465
meillo@2 466 \subsection{Musikplayer}
meillo@2 467 \frame{ \frametitle{Musikplayer}
meillo@2 468 \begin{block}{cplay}
meillo@2 469 \begin{itemize}
meillo@2 470 \item Frontend für mpg123, ogg123, \dots
meillo@2 471 \item sehr simpel, aber meist ausreichend
meillo@2 472 \item vi-like Bedienung
meillo@3 473 \item Remote-Control via FIFO
meillo@2 474 \item Debian-Paket: 41k
meillo@2 475 \end{itemize}
meillo@2 476 \end{block}
meillo@2 477
meillo@2 478 \pause
meillo@2 479
meillo@2 480 \begin{block}{Alternativen}
meillo@2 481 \begin{itemize}
meillo@2 482 \item \texttt{moc} (190k) sehr einfach, etwas instabil
meillo@2 483 \item \texttt{cmus} (124k) sehr featurereich
meillo@2 484 \item \texttt{mpd+ncmpc} (127k+85k) Client-Server-Architektur
meillo@2 485 \end{itemize}
meillo@2 486 \end{block}
meillo@2 487 }
meillo@2 488
meillo@2 489
meillo@2 490
meillo@3 491 \subsection{Filemanager}
meillo@3 492 \frame{ \frametitle{Filemanager}
meillo@3 493 \begin{block}{coreutils}
meillo@3 494 \begin{itemize}
meillo@3 495 \item cd, mv, cp, rm, mkdir, rmdir, \dots
meillo@4 496 \item man braucht eine gewisse Übersicht im Filesystem
meillo@3 497 \item letztendlich aber einfach am schnellsten
meillo@3 498 \item überall vorhanden
meillo@3 499 \end{itemize}
meillo@3 500 \end{block}
meillo@3 501
meillo@3 502 \pause
meillo@3 503
meillo@3 504 \begin{block}{Alternativen}
meillo@3 505 \begin{itemize}
meillo@3 506 \item \texttt{mc} (2140k) Alleskönner mit schrecklicher Bedienung
meillo@3 507 \item \texttt{vifm} (63k) \texttt{mc} mit vi-Bedienung; noch zu wenige Features
meillo@3 508 \end{itemize}
meillo@3 509 \end{block}
meillo@3 510 }
meillo@3 511
meillo@3 512
meillo@3 513
meillo@2 514 \subsection{FTP-Client}
meillo@2 515 \frame{ \frametitle{FTP-Client}
meillo@2 516 \begin{block}{ncftp}
meillo@2 517 \begin{itemize}
meillo@2 518 \item toller FTP-Client
meillo@4 519 \item hatte nur früher ein curses-Interface (\texttt{ncftp2})
meillo@3 520 \item ncftpget, ncftpput, \dots
meillo@2 521 \item Debian-Paket: 500k
meillo@2 522 \end{itemize}
meillo@2 523 \end{block}
meillo@2 524
meillo@2 525 \pause
meillo@2 526
meillo@2 527 \begin{block}{Alternativen}
meillo@2 528 \begin{itemize}
meillo@3 529 \item \texttt{ftp} (50k) wenig Komfort
meillo@3 530 \item \texttt{lftp} (540k) (kenne ich leider nicht)
meillo@4 531 \item \texttt{mc} (2140k) er kann auch ftp
meillo@2 532 \end{itemize}
meillo@2 533 \end{block}
meillo@2 534 }
meillo@2 535
meillo@2 536
meillo@2 537
meillo@2 538 \subsection{Chatten}
meillo@2 539 \frame{ \frametitle{Chatten}
meillo@3 540 \begin{block}{weechat-curses}
meillo@2 541 \begin{itemize}
meillo@2 542 \item ein IRC-Client
meillo@7 543 \item ``\texttt{irssi} von Grund auf neu''
meillo@2 544 \item Debian-Paket: 580k
meillo@2 545 \end{itemize}
meillo@2 546 \end{block}
meillo@2 547
meillo@2 548 \pause
meillo@2 549
meillo@2 550 \begin{block}{Alternativen}
meillo@2 551 \begin{itemize}
meillo@4 552 \item \texttt{irssi} (1060k) populärer IRC-Client
meillo@3 553 \item \texttt{sic} (6k) liest stdin, schreibt stdout
meillo@3 554 \item \texttt{centericq} (1260k) sehr bekannter ICQ-Client
meillo@2 555 \end{itemize}
meillo@2 556 \end{block}
meillo@2 557
meillo@2 558 \pause
meillo@2 559
meillo@2 560 \begin{block}{bitlbee}
meillo@2 561 \begin{itemize}
meillo@2 562 \item bitlbee ist ein IM-to-IRC-Gateway
meillo@7 563 \item IRC-Client für ICQ und Jabber verwenden
meillo@2 564 \item Debian-Paket: 315k
meillo@2 565 \end{itemize}
meillo@2 566 \end{block}
meillo@2 567 }
meillo@2 568
meillo@2 569
meillo@2 570
meillo@2 571 \subsection{Framebuffer}
meillo@2 572 \frame{ \frametitle{Framebuffer}
meillo@2 573 \begin{block}{fbi}
meillo@2 574 \begin{itemize}
meillo@2 575 \item \texttt{fbi} zeigt Bilder im Framebuffer
meillo@2 576 \item \texttt{fbgs} zeigt PDF- und PS-Dokumente im Framebuffer
meillo@2 577 \item Debian-Paket: 54k (enthält \texttt{fbgs})
meillo@2 578 \end{itemize}
meillo@2 579 \end{block}
meillo@2 580
meillo@2 581 \pause
meillo@2 582
meillo@2 583 \begin{block}{mplayer}
meillo@2 584 \begin{itemize}
meillo@2 585 \item \texttt{mplayer -vo fbdev} zeigt Filme im Framebuffer
meillo@2 586 \item kann auch über libaa, libcaca und Ähnliches ausgeben
meillo@2 587 \item Debian-Paket: 4400k
meillo@2 588 \end{itemize}
meillo@2 589 \end{block}
meillo@2 590
meillo@2 591 }
meillo@2 592
meillo@2 593
meillo@2 594
meillo@2 595 \subsection{screen}
meillo@2 596 \frame{ \frametitle{screen}
meillo@2 597 \begin{block}{screen}
meillo@2 598 \begin{itemize}
meillo@2 599 \item Terminal-Multiplexer
meillo@7 600 \item ein \texttt{must-have} für Shelluser
meillo@7 601 \item Nur noch ein Terminal nötig (ssh)
meillo@7 602 \item Arbeit an beliebiger Stelle unterbrechen und später genau dort fortsetzen
meillo@7 603 \item Wer einmal damit gearbeitet hat kommt nicht mehr davon los!
meillo@2 604 \item Debian-Paket: 590k
meillo@2 605 \end{itemize}
meillo@2 606 \end{block}
meillo@7 607
meillo@7 608 \pause
meillo@7 609
meillo@7 610 \begin{block}{Alternativen}
meillo@7 611 \begin{itemize}
meillo@7 612 \item \texttt{dtach} bietet detach-Feature von \texttt{screen}
meillo@7 613 \end{itemize}
meillo@7 614 \end{block}
meillo@2 615 }
meillo@2 616
meillo@2 617
meillo@2 618
meillo@7 619 \section{Remote arbeiten}
meillo@7 620 \frame{ \frametitle{Remote arbeiten}
meillo@7 621 \begin{block}{Server}
meillo@7 622 \begin{itemize}
meillo@7 623 \item Ein Server ist etwas sehr Tolles!
meillo@7 624 \item per dyndns.org aus dem Internet erreichbar
meillo@7 625 \item Upload-Bandbreite sollte nicht zu dünn sein
meillo@7 626 \item (64k sind etwas wenig *heul*)
meillo@7 627 \item Zugang per ssh
meillo@7 628 \end{itemize}
meillo@7 629 \end{block}
meillo@7 630
meillo@7 631 \pause
meillo@7 632
meillo@7 633 \begin{block}{Client}
meillo@7 634 \begin{itemize}
meillo@7 635 \item nur Internet und offener Port nötig
meillo@7 636 \item für Windows: PuTTY (gibt's auch für den USB-Stick)
meillo@7 637 \end{itemize}
meillo@7 638 \end{block}
meillo@7 639 }
meillo@7 640
meillo@7 641
meillo@7 642 \frame{ \frametitle{Remote arbeiten}
meillo@7 643 \begin{block}{Vorteile}
meillo@7 644 \begin{itemize}
meillo@7 645 \item weniger Wartungs- und Konfigurationsaufwand
meillo@7 646 \item einfache Datensicherung
meillo@7 647 \item von überall im eigenen System arbeiten
meillo@7 648 \end{itemize}
meillo@7 649 \end{block}
meillo@7 650
meillo@7 651 \pause
meillo@7 652
meillo@7 653 \begin{block}{Nachteile}
meillo@7 654 \begin{itemize}
meillo@7 655 \item Dateitransfers zum Client nötig
meillo@7 656 \item u.U. etwas lahm
meillo@7 657 \item nicht überall ist ssh erlaubt
meillo@7 658 \end{itemize}
meillo@7 659 \end{block}
meillo@7 660 }
meillo@7 661
meillo@7 662
meillo@7 663
meillo@7 664
meillo@7 665 \part{dwm}
meillo@7 666 \frame{
meillo@7 667 \vspace{8ex}
meillo@7 668 \centerline{ \huge dwm }
meillo@7 669 }
meillo@7 670
meillo@7 671
meillo@7 672 \section{Window-Manager}
meillo@2 673 \frame{ \frametitle{Window-Manager}
meillo@2 674 \begin{block}{dwm}
meillo@2 675 \begin{itemize}
meillo@3 676 \item dynamic window manager
meillo@7 677 \item seit Juli 2006
meillo@3 678 \item von Anselm R. Garbe (wmii)
meillo@3 679 \item http://dwm.suckless.org
meillo@2 680 \item Debian-Paket: 20k
meillo@2 681 \end{itemize}
meillo@2 682 \end{block}
meillo@2 683
meillo@2 684 \pause
meillo@2 685
meillo@2 686 \begin{block}{Alternativen}
meillo@2 687 \begin{itemize}
meillo@5 688 \item \texttt{larswm} (110k) hatte Einfluss auf dwm
meillo@5 689 \item \texttt{ratpoison} (170k) soll zu \texttt{screen} passen
meillo@5 690 \item \texttt{ion2} (330k) bekannt für seine Tastatursteuerung
meillo@7 691 \item \texttt{icewm} (700k) wird oft als sehr kleiner ``herkömmlicher'' WM aufgeführt
meillo@2 692 \end{itemize}
meillo@2 693 \end{block}
meillo@2 694 }
meillo@2 695
meillo@2 696
meillo@2 697
meillo@2 698
meillo@3 699 \frame{ \frametitle{dwm}
meillo@3 700 \begin{block}{Features}
meillo@3 701 \begin{itemize}
meillo@3 702 \item minimalistisch, nur das Nötig(st)e
meillo@3 703 \item Tagging statt Workspaces
meillo@3 704 \item Konfiguration durch Quellcode editieren und neu kompilieren
meillo@3 705 \item Quellcode kann an einem Abend verstanden werden
meillo@3 706 \item aktive Entwicklung
meillo@3 707 \end{itemize}
meillo@3 708 \end{block}
meillo@2 709
meillo@3 710 \pause
meillo@3 711
meillo@3 712 \begin{block}{Ziele}
meillo@3 713 \begin{itemize}
meillo@3 714 \item 2kLOC
meillo@3 715 \item portables C
meillo@3 716 \item guter Code (Refactoring)
meillo@4 717 \item sehr standardkonform (aber: broken apps)
meillo@3 718 \item Erweiterung mit Patches
meillo@3 719 \end{itemize}
meillo@3 720 \end{block}
meillo@3 721 }
meillo@3 722
meillo@3 723
meillo@3 724
meillo@3 725
meillo@3 726 \section{suckless-Projekt}
meillo@3 727 \frame{ \frametitle{suckless-Projekt}
meillo@3 728 \begin{block}{Community}
meillo@3 729 \begin{itemize}
meillo@3 730 \item http://suckless.org
meillo@3 731 \item kleine aktive Community
meillo@3 732 \item Patches als fester Bestandteil
meillo@3 733 \item Mailingliste ist Pflicht
meillo@3 734 \item einfach mitmachen!
meillo@3 735 \end{itemize}
meillo@3 736 \end{block}
meillo@3 737
meillo@3 738 \pause
meillo@3 739
meillo@3 740 \begin{block}{Mein dwm}
meillo@3 741 \begin{itemize}
meillo@3 742 \item ein Patchset
meillo@4 743 \item http://prog.marmaro.de/dwm-meillo
meillo@3 744 \end{itemize}
meillo@3 745 \end{block}
meillo@2 746 }
meillo@2 747
meillo@1 748
meillo@1 749
meillo@7 750 \part{Abschluss}
meillo@7 751 \frame{
meillo@7 752 \vspace{8ex}
meillo@7 753 \centerline{ \huge Abschluss }
meillo@7 754 }
meillo@7 755
meillo@7 756
meillo@1 757
meillo@4 758 \section{Soll erfüllt?}
meillo@4 759 \frame{ \frametitle{Soll erfüllt?}
meillo@7 760 Es sollte klar geworden sein, dass man auch ohne X komfortabel arbeiten kann.
meillo@4 761
meillo@5 762 \pause
meillo@5 763 \vspace{1em}
meillo@4 764
meillo@5 765 Ich habe Einstiegshilfen gegeben und hoffentlich die ``Angst'' vor der textbasierten Benutzerschnittstelle genommen.
meillo@5 766
meillo@5 767 \pause
meillo@5 768 \vspace{1em}
meillo@5 769
meillo@7 770 Jetzt sollte eigentlich jeder von euch dabei sein, einen Ausflug in die Shell zu planen.
meillo@5 771
meillo@5 772 \pause
meillo@5 773 \vspace{1em}
meillo@5 774
meillo@7 775 Weshalb die Shell wirklich besser ist, als die grafische Oberfläche, das kann man nur für sich selbst herausfinden \dots
meillo@5 776 }
meillo@4 777
meillo@4 778
meillo@4 779
meillo@4 780
meillo@4 781
meillo@5 782 \section{Zusammenfassung}
meillo@5 783 \frame{ \frametitle{Zusammenfassung}
meillo@4 784
meillo@7 785 Die Shell ist die grundlegende Kommunikationsschnittstelle zum Rechner.
meillo@7 786 Keine GUI ist so mächtig wie die Shell.
meillo@7 787
meillo@5 788 \pause
meillo@5 789 \vspace{1em}
meillo@4 790
meillo@7 791 UNIX und die Shell sind wie Yin und Yang.
meillo@7 792
meillo@7 793 \pause
meillo@7 794 \vspace{1em}
meillo@7 795
meillo@7 796 Man versteht die Shell erst, wenn man UNIX versteht --- UNIX zu verstehen, heißt seine Philosophie zu verstehen.
meillo@7 797
meillo@7 798 \pause
meillo@7 799 \vspace{1em}
meillo@7 800
meillo@7 801 Der entscheidende Teil meines Vortrags ist die UNIX-Philosophie. Versteht man diese, so versteht man was ich meine.
meillo@7 802 Findet man aber nicht seinen Weg zu ihr, so wird man kaum verstehen, um was es hier geht.
meillo@7 803
meillo@7 804 \pause
meillo@7 805 \vspace{1em}
meillo@7 806
meillo@7 807 Die Konzepte hinter UNIX haben mich vollkommen überzeugt.
meillo@7 808
meillo@7 809 \dots und es war eine der besten Entscheidungen meines Lebens, nach ihnen zu leben!
meillo@7 810
meillo@4 811 }
meillo@1 812
meillo@1 813
meillo@1 814
meillo@4 815
meillo@4 816 \section{Links}
meillo@4 817 \frame{ \frametitle{Links auf einen Blick}
meillo@4 818 \begin{itemize}
meillo@7 819 \item http://dwm.suckless.org (Website des dwm)
meillo@7 820 \item http://harmful.cat-v.org/cat-v/ (Website von Uriel)
meillo@7 821 \item http://marmaro.de/lue (Mein Computer-Tagebuch)
meillo@4 822 \item http://pimpmyshell.de (Projekt von Gregor Oelze)
meillo@7 823 \item http://prog.marmaro.de/dwm-meillo (Mein dwm-Patchset)
meillo@7 824 \item http://suckless.org (Software which sucks less)
meillo@7 825 \item http://www.cs.bell-labs.com/plan9/ (Das bessere UNIX!?)
meillo@4 826 \end{itemize}
meillo@7 827
meillo@7 828 \pause
meillo@7 829
meillo@7 830 \begin{block}{unbedingt lesen!}
meillo@7 831 \textbf{The Command Line --- The Best Newbie Interface}
meillo@7 832
meillo@7 833 {\scriptsize http://osnews.com/story.php/6282/The-Command-Line--The-Best-Newbie-Interface }
meillo@7 834 \end{block}
meillo@4 835 }
meillo@4 836
meillo@4 837
meillo@4 838
meillo@4 839
meillo@4 840 \section{Danke}
meillo@4 841 \frame{% \frametitle{Abschließend}
meillo@1 842 \begin{block}{Verwendete Software}
meillo@1 843 \begin{itemize}
meillo@1 844 \item Debian GNU/Linux
meillo@1 845 \item \LaTeX-Beamer und \texttt{pdflatex}
meillo@1 846 \item Vim
meillo@1 847 \item qiv und ImageMagick
meillo@1 848 \item Mercurial
meillo@1 849 \end{itemize}
meillo@1 850 \end{block}
meillo@1 851
meillo@3 852 \pause
meillo@3 853
meillo@1 854 \begin{block}{}
meillo@1 855 \vspace{3ex}
meillo@1 856 \centerline{\textbf{Danke für eure Aufmerksamkeit}}
meillo@7 857 \vspace{7ex}
meillo@1 858 \end{block}
meillo@7 859
meillo@7 860 \pause
meillo@7 861
meillo@7 862 {\scriptsize Den Vortrag gibt's online auf http://marmaro.de/docs \hfill 2007-12-11 }
meillo@1 863 }
meillo@1 864
meillo@1 865
meillo@1 866 \end{document}