Wie man Linux bedient – ohne die Maus anzufassen Brandenburger Linux-Info-Tag, Potsdam
Julius Plenz
6. November 2010
Veröffentlicht unter der CreativeCommons-Lizenz (By, Nc, Sa)
http://blit.org/2010/zeitplan/events/125.de.html ... aber das ist kein gutes Beispiel!
Zum Einstieg
http://xkcd.com/91/ Zum Einstieg
http://xkcd.com/91/
... aber das ist kein gutes Beispiel! Motivation
I Wofür ist eine Maus gut?
I Neue, unbekannte Oberflächen kennen lernen I Mit Grafiken arbeiten I Spiele spielen
I Wofür ist die Tastatur gut?
I Informationen eingeben I Bekannte Arbeitsschritte und Kommandos ausführen
I Maus vs. Tastatur – 3 vs. 104 Tasten
I Oft ausgeführte Arbeitsschritte sollte man also per Tastatur eingeben! Ablaufplan
Frage: Was braucht man, um ein Linux-System sinnvoll und schnell nur mit der Tastatur zu benutzen?
Antwort: Eine Tastatur! Außerdem: Einen schnellen, funktionalen und erweiterbaren 1. Window-Manager 2. Terminal-Emulator und -Multiplexer 3. Shell 4. Editor 5. Web-Browser
Achtung: Ich stelle jeweils nur einen Kandidaten vor. Und: What you see is not what you’ll get! Window-Manager: awesome
I Geschrieben in C und libxcb
I Besonders schnell
I Große Community
I viele vorgefertigte Scripte
I freundliche und hilfreiche Mailingliste
I Tiling-Window-Manager
I Verschiedene Layouts
I Mehrere Monitore gleichzeitig verwendbar
I XRandR und Xinerama
I Tag-basiertes Fenstermanagement
I Konfiguration und Scripting per Lua
http://awesome.naquadah.org/ awesome: Konzepte
I Tagging-basierter Window-Manager:
I Pro Aufgabe ein Tag I Den Tag sinnvoll per Tastenkombination erreichbar machen I Keine lästiges: „Auf welchen Desktop hatte ich das Fenster verschoben?“
I Tiling-Window-Manager: Kein Fenster überlappt ein anderes
I Scripting per Lua:
I Informationen in der Statusleiste I Tasten beliebig belegbar
I URLs im Clipboard umwandeln I Host-Auflösung I „Next Track“ aus jedem Programm Terminal-Emulator und -Multiplexer: urxvt und screen
I Terminal-Emulator: urxvt
I Voller Unicode-Support I Scriptbar per Perl
I Manual: man 3 urxvtperl 1 I Beispiel: urxvt copy mode
I Terminal-Multiplexer: screen
I Mehrere Programme (durchnummeriert) in einem Terminal I „Split Screen“ I Anpassbar und konfigurierbar (z. B. Statuszeile)
I Detach, Reattach I Copy Mode I Hardcopy („Screenshot“) I Screen Locking
1http://github.com/bartman/urxvt-scripts Shell: zsh
I Eine gute Shell ersetzt, was ein Desktop Environment bietet:
I Programme starten I Dateien verwalten (mv, cp, rm, chmod)
I Die Z-Shell bietet:
I Eine überragende, intelligente Completion (Vervollständigung) I Makros, Funktionen, erweiterte Aliase I Komplett konfigurierbar und individuell anpassbar
I http://zsh.org/
I http://zshwiki.org/home/ I Bücher:
I From Bash to Z Shell a I Zsh – Die magische Shell
ahttp://opensourcepress.de/zsh-buch Editor: vim
I Auf jedem Grundsystem installiert
I Anfangs etwas holprig zu bedienen, dann aber steile Lernkurve
I Eignet sich für Plain Text, Programmierung, LaTeX, ...
I Mit Makros und diversen Optionen individuell anpassbar
I ... viele textbasierte Programme haben ihre Tastaturbelegung an die von vim angelehnt!
I Get started:
I Auf der Kommandozeile: vimtutor I http://vim.wikia.com/wiki/Vim_Tips_Wiki 2 I Konfigurationsdateien anderer Leute
http://www.vim.org
2http://dotfiles.org/.vimrc Webbrowser: Vimperator
I Kein eigener Browser, sondern ein Firefox-Plugin
I Nachteil: langsam, verbraucht viel Speicher
I Gestaltet den Browser um, so dass er wie Vim aussieht I Browsen komplett mit der Tastatur:
I Scrollen: zeilen-, seitenweise etc. I Neue Tabs öffnen, URLs eingeben oder ändern I Links „anklicken“ I Quickmarks I „Next“-Links finden
http://vimperator.org/vimperator Referenz: Die Alternativen
1. Window-Manager
I awesome, wmii, dwm, xmonad, fluxbox, i3, ratpoison 2. Terminal-Emulator und -Multiplexer
I urxvt, xterm, mterm I screen, tmux 3. Shell
I zsh, bash, ksh, fish 4. Editor
I vim, emacs, pico, nano 5. Web-Browser
I grafisch: vimperator, uzbl, conkeror, vimprobable I textbasiert: lynx, links, elinks, w3m Danke!
Danke! – Fragen?
Fall später Fragen auftauchen: [email protected]
http://github.com/Feh/configs