My Linux Book

Urs Lindegger


Table of Contents

1. Introduction
Why again an other Linux Book
About myself
Some terms
TUX
root
Daemon
Zombie
N00b
Gnu
SoHo
CamelCase
Foo, bar and foobar
rc and init.d
shebang
Help
Using the manual pages
Man pages on the web
Info pages
Using documentation from the packages
Writing your own man pages
2. Working in the Console
The Console
Console login
Terminals
Working with bash
Special characters
Wild cards
Strings in Bash
Calculations
Command substitution
Bash scripts
Bash processes
Bash variables
The [ program
Bracket overview
Debug of bash scripts
Bash configuration
Commands
cat
cd
cp
cut
dd
find
grep
ls
more or less
mv
rm and rmdir
strings
tail
uname
watch
Sed
Filtering certain lines
Sed Commands
Sed Options
Regular expressions
Character description
Examples
Ranges of characters
Localization
3. System
Character encoding
ASCII
ASCII Table
UTF-8
beep
Hexadecimal
Booting
BIOS
BIOS update
UEFI
Secure Boot
Bootloader
Booting the Kernel
SysVinit
systemd
Start up messages
Linux 32 bit and 64 bit
Loading Libraries
Processes
Interprocess Communication IPC
Kernel
Hardware compatibility
Having the hardware and looking for drivers
Hints about kernel compiling
Kernel compilation
Kernel internals
Kernel modules
modules directory
update modules
Working with the modules
Firmware
D-Bus
Devicekit
udisks
Log files
Config files
Files that will be customized
Files usually not to be customized
CPU
Memory
Endians
Memory usage
Swap
Memory Management Unit (MMU)
Time
UTC
NTP
RTC chip on the motherboard
Gateways and Routers
Cron
Vixie-cron
Other crons
Frontends
Clone a system
Turn off a Linux computer
Posix
Install Packages
Redhat/Suse
Debian
Gentoo
From Source
4. Hardware
Graphic Cards
Nvidia
ATI Graphics Cards Radeon
Monitors
ddccontrol
read-edid
Keyboard
Mouse
Joystick
Fingerprint sensor
Parallel Port
PCI
Power
ACPI
Batteries
Frequency scaling of the cpu
Hard disks
Impact of the software
5. Graphical User Interface
Xorg, the X server
Install the X server under Gentoo Linux
The configuration files
Font
Setting up fonts
Japanese, Chinese and Korean fonts
Font warnings in Xorg.log
Desktop environments
Gnome
KDE
Xfce
LXDE
Desktop files
Window Managers
Compiz
Display Manager
Start, stop and login
Slim
Lightdm
Screen capture
Screensaver and Screen blanking
Running a GUI application on an other computer
X11 forwarding
QT
6. Authentication
Ownership
User account
User definition
Group definition
Resetting Linux passwords
Resetting Windows Passwords
Working with different computers
Commands and behavior
Administrator
Sudo
Login
PAM
PAM applications
PAM modules
PAM configuration files
How it fits together
PAM Examples
Gnupg
Keys
Key servers
Getting public keys
Produce your keys
Modifying keys
Cryptographic signature
Encryption and decryption
Gui tools
Gpg Agent
Network Information Service
7. Filesystem
FHS (Filesystem Hierarchy Standardization)
Permissions
Linux file systems
ISO file systems
Rock Ridge and Joilet
Mount a ISO image
Write ISO file system to a memory device
Microsoft File Systems
FAT
NTFS
Fix permissions
Encrypted File Systems
Encfs
Other encryption methods
Links
Symbolic links
Static links
Pipes and FIFO
Device files
Mount and umount
bind mount
fstab
AutoFs
Mount removable media
Autorun
udev
udev rules
Advanced udev rules
Proc
Sys
Hard disk
DMA (Direct Memory Access)
Partitions
Test programs
SMART (Self-Monitoring Analysis and Reporting Technology)
CD and DVD
RAM disks
Floppy disks
Format
Mount
Floppy image files
Files containing file systems
Putting file systems onto SDcards
Checksum
MD5 Message-Digest algorithm 5
SHA-1 and SHA-2
MD160
Integrity of CD/DVD's
File indexing
Duplicate files
Logical Volume Manager
Device Mapper
Filelight
Zip files
atool
bzip2
gzip and gunzip
Tar
unrar
Zcat
Zip
Unison
Unison on the command line
Unison with Microsoft file systems
8. Networking
Base64
Ethernet
Network Interface names
TCPIP
TCP/IP packets
Setting up the TCP/IP connection
IP addresses and DHCP
DNS
Dynamic DNS
OpenNIC
DNS name server
Network tools
Networkmanager
Wicd
Server configuration
Sockets
URL and URI
Wireless
Device drivers
Wireless implementation under Linux
Tools to work with wireless connections
Telnet
Telnet client
Telnet server
SSH
SSH Concept
SSH Server
SSH Client
SSH troubles
FTP
Ftp servers
Ftp clients
Rsync
Rsync in the console
Rsync daemon
Mail
Kmail, the KDE e-mail program
Evolution
Simple mail programs
MIME
Instant Messenger
Internet relay chat
RSS
eD2k
Network filesystems
NFS
Samba
Webserver
Apache
Lighttp
Ngnix
LAMP
PHP
CGI
FCGI and SCGI
Wsgi
SSI
Ajax
Access counters
htdig
Wireshark
Xinetd
I2C
Different implementations
Linux implementations
lm_sensors
USB
Installing USB
USB protocol
Descriptors
9. Office
Documents
Acrobat
Emacs
LibreOffice
Latex
Lyx
Wiki
Dokuwiki
Contacts
Calculators
Printer
Line printer
Cups
PDF printers
Printing from the command line
Printer troubleshooting
Spell Checkers
SQL
SQLite
MySQL
Korganizer
10. Simulation and CAD
Dot
Gnuplot
Imagemagick
Gimp
Daily work with Gimp
Animated Gifs with Gimp
Icons with Gimp
Image maps for web pages
Inkscape
Synfig 2D animation
Modeling 3D
File formats 3D
OpenScad
Splitting into different files
OpenScad libraries
OpenScad Hints
Extruding 2D to 3D
Variables
Animation
Blender
The Blender windows
Video sequence editor
Node Editor
Movie clip editor
Coordinate system
Blender game engine
Simulate physics
Scripting Blender
Povray
CAD
qcad
Scilab
Freemat
Scanner
Sphere cameras
11. XML
Introduction to XML
XML tags
Adding special characters to xml
XML Namespaces
Doctype
DTD
XML Schema
RELAX NG
Working with XML
XmlStarlet
xmldiff
Html-xml-utils
XML2
Validate xml
Docbook
Docbook syntax
Docbook editing
Converting Docbook via Sgml utils
Converting Docbook via XSLT
XML as HTML evolution
XHTML
MathML
Xpath
Absolute path
Relative path
Wildchards
Publishing XML Documents
XSL processing
Debugging XSLT
XSL Stylesheets
Formatting Object
Jade
Cleanup XML
Other tools
Checks for having user friendly documents
Stylesheets
Cascading Style Sheets
DSSSL
Processing Instructions
Processing XML in Python
ElementTree
lxml
SOAP
XML alternatives
JSON
YAML
World Wide Web
Browser
HTTP
HTML
Making html nicer
The meta tags
Working with HTML
Web analyzing tools
Making money with the web site
Search robots
Privacy
12. Multimedia
Image formats
PPM
GIF
JPEG
SVG
Sound formats
ALSA
Setting up ALSA
ALSA Mixer
Command line sound tools
Capture audio
Jack
Gui sound tools
Pulseaudio
Audio CD
Internet radio
Speech
Festival
mbrola
Speech device
KDE speech tools
Speech to mp3
Music synthesizer
MIDI
Sound Hardware
Movie formats
Container formats
Video codecs
Video tools
Compression techniques
Video
Setting up the hardware
Video compression
Video DVD
Rip a video DVD
Blueray
Camera
Webcam
QuickCam 3000 Pro
Thyphoon EasyCam
Webcam applications
IR cameras
Digital TV
Hauppauge WinTV Nova T USB
Configuring digital terrestrial tv
Measuring signal
Record compressed video
DVB-T Antennas
Analog TV
No auto detected TV cards
Analog cards
TV Applications
EPG
Nxtvepg
XMLTV
Frontends for XMLTV
Internet TV
Media player
Mplayer
Xine
Gstreamer
VLC
Media Server
Mediatomb
The client
Home theater
Mythtv
VDR
Oxine
Geebox
Mediasystem
Dreambox
Connection to the TV
13. Outdoor and fun
Mobile phones
G2
G3
G4
Dial up
Connections using 3G phones
Connecting a Samsung Galaxy
Sms from Android
Gnokii
Obex
Opensync
Bluetooth
Bluetooth headsets
Bluetooth connection to the phone
Gnome bluetooth
Kdebluetooth
Other bluetooth software
GPS
GPS devices
The gps daemon gpsd
The maps
Gpsbabel
Navit
gpsdrive
Google earth
QR codes
Vcard
Anki Flash Cards
eBook
EPUB
Aluratek libre eBook Reader Pro
Sigil
Calibre
fbreader
Ebook-tools
Games
Privateer
Unreal Tournament
Gog
14. Gentoo Linux
Gentoo fundamentals
Installing Gentoo
Some rules when working with Gentoo Linux
The world file
System packages
The package data base
Emerge
Elogs
Virtual packages
Slotted packages
Package sets
Finding what has been installed
Portage
Portage tools
Use flags
eselect
Mirrors
Profiles
Handling of Config Files
etc-update
dispatch-conf
cfg-update
Overlays
The overlay directories
Layman
Using layman on self made overlays
Linurs Overlay
Eix search in not installed overlays
Publish self-made programs
Ebuilds
Ebuilds in Portage
Working with different version of an ebuild
Creating an ebuild
Installing ebuilds
Install an ebuild using the command ebuild
Debugging emerge and ebuilds
Record of the installation
GLSA
Gentoo internals
List of repetitive tasks
Keep computer updated
Cleanup tasks
Backup data
Check disk space
Checking dependencies
Check unused useflags
Advanced checks
Check log files
Check the disk health
Check dangling symlinks
Check init scripts
Check old files
Check user accounts
Clean user account
Troubleshoot
Program crashes or does not start
Boot errors
Emerge update failures
Emerge wants to emerge stuff that you don't want
Emerging groups of ebuilds
No keyboard and mouse in X after update
Problems with after a gcc update
Python version conflicts
No Internet connection after update
Dependency troubles
Using Portage tools
Having done stupid things
15. Programming
gcc
C programming
The hello wold program
Hello world split in two files
Interacting with the parent process
Integrated development Environments (IDE)
Makefiles and make
Debugging
Execution from the text console
Libraries
Python
Python2 and Python3
How python finds its packages
Python documentation
Python IDEs
Embedded python debugging
Python on Gentoo Linux
Python on other operating systems
Python Programming
Installing python packages
Distribute python code
Documenting Python
Accessing C code
Python byte code
Java
Java hello world program
Java hello world applet
Netbeans
A deeper look inside java
Java script
Pascal
Free Pascal
Gnu Pascal
Eclipse Pascal
Debugging Pascal
TCL TK
Csharp
Basic
Perl
Ruby
slibvga
Beautifiers
Patches
Doxygen
Create the documentation
Doxygen Syntax
Graphic support
Build tools
Autotools
Scons
Waf
Code analysis tools
Version control
Git
CVS ( Concurrent Version System)
Other version control systems
Logging
Eclipse
Installing eclipse
Installing eclipse plug-ins
Working with eclipse
Eclipse internals
Plugin development
16. Emulation
DOS
DosBox
DosEmu
FreeDOS
Old software
VirtualBox
Guest additions
Run a ISO CD image
Back to the past
Shared folders
USB devices
Using Serial port
Running FreeDos
Snapshots
Audio
Import and export VM
Mounting Virtual Harddisks
Virtual Box Networking
Bochs
Wine the Microsoft Windows API for Linux
HP41 Calculator
Remove applications

List of Figures

1.1. Me
1.2. Root
1.3. Tux
1.4. Zombie
1.5. GNU
2.1. Bash debugger
3.1. firmware blobs
4.1. Firmware blobs
4.2. Fingerprint
4.3. Smart Batteries
5.1. Compiz cube
5.2. Compiz screens
7.1. Filelight
7.2. Unison
8.1. USB
8.2. Access counter
9.1. Latex
9.2. Nonpareil
9.3. Cupspdf
10.1. DOT
10.2. gnuplot
10.3. Oven
10.4. OpenScad
10.5. 3D cube
10.6. 3D manipulator
10.7. Object
10.8. Putting boxes and cylinders together
10.9. blender units
10.10. Measure Add on
10.11. Mesh display
10.12. Node Editor
10.13. Anaglyph stereo
10.14. Logic Editor
10.15. Sensor
10.16. Povray
10.17. Povray
10.18. scilab
10.19. Two circles
10.20. Sphere
10.21. VLC and sphere videos
11.1. Vex
11.2. Conglomerate
11.3. Serna-free
11.4. xslt debugging with eclipse
12.1. Capture
12.2. Playback
12.3. Sound connectors
12.4. DVB antenna
12.5. PCTV
12.6. SAA3134
12.7. Tvtime
12.8. Aletv
12.9. Nextview
12.10. Mediatomb
12.11. Home theater
12.12. Vdr
12.13. Geebox
13.1. Gnokii
13.2. Bluetooth daemon
13.3. Navilock
13.4. Griess glacier
13.5. Navit gtk
13.6. Navit Internal gui
13.7. Navit menu
13.8. Gpsdrive
13.9. Google earth
13.10. QR-code pointing to www.linurs.org
13.11. Privateer
13.12. Privateer
13.13. Unreal
14.1. Cascading profiles
15.1. idle
15.2. Eclipse Marketplace
15.3. Eclipse Install Software
16.1. Sokoban
16.2. Sokoban
16.3. Keen
16.4. Virtualbox and compiz is running Ubuntu and XP
16.5. HP41

List of Tables

2.1. grep
3.1. Unicode to UTF-8
3.2. Signals
7.1. Permissions
10.1. Basic viewing commands
11.1. Special characters
11.2. xpath
15.1. gdb
15.2. String methods

List of Examples

2.1. Test script
3.1. Boot memdisk
3.2. system call
3.3. fork
5.1. Custom screen resolution
7.1. Permission
7.2. umask
7.3. GUI mount NTFS
7.4. udev rule
8.1. Access Counter
10.1. Dot
11.1. XML
11.2. DTD
11.3. DTD in XML
11.4. Split docbook
11.5. Docbook
11.6. XHTML
11.7. xsl stylesheet
11.8. CSS in head tag
11.9. CSS link to file
11.10. CSS classes and ids
12.1. mplayer command
12.2. mplayer video example
14.1. overlay list file
14.2. ebuild variables
14.3. License blockage example
15.1. hello.c
15.2. hello.c splitted
15.3. hello c function
15.4. Dynamic library
16.1. Mount vdi

Linurs Servernest startpage