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}
|