My Linux Book
My Linux Book
My Linux Book
Urs
Lindegger
Table of Contents
1. Introduction
Copyright
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
Screen Manager
Working with bash
Special characters
Wild cards
Strings in Bash
Calculations
Command substitution
Bash scripts
Bash processes
Bash variables
The [ program
Bracket overview
Debug bash scripts
Bash configuration
Working with Windows
Commands
Midnight commander
Text Web browser Links
cat
cd
cp
cut
dd
find
grep
ls
more or less
mv
rm and rmdir
strings
tail
time
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
loading 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)
System 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
Flatpack
From Source
4. Hardware
Graphic Cards
Nvidia
ATI Graphics Cards Radeon
Monitors
ddccontrol
read-edid
Keyboard
Mouse
Joystick
Hardware Random Number Generator
Fingerprint sensor
Parallel Port
PCI
Power
ACPI
Batteries
Frequency scaling of the CPU
Hard disks
Impact of the software
5. Graphical User Interface
X Server
Install the X server under Gentoo Linux
The configuration files
Wayland
weston
sway
Desktop environments
LXQT
Xfce
KDE
Gnome
LXDE
Window Managers
Openbox customization
Compiz
Display Manager
Start, stop and login
Slim
Lightdm
SDDM
LXDM
Gui Terminals
Desktop files
Font
Setting up fonts
Asian fonts
Font warnings in Xorg.log
Screen capture
Screensaver and Screen blanking
Running a GUI application on an other computer
X11 forwarding
xdg utils
QT
6. Authentication
Ownership
User account
User definition
Group definition
Resetting Linux Passwords
Resetting Windows Passwords
Working with different computers
Commands and behavior
Backup files
Administrator
Sudo
Switching users
Login
PAM
PAM applications
PAM modules
PAM configuration files
How it fits together
PAM Examples
Password Hash
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
Copy filesystems
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
Network filesystems
NFS
Links
Symbolic links
Hard 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
Defragmemt
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
File Differences
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
curl
Networkmanager
Wicd
nftables
Routing
Server configuration
Sockets
URL and URI
Wireless
Device drivers
Wireless implementation under Linux
Tools to work with wireless connections
regulatory db
Telnet
Telnet client
Telnet server
SSL TLS
Symmetric encryption
Asymmetric encryption
Encryption
Authentication and TLS
SSH
SSH keys
SSH Server
SSH Client
SSH troubles
SSH and Windows
VPN
Wireguard
FTP
FTP servers
FTP clients
Rsync
Rsync in the console
Rsync daemon
Mail
Mail User Agent (MUA)
Mail Delivery Agent (MDA)
Mail Transfer Agent (MTA)
mailutils with postfix
mailx
ssmtp
Simple mail programs
MIME
Instant Messenger
Internet relay chat
RSS
eD2k
Webserver
Apache
Lighttp
Ngnix
Web Statistics
Copy a webservers content
LAMP
PHP
CGI
FCGI and SCGI
Wsgi
SSI
Ajax
Access counters
htdig
Wireshark
Xinetd
Samba
Samba users
Samba Linux clients
Samba Windows clients
WebDAV
USB
Installing USB
USB protocol
Descriptors
9. Office
Documents
Pdf
Emacs
LibreOffice
Latex
Lyx
Wiki
Dokuwiki
Contacts
Calculators
Printer
Line printer
Cups
PDF printers
Printing from the command line
Printer troubleshooting
CUPS Errors
Spell Checkers
SQL
SQLite
MySQL
Korganizer
10. Graphics
Dot
Gnuplot
Imagemagick
Gimp
Daily work with Gimp
Animated Gifs with Gimp
Icons with Gimp
Image maps for web pages
Troubles
Inkscape
Synfig 2D animation
Modeling 3D
File formats 3D
OpenScad
Splitting into different files
OpenScad libraries
OpenScad Hints
Extruding 2D to 3D
Variables
Customizer
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
Freemat
Scanner
Sane Backend
Sane Frontend
OCR
tesseract and gImageReader
ocrad
gocr
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
Cookie
12. Multimedia
Image formats
PPM
GIF
JPEG
SVG
Sound formats
ALSA
Setting up ALSA
ALSA Mixer
Command line sound tools
Capture audio
Gui sound tools
Sound server
pipewire
Pulseaudio
Audio CD
Internet radio
Speech
Festival
mbrola
Speech device
KDE speech tools
Speech to mp3
Music synthesizer
MIDI
Sound Hardware
Video
Container formats
Video codecs
Video tools
avinfo
kdenlive
Openshot
kino
Compression techniques
Setting up the hardware
Video compression
Video DVD
Rip a video DVD
Bluray
Camera
Webcam
QuickCam 3000 Pro
Thyphoon EasyCam
Webcam applications
IR cameras
motion
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
mpv
kaffeine
Xine
Gstreamer
VLC
Media Server
Gerbera
minidlna
UPnP clients
Kodi
13. Outdoor and fun
Mobile phones
G2
G3
G4
Connections using xG phones
Bluetooth
Bluetooth headsets
Bluetooth connection to the phone
Gnome bluetooth
Kdebluetooth
Other bluetooth software
GPS
GPS devices
GPS daemon gpsd
Maps
Gpsbabel
Navit
gpsdrive
Google earth
QR codes
Vcard
Anki Flash Cards
eBook
EPUB
Sigil
Calibre
fbreader
Ebook-tools
Games
Privateer
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
Licenses
Mirrors
Profiles
CHOST
Handling of Config Files
etc-update
dispatch-conf
cfg-update
Overlays
Repositories
Local overlay directories
Layman
Overlays in GitHub
Eix search in not installed overlays
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
Using Portage tools
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 after gcc update
Python version conflicts
No Internet connection after update
Dependency troubles
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
Clang
Python
Python2 and Python3
How python finds its packages
Python documentation
Python IDEs
Embedded python debugging
Python Programming
Installing python packages
Documenting Python
Testing Python code
Python in virtual environments
Python on Gentoo Linux
Python on Windows
Distribute python code
Accessing C code
Python byte code
Java
Java hello world program
Java hello world applet
Netbeans
A deeper look inside java
Javascript
JQuery
TypeScript
Node.js
php
Pascal
Free Pascal
Gnu Pascal
Eclipse Pascal
Debugging Pascal
TCL TK
Csharp
Basic
Perl
Ruby
slibvga
Matlab
Scilab
Octave
Beautifiers
Patches
Creating a patch
Applying a patch
Sphinx
Doxygen
Doxygen with python
Create the documentation
Doxygen Syntax
Graphic support
Build tools
Autotools
Scons
cmake
pkg-config
Waf
Code analysis tools
Version control
Git
CVS (Concurrent Version System)
Other version control systems
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
Shared folders
USB devices
Using Serial Port
Running FreeDos
Audio
Snapshots
Import and export VM
Disk Partitions
Mounting Virtual Harddisks
Virtual Box Networking
Docker
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.
KDE cube
5.2.
Compiz cube
5.3.
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.
Multipage scanning
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.
Playback
12.2.
Sound connectors
12.3.
DVB antenna
12.4.
PCTV
12.5.
SAA3134
12.6.
Tvtime
12.7.
Aletv
12.8.
Nextview
13.1.
Bluetooth daemon
13.2.
Navilock
13.3.
Griess glacier
13.4.
Navit gtk
13.5.
Navit Internal gui
13.6.
Navit menu
13.7.
Gpsdrive
13.8.
Google earth
13.9.
QR-code pointing to www.linurs.org
13.10.
Privateer
13.11.
Privateer
14.1.
Cascading profiles
15.1.
idle
15.2.
Windows Environmental Variables
15.3.
scilab
15.4.
Eclipse Marketplace
15.5.
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.
License blockage example
14.2.
CHOST
14.3.
ebuild variables
15.1.
hello.c
15.2.
hello.c splitted
15.3.
hello c function
15.4.
Dynamic library
16.1.
Mount vdi