Archiv des Autors: Michael Petri

MiniDLNA

Einfacher DLNA-Server

Die Konfiguration ist mit Hilfe der Kommentare in den Konfigurationsdateien selbsterklärend.

Installation:

Abhängigkeiten:

Installation:

Konfigurationsdateien:

Startverhalten und Definition des users, unter dessen ID MiniDLNA läuft:

/etc/default/minidlna

Standardmäßig wird der Benutzer minidlna verwendet. Ein anderer Benutzer <user> und die dazugehörige Gruppe <group> kann in dieser Datei definiert werden.

Wird ein anderer Benutzer definiert, so sind folgende Anpassungen bei den Zugriffsrechten notwendig:

[/crayon]
Weiterhin müssen in der Hauptkonfigurationsdatei /etc/minidlna.conf folgende Anpassungen gemacht werden:

[/crayon]

Datenbank neu aufbauen

Entweder wird die Datenbank im Ordner /var/cache/minidlna gelöscht oder die Datenbank über folgenden Befehl neu aufgebaut (zuvor muss ein eventuell laufender MiniDLNA-Dienst angehaöten werden:

Nemo unter XFCE

Wenn der Dateimanager Nemo (Cinnamon-Desktop) unter XFCE installiert wird, sind folgende Anpassungen notwendig.

Sprache auf Deutsch umstellen

Hierzu müssen folgende Pakete (inklusive aller Abhängigkeiten) installiert werden:

„Im Terminal-Öffnen“ anpassen

Standardmäßig versucht Nemo über den Befehl terminix ein Terminal zu öffnen. Damit das Terminal auch unter XFCE geöffnet werden kann muss folgender Befehl ausgeführt werden:

Compare-Programm auswählen

Damit die Compare-Funktion von nemo-compare funktioniert, muss das passende Programm eingestellt werden. Hierzu gibt es ein Konfigurationsprogramm:

Proxyserver

Einrichtung des Proxys für einen bestimmten Benutzer:  ~/.profile
Systemweite Einrichtung des Proxys: /etc/profile

Bei manchen Systemen wie z. B. Lubuntu müssen zusätzlich in die Dateies /etc/environment und /etc/apt/apt.conf.d/70debconf ergänzt werden. In /etc/environment werden die gleichen Eintragungen wie in der profile-Datei vorgenommen (jedoch ohne das führende „export“). Die Datei /etc/apt/apt.conf.d/70debconf wird wie folgt ergänzt (je nach System kann der Dateiname etwas variieren):

Folgende Zeilen müssen am Ende der profile-Datei hinzugefügt werden:

Sofern keine Logindaten benötigt werden, kann „BENUTZER:PASSWORD@“ weggelassen werden.

 

Smartphone unter Linux flashen

ACHTUNG: Durch das Flashen kann das Smartphone unbrauchbar werden und die Gewährleistung des Herstellers erlischt! Weiterhin werden alle Daten auf dem Smartphone gelöscht. Das Flashen geschieht auf eigene Gefahr!

Kurzanleitung: Flashen CyanogenMod auf einem Samsung Galaxy S III Mini

Im Folgenden habe ich stichwortartig zusammengefasst, wie man CyanogenMod (Version 12.2 – entspricht Android 5.1.1) unter Debian Testing auf ein Samsung Galaxy S III Mini flasht und dort den Rootzugang einrichtet. Diese Anleitung erhebt keinen Anspruch auf Vollständigkeit und kann am Smartphone großen Schaden anrichten!

Vorbereitung auf dem (Linux-) Computer:

  1. CyanogenMod herunterladen
    Das Samsung Galaxy S III Mini wird von CyanogenMod offiziell nicht unterstützt. Eine für dieses Smartphone angepasst Version kann jedoch bei Novafusion heruntergeladen werden. Dort muss die „odin“-Version ausgewählt werden.
  2. Das Archiv dann 2x entpacken (die Dateien boot.img, recovery.img und system.img werden benötigt)
  3. heimdall aus den Quellen installieren

Smartphone vorbereiten (Werkseinstellungen zurücksetzen)

  1. Smartphone ausschalten
  2. Home + Lauter + Power gleichzeitig gedrückt halten (bei mir musste ich diese Tasten so lange gedrückt halten, bis das Start-Logo zum zweiten mal erscheint)
  3. Über die Wipe-Funktion das Smartphone auf Werkseinstellungen zurücksetzen
  4. Smartphone ausschalten

ROM flashen

Vorbereitung auf dem Smartphone

  1. Home + Leiser + Power gleichzeitig gedrückt halten um den Download-Modus zu starten
  2. Die Warnung mit „Lauter“ bestätigen
  3. Das Smartphone mit einem USB-Kabel mit dem Computer verbinden

Vorbereitung auf dem Computer

Zunächst müssen die Namen der Partitionen und die jeweils zugehörigen Flash-Filenames auf dem Smartphone ermittelt werden:

Flashen

Um nun die zuvor heruntergeladenen Images von CyanogenMod auf das Samsung Galaxy S III Mini zu flashen in der Console auf dem PC folgenden Befehl eingeben:

Einstellungen unter CyanogenMod

Entwickler-Modus aktivieren

Um unter CyanogenMod den Entwickler Modus zu aktivieren muss man unter „Einstellungen“ / „Über das Telefon“ mehrmals auf die „Build-Nummer“ tippen.

Root-Zugriff aktivieren

Um den Root-Zugriff zu aktivieren unter „Einstellungen“ / „Entwickleroptionen“ / „Root-Zugriff“ die Funktion „Rootzugriff für Apps“ auswählen.

APP-Berechtigungen einschränken

Nach Freischaltung des Root-Zugriffs kann für jede einzelne APP die Berechtigungen unter „Einstellungen“ / „Datenschutz“ / „Datenschutz“ manuell festgelegt werden. Die Funktion „Standardmäßig aktivieren“ schränkt die Zugriffsrechte von neu installierten APPs automatisch auf „nachfragen“ ein.

Durch den Root-Zugriff kann jetzt auch eine Firewall (z. B. von AVAST verwendet werden) um den Zugriff von einzelnen APPs auf Netzwerk und Internet einzuschränken.

 

Seafile

SeaFile und OwnCloud

Cloud-Fileserver, der (insbesondere bei vielen kleinen Dateien) sehr viel schneller arbeitet als OwnCloud. Daher lohnt sich auch die Kombination, OwnCloud für die Synchronisation von Kalender, Aufgaben sowie Kontakte zu verwenden und Seafile für die Dateisynchronisation.

Eine sehr ausführliche Anleitung gibt es auch unter http://manual.seafile.com/deploy/using_mysql.html

SeaFile installieren

Die aktuelle Version kann unter http://seafile.com/en/download/ heruntergeladen werden. Für den Banana Pi mit Bananian als System kann das Server-Paket für den Raspberry Pi verwendet werden.

Die Installation erfolgt durch Entpacken in ein eigenes Verzeichnis z. B. unter /root

Beim Entpacken wird der Symbolische Link seafile-server-latest erstellt, der auf das aktuelle Verzeichnis verweist. Bei einem Update muss dann das neue Archiv nur wie oben beschrieben entpackt werden und schon ist die neue Version installiert ohne dass die alte Version überschrieben wird. Auch die Einstellungen bleiben erhalten.

Abhängigkeiten installieren

Folgende Pakete werden für Seafile benötigt:

  • python 2.7
  • python-setuptools
  • python-imaging
  • python-mysqldb

MySQL-Datenbanken erstellen

Zuvor muss MySQL vollständig eingerichtet sein. Dies wird im Kapitel zur Owncloud-Installation im Detail beschrieben.

Folgende SeaFile-Komponenten benötigen jeweils eine eigene Datenbank:

  • ccnet server
  • seafile server
  • seahub

Die einfachste Möglichkeit ist, das Konfigurationsscript setup-seafile-mysql.sh im aktuellen Seafile-Ordner zu verwenden:

Das Skript führt detailliert durch die gesamte Konfiguration. Hier ein Beispiel für eine lokale Installation:

Sollen viele Clients auf Seafile zugreifen, sollte zuvor ulimit erhöht werden:

Server starten

Beim ersten Start von Seahub wird ein Admin-Account erstellt. Der User-Name bei Seafile ist immer eine E-Mail-Adresse.

Danach kann der erste Zugriff über einen Browser erfolgen:

 Beim Systemstart automatisch starten

Hierzu wird als root ein Init-Script erstellt (/etc/init.d/seafile-server):

Dann das Script ausführbar machen und rc.d aktualisieren:

Manche Systeme starten den Server nach einen Reboot nicht, da Apache noch nicht läuft. Daher kann der Start über einen Cron-Job nachgeholt werden (Eintrag in /etc/crontab):

Mitgelieferte Skripte

seaf-gc.sh

Seafile verwaltet die Dateien in Datenblöcken. Alte Datenblöcke von gelöschten Dateien und Bibliotheken werden jedoch nicht automatisch gelöscht, wodurch der von Seafile benötigte Speicher immer mehr anwächst. Somit empfiehlt es sich, unnötige Datenblöcke löschen zu lassen. Hierzu muss nur das Skript seaf-gc.sh im Seafile-Ordner gestartet werden:

Das entfernen unnötiger Datenblöcke ist z. B. vor dem Erstellen eines Backups zu empfehlen (siehe Kapitel Backup).

seaf-fsck.sh

Nach einem Systemabsturz kann die Dateistruktur von Seafile defekt sein. hierzu gibt es ein eigenes Script, das fehlerhafte Strukturen reparieren kann:

reset-admin.sh

Wenn man das Admin-Passwort vergessen hat oder der Admin-Account nicht mehr richtig funktioniert, kann mit dem Tool reset-admin.sh der Admin-Account zurückgesetzt werden.

seaf-fuse.sh

Stellt die Dateistruktur aller User und Bibliotheken in einem Verzeichnis dar, das mit dem Script seaf-fuse.sh gemountet wird. Allerdings besteht auf dieses Verzeichnis nur lesender Zugriff.

Unmounten geht wie folgt:

Backup

Anbei ein Skript für ein Backup mit MySQL und storeBackup. Zunächst wird der Seafile-Server gestoppt, damit im Backup ein definierter Zustand gespeichert wird. Dann werden unnötige Datenblöcke gelöscht (seaf-gc.sh) und die Datenbanken gesichert.
Als Backup-Programm wird storeBackup verwendet. Die verwendete Konfigurationsdatei wird im Skript unter /root/bin/storeBackup/seafile.cfg gesucht. Da die Datenbanken zuvor in den Daten-Ordner von Seafile gesichert wurden, sind diese ebenfalls im Backup enthalten.
Am Ende wird der Seafile-Server wieder gestartet.

Backup zurückspielen:

Update

Mit folgendem Script kann eine neue Version von Seafile automatisch eingespielt werden. Es muss lediglich die neue Versionsnummer eingegeben werden. Das Script ist für den Raspberry-Pi bzw. Banana-Pi geschrieben und muss für andere Systeme ggf. angepasst werden.

ownCloud auf einem BananaPi

bananapiBetriebssystem auf SD-Karte installieren

Im Folgenden wird die Einrichtung mit Bananian, einer Debian-Variante für den BananaPi, gezeigt.

Download

auf SD-Karte kopieren

Die SD-Karte muss min. 2 GB groß und Class 10 sein.

Erster Start von Bananian

SD Karte in den BananaPi einlegen und den BananaPi booten (einfach Stromversorgung einstecken).

Der Standard-Login ist „root“, das Standard-Passwort ist „Pi“. Dann die Grundkonfiguration durchführen:

Externe Festplatte einbinden (optional)

Device ermitteln:

Im Folgenden wird davon ausgegangen, dass die Festplatte als Device /dev/sda eingebunden ist.

Festplatte partitionieren (mit parted):

Dateisystem erstellen:

In die fstab eintragen:

Owncloud installieren

Repository einfügen und OwnCloud installieren

Apache konfigurieren

Apache auf die .htaccess-Datei der Owncloud einstellen

In die Datei /etc/apache2/sites-enabled/000-default folgendes am Ende anfügen:

Apache neu starten:

Maximale Dateigröße auf 2 GB anheben

In der Datei /var/www/owncloud/.htaccess folgende Zeilen anpassen:

In der Datei /etc/php5/apache2/php.ini folgende Zeilen anpassen:

Cache aktivieren:

In der Datei /www/owncloud/config/config.php folgendes eintragen:

Apache neu starten:

SSL aktivieren

Zertifikate erstellen

Am besten in ein Verzeichnis wechseln, welches nur vom Root erreichbar ist, z. B. mit

Dateneingabe während der Zertifikaterstellung:

  • Country Name (Ländercode): = DE
  • State or Province Name (Bundesland): = <Bundesland>
  • Locality Name, eg. City (Stadt): = <Ort>
  • Organization Name (Firmenname): = Privat
  • Organizational Unit Name (Abteilung) = <Enter>
  • Common Name, eg. YOUR Name: = <domain> „Hier muss die Domain angegeben werden, über die der Server erreichbar ist (bei Nutzung eines DynDNS-Dienstes, die dort zugeteilte Adresse)“
  • Email Adress: = <E-Mail>
  • A challenge password: = <Enter>
  • An optional company name: = <Enter>
Apache anpassen

In der Datei /etc/apache2/sites-enabled/000-default folgende Zeichen am Ende der Datei hinzufügen:

In der Datei /etc/apache2/sites-available/default folgende Zeichen am Ende der Datei hinzufügen:

In der Datei /etc/apache2/sites-available/default-ssl folgende Einträge anpassen:

Apache-Konfiguration anpassen und testen:

Hier sollte ein „Syntax OK“ herauskommen.

Apache neu starten:

MySQL installieren

MySQL ist deutlich schneller als SQLite und empfiehlt sich bei größeren Datenmengen.

Installation MySQL

Während der Installation öffnet sich ein Fenster, für das root-Passwort, das an dieser Stelle definiert werden muss.

Installation PHPmyAdmin und Datenbank einrichten

Während der Installation fragt phpMyAdmin, welchen Webserver verwendet werden soll. In unserem Fall ist das apache2. Weiterhin Passwort für den administrativen Benutzer von MySQL eingeben.

Dann die Datenbank für Owncloud einrichten:

unter Datenbank neuen Namen „owncloud“ eingeben und Datenbank speichern.

Zugriff von außen (über das Internet)

Um über das Internet auf den Server zugreifen zu können braucht man eine feste Adresse. Diese kann man z.B. über spdns.de bekommen. Im Router wird dieser Dienst bei DynDNS eingetragen und eine Portweiterleitung von Port 443 (HTTPS) zum Server gemacht.

Owncloud einrichten

Erster Start

Benutzer: root
Passwort: *****

Datenbank auf MySQL umstellen

Umstellung auf Cron

Aufräumen nicht nach jedem Seitenaufruf sondern über Cron (beschleunigt Seitenaufrufe):

Als Administrator im Web-Frontend unter „Administration“ von Ajax auf Cron umstellen.

Einbindung externer Speicher

Samba-Client installieren:

Als root in Owncloud die App „External storage support“ aktivieren und unter „Administration“ dann die benötigten Speicher einbinden.

E-Mail-Versand einrichten

Hier am Beispiel eines GMX-Accounts:

Als root unter „Administration“ die Mail-Daten eingeben

  • Sende-Modus: smtp
  • Verschlüsselung: TLS
  • Absender-Adresse: <Login> | gmx.de
  • Authentifizierung: „Anmelden“ und „Authentifizierung benötigt“
  • Adresse des Servers: mail.gmx.net:587
  • Zugangsdaten: <Login> | <Passwort>

In der Datei /var/www/owncloud/config/config.php sehen die Einträge so aus:

<Login> ist der Teil der Mailadresse vor dem @.

Kalender und Kontakte aktivieren

Im Administrationsmenü unter Apps/PIM Calendar und Contacts aktivieren.

Synchronisierung einrichten

Kontakte

Android

CADroid installieren und Zertifikate importieren
CardDAV-Sync free installieren
CardDAV-Konto hinzufügen
Server: https://<Server>/owncloud/remote.php/carddav

CardDAV-Kontakte können mit der APP „Contact Editor free“ (oder Pro-Version) bearbeitet werden.

Thunderbird/Icedove

Das Plugin „SOGo Connector“ installieren (unter Debian für Icedove über die Paketverwaltung „xul-ext-sogo-connector“ installieren).
Dann im Adressbuch über „File > New > Remote Addressbook“ hinzufügen. Die benötigte URL bekommt man über das OwnCloud-Frontend im Browser: APP Kontakte > Einstellungssymbol links unten > CardDAV-Link“.

Das AddOn CategoryManager erlaubt es die in ownCloud erstellen Gruppen zu synchronisieren

Kalender

Android

„CalDAV Sync Free Beta“ installieren
CalDAV-Konto in der Kalender-APP hinzufügen
Server: https://<Server>/owncloud/remote.php/caldav

Thunderbird/Icedove

neuer Kalender -> im Netzwerk -> CalDAV
https://<Server>/owncloud/remote.php/caldav/calendars/<user>/<kalender>
Offline-Unterstützung

Aufgaben

Hierzu muss in der Owncloud zusätzliche die APP „Tasks“ installiert werden:
Download unter https://apps.owncloud.com/content/show.php/Tasks?content=164356
entpacken und auf den Server hochladen in: /var/www/owncloud/apps
danach im Web-Frontend als root die App „Tasks“ aktivieren

Android

Synchronisation über CalDAV-Sync und Tasks von Marten Gajda.

Notizen

Mit qownnotes lassen sich auch Notizen wie in evernote oder onenote speichern und synchronisieren. Das passende git-repository ist: https://github.com/pbek/QOwnNotes

Zunächst muss im owncloud/apps-Verzeichnis die App qownnotesapi installiert werden.
https://github.com/pbek/qownnotesapi
Für den Desktop gibt es einen Client: http://www.qownnotes.org/

Android

Über F-Droid kann man sich unter https://f-droid.org/app/org.aykit.MyOwnNotes die passende App herunterladen.

Backup anlegen

Sicherung der Daten auf einen USB-Datenträger:

Mit blkid die UUID des USB-Datenträgers herausfinden. (Hier z.B. 7963a8a2-92e8-4050-9c8a-a84a06415824)
Ein Verzeichnis anlegen: mkdir /media/backup

Die Datei /etc/fstab erweitern:

in /root/ die Datei backup.sh anlegen. Inhalt:

ausführbar machen chmod +x backup.sh

In cron eintragen (alle Daten, die älter als 4 Tage sind, werden Nachts um 2:00 Uhr gelöscht):

reboot

Einbindung per WebDAV

https://www.meinedomain.de/remote.php/webdav

Pfad zum Datenspeicher ändern

Der Pfad zum Datenspeicher (data) steht in /var/www/owncloud/config/config.php

Nach der Anpassung der Webserver neustarten: service apache2 restart

Update auf owncloud 9

Wenn nach dem Update weiterhin der Wartungsmodus angezeigt wird:
In der Datei /var/www/owncloud/config/config.php
maintenancemode => false auf true setzen

Evtl. müssen die in /var/www/ownclouddie Dateien
phpinfo.inf und apache.pem gelöscht werden.

Damit die Aufgabenplanung wieder funktioniert muss die aktuelle Version von tasks von Hand heruntergeladen und ins Verzeichnis apps/tasks entpackt werden.
Download: https://github.com/owncloud/tasks/archive/DAVclient.zip

Android

ownCloud Client Zugriff auf den Cloudspeicher (F-Droid)
DAVdroid – Kalendersynchronisation (F-Droid)
o
wnCloud Client Zugriff auf den Cloudspeicher (GooglePlaystore)
CalDAV Sync Free
– zur Kalendersynchronisation (GooglePlaystore)

BigMap (OSM-Landkarten in hoher Auflösung runterladen)

In Programmen wie z. B. QLandkarte können immer nur die aktuell dargestellten Kartenausschnitte mit der aktuellen auflösung als Bild abgespeichert werden. Abhilfe schafft hier die internetseite Bigmap, die ein Perl-Script zum Download der Karte mit dem gewünschen Ausschnitt in der gewünschten Auflösung (bzw. Zoomstufe) erstellt.

Script erstellen

  • Auf BigMap den Ausschnitt wählen und mit “Submit” bestätigen.
  • Im eingeblendeten Fenster Auflösung anpassen (z. B. mit „in/double size“)
  • Script mit Klick auf „Perl“ herunterladen.

Script unter Linux ausführen

Zunächst muss die GD Bibliothek für Perl installiert werden:

Dann kann das heruntergeladene Perl-Script ausgeführt werden:

Download-Ordner in Firefox (Android)

Unter Android kann im Forefox der Download-Ordner wie folgt geändert werden:

  • In einem neuen Tab about:config aufrufen
  • In der Seiten-Suche down eingeben
  • Den Eintrag browser.download.folderList suchen und den Wert von 1 auf 2 setzen
  • Neuer Eintrag vom Typ String mit der Bezeichnung browser.download.dir erstellen und den gewünschen Zielpfad angeben z. B. /storage/extSdCard/Download

System-Apps deaktivieren (Samsung Galaxy)

System-Apps können ohne ein Handy zu rooten nicht deinstalliert jedoch deaktiviert werden.

Möchte man einiges der Google- und Samsung Apps loswerden, so können folgende Apps auf einem Samsung Galaxy SIII Mini problemlos deaktivert werden:

  • Bubbles
  • ChatON
  • Chrome
  • Flipboard
  • Gmail
  • Google Play Books
  • Google Play Magazines
  • Google Play Movies
  • Google Play Music
  • Google+
  • S Planner
  • S Planner-Widget
  • S Suggest
  • S Voice
  • Samsung Apps
  • Samsung Backup Provider
  • Samsung Browser Sync ….
  • Samsung Cloud Data Relay
  • Samsung Contact Sync …
  • Samsung Push Service
  • Samsung Syncadapters
  • Samsung-Konto
  • Talk
  • TalkBack
  • Video Hub
  • Weather daemon
  • Weather Widget
  • Weather Widget Main
  • Yahoo! Finance Daemon
  • Yahoo! Finanzen
  • Yahoo! News

APPs für Android

Fotos und Bilder

  • A Better Camera (kostenpflichtig für einige Funktionen)
  • Barcode Scanner (mit Historie)
  • Foto-Editor (einfacher Foto-Editor)
  • Open Camera (Foto einstellen)
  • cewe Smartphoto

Büro

  • aCalendar (leise bei Terminen siehe „Audio Mode Switcher“)
  • Note Everything Pro (kostenpflichtig)
  • Stundenplan Deluxe
  • AndrOpen Office
  • Polaris Office

Gesundheit

  • Apotheke
  • BlutdruckDaten

Internet und Kommunikation

  • Aqua Mail (Sichern und Wiederherstellen der Konten zum einfachen übertragen auf andere Geräte)
  • Firefox (Erweiterungen: Adblock Edge, Delete Cookies on Exit)
  • Threema (sichere, verschlüsselte Alternative zu WhatsApp)

Multimedia

  • Audials
  • Rocket Player
  • VLC
  • YouTube

TV

  • Das Erste
  • ARD Mediathek
  • Eurosport Player
  • Tagesschau
  • ZDF
  • ZDF heute

System

  • Audio Mode Switcher (Handy leise oder auf Vibration zu bestimmten Terminen oder auf Grund von Schlüsselwörtern im Google-Kalender)
  • Avast! Mobile Security
  • Avast! Anti-Theft
  • Dropsync
  • Boxcryptor Classic
  • EasyBackup
  • ES Datei Explorer
  • ES Task-Manager
  • KeyPassDroid
  • Fon (Fritz!)
  • Wi-Fi Finder
  • Let’s print Droid / Let’s print PDF / Let’s print Framework
  • Startup Manager

Karten und GPS

  • Navigator
  • Earth
  • Maps
  • OsmAnd (OpenStreet Navigation mit Offline Funktion)
  • Google Sky Map

Sonstiges und Infos

  • mini Light MAXI Bright
  • smartChord
  • TankenApp
  • WetterApp

Nachschlagewerke, Wörterbücher, Übersetzer

  • Wikipedia
  • Gelbe Seiten
  • Offline Wörterbücher
  • Googles (übersetzt fotografierte Texte)

Bücher

  • WebOpac (Bücher suchen, vorbestellen und verlängern)
  • Aldiko (eBook-Reader mit Adobe DRM)

Bibel

  • Bibel
  • Taizé Readings

 Reise

  • ADAC Pannenhilfe
  • ADAC Auslandshelfer
  • BW-Mobile
  • EFA-Fahrplan

Tolino Shine/Vision einrichten

Notwendige Programme:

  • Calibre (Bücher verwalten, konvertieren und übertragen)
  • Ebola (kostenlose Bücher von „Projekt Gutenberg“ und „Zeno“)
  • Adobe DigitalEdition (Notwendig zum Download von Büchern mit dem Adobe-DRM)

Calibre sollte in der aktuellsten Version direkt von der Homepage installiert werden, da die Version in den gängigen Quellen oft zu alt ist und den Tolino nicht unterstützt (http://calibre-ebook.com/download_linux – am Ende der Seite werden die Paket-Abhängigkeiten aufgeführt). In den Versionen ab 1.34 unterstützt Calibre den Tolino als „Generic e-ink device“.

Ebola ist in der Regel nur direkt auf der Homepage erhältlich (http://lbremer.de/ebola.html). Damit auch Bücher von Zeno heruntergeladen werden können, muss zusätzlich noch Cextra installiert werden. Dieses Tool ist jedoch kaum zu finden und zur Zeit eigentlich nur unter folgendem Link verfügbar: http://www.mobileread.com/forums/attachment.php?attachmentid=105523&d=1367924885. Die Java-Datei cextra.jar in das Ebola-Verzeichnis kopieren und diesen Pfad in Ebola unter Einstellungen/Cetra-Pfad auswählen.
Die aktuellen Buchlisten können über die „Bearbeiten → Buchliste → Update …“ Einträge im Menü aktualisiert werden (dauert sehr lange!).
Ebola speichert die heruntergeladenen Bücher im Ebola-Verzeichnis unter „output“.

Adobe DigitalEdition läuft unter Linux mit Wine-HQ zusammen mit Wine-Mono. Wichtig ist, dass Wine-HQ in einer aktuellen Version (>= 1.7) und Wine-Mono (>=4.5) installiert wird. Es kann vorkommen, dass die aktuelle Version von Adobe DigitalEdition (3.0) nicht installiert werden kann bzw. dann beim Start mit Fehlermeldungen abstürzt. Es gibt auch ältere Versionen (z. B. 2.0) die problemlos laufen (http://download.adobe.com/pub/adobe/digitaleditions/ADE_2.0_Installer.exe). Die Kompatibilität der Versionen kann sich jedoch ständig ändern, daher einfach zunächst mit der aktuellen Version testen). Eine Installation unter Ubuntu wird hier ausführlich beschrieben.

Die Installation kann auch ganz einfach über winetricks installiert werden. Dort einfach „Install an app“ und dann „adobe_diget“ auswählen.

Beim Download eines gekauften Buchs, die acsm-Datei direkt an Adobe DigitalEdition übergeben lassen, dann wird das Buch im Home-Verzeichnis automatisch unter „My Digital Editions“ gespeichert und kann dann von Calibre importiert werden.

Notwendig ist jetzt noch eine Adobe-ID, die direkt über Adobe zu beziehen ist (https://www.adobe.com/de → Bei meinem Adobe-Konto anmelden → Sie haben noch keine Adobe-ID?).

 

 

OCR unter Linux

Programme zur Texterkennung

Die Besten Ergebnisse hatte ich mit tesseract erhalten. Hierfür kann der OCRFeeder als grafische Oberfläche verwendet werden. Es kann je nach Version des OCRFeeders notwendig sein, in den Einstellungen in der Kommandozeile für tesseract Deutsch als Erkennungssprache anzugeben. Der OCRFeeder kann auch Seiten begradigen und greift auch auf die Funktionen von Unpaper zurück. Zur Vorbereitung von gescannten Seiten empfiehlt sich das Programm ScanTailor.

Fehler beim Start des OCR-Feeders:

Dieser Fehler tritt auf, da sich in der PythonImageLibrary (PIL) Aufrufe geändert haben. Daher das Kompatibilitäts-Paket python-imaging installieren:

Durchsuchbare PDF-Datei im PDF/A-Format

Gescannte PDF-dokumente können mit einem Script (OCRmyPDF) automatisch in durchsuchbare PDF-Dokumente im PDF/A-Format umgewandelt werden. Das Script kann unter github.com/fritz-hh/OCRmyPDF/releases heruntergeladen werden. Das Archiv herunterladen, entpacken und ggf. das Shellscript OCRmyPDF.sh ausführbar machen.

Aufruf:

Aufrufparameter:

  • -l deu: deutsche Sprache
  • -d: Seite mit unpaper geraderücken
  • -g: Debug-Modus (der erkannte Text wird jeweils als extra Seite zusätzlich eingefügt)

installierte Drucker werden nicht gefunden

Unter Debian (mit XFCE-Oberfläche) kann es vorkommen, dass manche Programme (hauptsächlich KDE-Programme) entweder keine Drucker anzeigen oder Drucker, die es gar nicht mehr gibt. Dies liegt daran, dass diese Programme die Drucker in der Datei /etc/printcap suchen, diese allerdings von cups nicht (mehr) verwaltet wird. Die aktuellen Drucker stehen in der Datei /var/run/cups/printcap, die von cups dynamisch erzeugt wird.

Um dieses Problem zu beheben einfach einen symbolischen Link anlegen:

Video DVDs unter Ubuntu abspielen

Damit DVDs unter Ubuntu abgespielt werden können muss libdvdcss2 wie folgt installiert werden:

Anschließend führt man im Terminal diesen Befehl aus:

Wenn der Reginalcode umgestellt werden muss, geht man wie folgt vor:

  1. Installation des Pakets regionset:
  2. Gerätenamen herausfinden: Beliebige DVD ins Laufwerk einlegen und Systemüberwachung öffnen. Auf den Reiter Dateisysteme klicken und unter der Spalte Geräte den Gerätenamen heraussuchen (beginnt mit /dev/…).
  3. Terminal öffnen und folgendes eingeben:
  4. Regionalcode auf RC2 (Europa) setzten:

    Hat man diesen Schritt ausgeführt, wird einem unter anderem angezeigt, wie oft man den Regionalcode noch ändern kann, bis die Einstellung unveränderbar wird.

home-Verzeichnis verschlüsseln unter Debain

Unter Ubuntu kann man (direkt bei der Installation) die einzelnen home-Verzeichnisse des jeweiligen Users so (mit encfs) verschlüsseln, so dass diese mit dem jeweiligen Login autmoatisch für den jeweiligen user entschlüsselt werden. Unter Debian ist dies nur nachträglich möglich und zwar wie folgt:

1) Notwendige Pakete installieren:

2) Ggf. das Modul ecryptfs in den Kernel integrieren (sofern dies nicht automatisch geschieht):

3) Die Dateien des Users können nun über ein Skript automatisch verschlüsselt in ein ecryptfs Verzeichnis kopiert werden. Folgender Befehl muss als root im root-Verzeichnis ausgeführt werden:

Wichtig: Der entsprechende user darf dabei nicht eingeloggt sein!

4) Die Ausgaben von ecryptfs-migrate-home unbedingt befolgen:
– Sofort mit dem entsprechenden User einloggen und prüfen, ob alle Daten vorhanden sind.
– Sofern alles passt, den Backupordner löschen.
– Den Passwortschlüssel abfragen und an einem sicheren ort speichern:

5) Ebenso die swap-Partition verschlüsseln:

S-Abf-Taste (Magic SysRQ-Key)

Wenn Linux hängt kann man über die S-Abf-Taste (bzw. Druck-Taste) Befehle direkt an den Kernel senden. Somit kann das System noch sicher heruntergefahren werden, auch wenn sonst nichts mehr geht.

Ausgeführt werden die Kernel-Befehle über die Tastenkombination <Alt> + <S-Abf> + <Buchstabe>.

Einen sicheren Neustart erreicht man mit folgender Buchstabenkombination: R, E, I, S, U, B (zwischen den einzelnen Buchstaben ein paar Sekunden Pause lassen, damit der jeweilige Befehl auch vollständig ausgeführt wird).

R unraw Verlasse den Keyboard-Raw-Modus, der unter X und SVGAlib aktiv ist, in den Keyboard-XLATE-Modus, der im Textmodus von Linux verwendet werden kann. Dies kann nützlich sein, wenn eine grafische Anwendung abstürzt und der Benutzer sich in der Konsole wiederfindet, die aufgrund des falschen Tastatur-Modus zunächst jedoch nicht benutzbar ist.
K secure attention key Beende alle Prozesse auf dem aktuellen Terminal, um sicher zu sein, dass der LoginPrompt von Init stammt und nicht von einem Trojaner. Eine aufgehängte Anwendung, welche die SVGAlib benutzt, oder ein nicht mehr reagierender X-Server lassen sich auch auf diese Weise beenden. So wird etwa in Ubuntu seit Version 9.04 dies statt der bisher genutzten Kombination Strg+Alt+Backspace empfohlen.[1]
B reboot Fahre den Rechner sofort herunter, ohne Daten aus dem Kernel–Festplatten–Cache auf die Festplatten zu schreiben und ohne Partitionen auszuhängen, und starte den Rechner neu.
O poweroff Schaltet den Rechner mit sofortiger Wirkung über ACPI/APM – wenn unterstützt – ab. Wie bei B wird mit O alleine nichts gespeichert.
S sync Schreibe alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten
U umount Alle schreibbar eingebundenen Partitionen werden ausgehängt und anschließend nur-lesend wieder eingehängt.
M memory Gib die Hauptspeicherbelegung in der Konsole aus.
E term Sende SIGTERM an alle Prozesse außer Init
I kill Sende SIGKILL an alle Prozesse außer Init
L kill including init Sende SIGKILL an alle Prozesse, auch an Init. Das kommt einem Ausschalten gleich. Neuere Kernelversionen zeigen einen Backtrace an.
F force a OOM kill Startet den OOM-Killer, der den speicherlastigsten Prozess tötet. Damit kann man meistens am System weiterarbeiten, wenn ein Prozess anfängt stark auszulagern und das System dadurch sehr träge reagiert.
C crashdump Starte mit Hilfe von kexec[2] neu (sofern vorhanden) und gib einen Crashdump auf dem Bildschirm aus. Ansonsten provoziere einen Absturz durch eine Null-Pointer-Dereferenzierung.[3]
D Zeige (im Textmodus) alle derzeitigen Locks an.
Q Zeige alle derzeitig laufenden Timer an.
P show registers Zeige den Inhalt der CPU–Register inklusive der Flags an.
T show tasks Zeige eine Liste aktuell laufender Prozesse an.
W Zeige blockierte Prozesse an, die sich, beispielsweise während Festplattenzugriffen, im „ununterbrechbaren Schlaf“ befinden.
N Hiermit lässt sich die Priorität von Echtzeit–Prozessen herabsetzen.
H help Gib einen Hilfetext für die Benutzung des Magic–SysRq–Key aus. Auch jede andere nicht belegte Taste gibt diesen Text aus, aber H wird höchstwahrscheinlich auch in Zukunft nicht anderweitig belegt werden und lässt sich aufgrund der Eselsbrücke zu „Hilfe“ beziehungsweise „Help“ gut merken.
09 set log level Zahlen von 0 bis 9 bestimmen den Log Level, das heißt die Grenze, ab welcher Wichtigkeit eine Nachricht des Kernels angezeigt wird. Bei 0 werden nur noch kritische Meldungen wie etwa Kernel Panic angezeigt.
G kgdb Schaltet bei neueren Kernelversionen auf die Framebuffer–Textkonsole um und started den Kernel–Debugger kgdb, falls vorhanden.
J „Just thaw it“ Beendet bei neueren Kernelversionen das „Einfrieren“ eines Dateisystems durch die IOCTL–Funktion FIFREEZE.
V framebuffer, ETM dump Schaltet bei neueren Kernelversionen auf die Framebuffer–Textkonsole um. Auf der ARM-Architektur wird der ETM–Puffer angezeigt.
X XMON Bei neueren Kernelversionen für die XMON–Schnittstelle der Power/Power–PC–Architektur verwendet.
Y FTRACE dump Bei neueren Kernelversionen wird der FTRACE–Puffer angezeigt.
Z show global CPU registers Bei neueren Kernelversionen werden auf der SPARC–64–Architektur die globalen CPU–Register angezeigt.

Quelle: http://de.wikipedia.org/wiki/Magische_S-Abf-Taste

Ghostscript

Auflösung von PDF-Dateien verändern (z. B. um ein PDF-Dokument mit sehr hochauflösenden Bildern für den E-Mail-Versand zu komprimieren):

Für PDFSETTINGS sind folgende Optionen möglich:

  • /screen (nur für Bildschirmanzeige – 72 dpi)
  • /ebook (geringe Qualität – 150 dpi)
  • /printer (hohe Qualität – 300 dpi)
  • /prepress: (hohe Qualität mit hoher Farbtreue – 300 dpi)

Ein fertiges Skript für Nautilus gibt es unter http://launchpad.net/compress-pdf. Hier noch eine Kurzanleitung zur Installation des Skripts:

Beispiele, wie PDF-Dateien in Bilder umgewandelt werden können zeigen die Artikel pdf2bmp und pdf2jpg

Powertop

Das Programm powertop zeigt übersichtlich die vorhandenen Stromsparfunktionen (mit der aktuellen Auslastung) des Rechners an und auch, ob diese aktiviert sind. Gerade bei mobilen Rechnern kann durch aktivieren zusätzlicher Stromsparfunktionen die Laufzeit deutlich verlängert werden.

Aufruf: sudo powertop

Änderungen, die powertop vornimmt können mit inotifywait überwacht werden (inotifywait wird über inotify-tools installiert).

sudo inotifywait --recursive --event MODIFY --exclude cpufreq /sys/
liefert z.B.
/sys/devices/pci0000:00/0000:00:11.0/ata1/host0/scsi_host/host0/ MODIFY link_power_management_policy

Änderungen können über cat nachverfolgt werden:
cat "/sys/devices/pci0000:00/0000:00:11.0/ata1/host0/scsi_host/host0/link_power_management_policy"
Ladekabel abzeihen und wieder anstecken (macht die Änderung rückgängig).
cat "/sys/devices/pci0000:00/0000:00:11.0/ata1/host0/scsi_host/host0/link_power_management_policy"

DVB MPEG-TS nach AVI konvertieren

Beim konvertieren von Transportstreams (z. B. aus einer DVB-Aufnahme) besteht zumeist das Problem, dass danach die Bild- und Tonspur nicht synchron sind. DVB-Transpotstreams können unter Linux eigentlich nur wie folgt vernünftig in ein mpeg-Video umgewandelt werden:

Der erste Befgehl trennt den Transportstream in Video- und Tonspuren auf wie folgt:

  1. *.m2v: Die Videodatei ohne Ton
  2. *.mp2: Die Stereo Tonspur
  3. *.ac3: Die Surround Tonspur, so eine vorhanden.

Danach wird über mplex eine mpg-Datei mit synchronen Spuren erstellt, die dann z. B. mit AviDemux bearbeitet werden können.

Weitere Tutorials im Netz:
Tutorial 1
Tutorial 2 (ubuntuusers)

Opera

Opera-Werbefilter

Mit der Datei urlfilter.inilassen sich Inhalte aus Webseiten filtern. So kann man sich einen sehr effektiven Werbefilter erstellen.

Schalter für die Filterdatei (urlfilter.ini) der Browserleiste hinzufügen:

  1. Klick auf den Link: Filterbutton setzen
  2. Dialog mit OK bestätigen
  3. Den Button „Filter ist aus“ im neu erscheinenden Fenster mit der Maus in die Browserleiste ziehen

Eine stark erweiterte urlfilter.ini zum Download: urlfilter.ini (Speichern mit Rechtsklick und „speichern als…“)

Die urlfilter.ini muss unter Linux in den .opera-Ordner kopiert werden.

traceroute

traceroute IP-Adresse zeigt den Weg durchs Netz zur angegebenen Adresse. sudo traceroute -T google.com findet auch den Weg, wenn die ICMP-ECHO-Pakete gefiltert werden, denn die TCP-SYN-Pakete gehen im Normalfall auch durch Firewalls durch.

unter Suse gibt es statt traceroute mtr

curl

Mit curl kann die eigene IP-Adresse im Internet ermittelt werden. Dazu ist die Abfrage eines Servers notwendig. Nicht immer ist jeder Server erreichbar. Daher hier ein paar Beispiele:

  • curl ifconfig.me
  • curl icanhazip.com
  • curl ip.appspot.com
  • curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"

 

 

WebDAV

WebDAV (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet.

In der Konsole kann auf WebDAV über cadaver zugegriffen werden:

  • GMX:  cadaver http://mediacenter.gmx.net
  • Strato:  cadaver http://webdav.strato.de/

Hierfür müssen die Pakete ca-certificates und davfs2 installiert sein:

WebDAV mounten

Temporär als root in der Konsole

Eine weitere Möglichkeit besteht über gvfs-mount. Dieses Vorgehen wird in https://wiki.ubuntuusers.de/gvfs-mount/ ausführlich beschrieben.

Als normaler user über einen Eintrag in der fstab

Eintrag in der fstab:

Damit jeder Benutzer WebDAV-Laufwerke einbinden darf, muss das SUID-Bit für den Befehl mount.davfs gesetzt werden:

Jeder Benutzer, der das WebDAV-Laufwerk ohne Root-Rechte einbinden darf, muss außerdem der Gruppe davfs2 angehören:

Damit der Benutzername und das Passwort nicht jedes mal eingegeben werden müssen, gibt es zwei Möglichkeiten diese Daten zu hinterlegen:

1. Global für alle Benutzer in /etc/davfs2/secrets (als root bearbeiten):

2. Für einen einzelnen Benutzer in ~/.davfs2/secrets (Dateirechte: 600):

wget

Herunterladen einzelner Dateien oder auch ganzer Internetseiten

  •  wget -r -p -k URL lädt rekursiv eine Webseite herunter und konvertiert die Links in lokale Links.
  •  wget -r -p -k -E URL  lädt rekursiv eine Webseite herunter, benennt die Endungen in html um und konvertiert die Links in lokale Links.
  •  wget -r -A pdf URL  lädt alle PDF-Dateien einer Webseite herunter.
  •  wget -r -l2 -np URL  rekusiv, zwei Ebenen wechselt nicht in übergeordnete Ebene
  •  wget -r p -l3 --user-agent="Andererbrowser/6.0" http://www.irgend-eine-seite.de  lädt bis zum 3. Level, getarnt als ein anderer Browser, Webseiten herunter
  • Linkliste checken: wget -nv --spider --force-html -i .opera/opera6.html (200 bedeutet OK – ohne -nv gibt es ausführliche Infos )

sitecopy


Mit sitecopy können Websites mit lokalen Verzeichnissen synchronisiert werden.

Installation:

Zuerst muss die zentrale Konfigurationsdatei sowie ein Verzeichnis für den Versions-Tracker im Home-Verzeichnis angelegt werden.

Konfiguration:

Die Konfigurationsdatei besteht aus einer oder mehreren Sektionen (eine pro Website) mit folgender Syntax:

Es gibt noch eine Vielzahl weiterer Optionen, z. B. für den Umgang mit Links, Exclude-/Include-Filter, Proxys, usw. Diese sind auf der manpage (man sitecopy) detailliert beschrieben.

Erster Aufruf

Es gibt drei mögliche Situationen vor dem ersten Aufruf von Sitecopy; für jede muss individuell vorgegangen werden:

  • Remote- und lokale Dateien sind synchron.
    Aufruf von sitecopy --catchup beispiel , um das Programm zu initialisieren.
  • Keine lokale Kopie vorhanden. Aufruf von sitecopy --synchronize beispiel , um eine lokale Kopie zu erstellen.
  • Keine Kopie auf dem FTP Server vorhanden. Aufruf von sitecopy --init beispiel
    . Die lokalen Dateien werden dann beim nächsten Aufruf hochgeladen.

Tägliche Benutzung

Nachdem das Programm nun betriebsbereit ist, kann es sehr einfach benutzt werden. Ein Aufruf von sitecopy --update beispiel  lädt alle modifizierten oder neuen Dateien, inklusive Unterverzeichnissen, auf den FTP und löscht auch alle Dateien, die lokal entfernt wurden. Wenn mehrere Sites in der Konfigurationsdatei definiert sind, können diese mit sitecopy –update beispiel beispiel2 in einem Rutsch synchronisiert werden.

sitecopy -u -a aktualisiert alle Sites, die in der Datei .sitecopyrc stehen.

rsync

rsync synchronisiert immer nur in einer Richtung. Für einen gegenseitigen Abgleich müssen also zwei Aufrufe erfolgen:

  •  rsync /verzeichnis1/ /verzeichnis2 
  •  rsync /verzeichnis2/ /verzeichnis1

Der / nach der 1. Pfadangabe verhindert, dass der letzte Ordner des 1. Pfads als neuer Ordner unter dem 2. Pfad angelegt wird. Somit bedeuten folgende Aufrufe genau das gleiche:

Weiterlesen

awk

. Bawk Ausdruck { Anweisungen } Datei

Ausdruck

Der erste Parameter ist ein regulärer Ausdruck.

Anweisungen

Den zweiten Parameter stellen die awk-Anweisungen (anzugeben in geschweiften Klammern) dar. Diese Anweisungen legen fest, welche Manipulationen am Input-Stream durchgeführt werden sollen.

Datei

Der Parameter Datei legt die Datei fest, aus der der Input-Stream gelesen werden soll. Ohne Angabe liest awk von der Standardeingabe oder aus einer Pipe.

Beispiele

Beispiel 1: 2. Spalte ausgeben (z. B. Prozess-ID bei grep)

Beispiel 2: alle Zeilen einer Datei mit dem Buchstaben „n“ ausgeben:

Wörter zählen

Folgendes Skript zählt die (verschiedenen) Wörter in einer Datei.

  1. Ermittle, welche Zeichen Wörter trennen.
  2. Ersetze diese Zeichen durch \n-Zeichen, so dass auf jeder Zeile nur ein Wort steht.
  3. Entferne leere Zeilen.
  4. Wandle alle Großbuchstaben in Kleinbuchstaben um.
  5. Sortiere alles.
  6. Zähle die mehrfach vorkommenden Zeilen und gebe die Statistik aus.

Als pipe formuliert sieht die Lösung wie folgt aus:

Tastaturbefehle (BASH)

Wort-Befehle

Esc b Ein Wort zurück bewegen
Esc f Ein Wort vor bewegen
Strg-W Das Wort links vom Cursor löschen
Esc d Das Wort unter dem Cursor löschen
Strg-Y Das zuletzt gelöschte Wort zurückholen (»yank«)

Zeilenbefehle

Strg-A Cursor am Zeilenanfang positionieren
Strg-E Cursor am Zeilenende positionieren
Strg-K Vom Cursor bis zum Zeilenende alle Zeichen löschen

Diverse andere Befehle

Strg-T Vertauscht das unter dem Cursor stehende Zeichen mit seinem linken Nachbarn
Strg-U Löscht alle Zeichen vom Zeilenanfang bis zum Cursor
Strg-V Das nächste eingegebene Zeichen wird maskiert, d. h. seiner besonderen Bedeutung beraubt
Strg-C Unterbricht das gerade laufende Kommando
Strg-S Bildschirmausgabe anhalten
Strg-Q Gehaltene Bildschirmausgabe fortsetzen

übergebenen Pfad ermitteln bzw. abfragen

Überprüft, ob ein übergebener Pfad gültig ist. Wird kein Pfad übergeben, so wird einer über kdailog abgefragt.

Samba

Windows-Freigaben unter Linux

Server

/etc/init.d/samba restart startet den Samba-Server neu

Alle Einstellungen befinden sich in /etc/samba/

Benutzer anlegen

smbpasswd -a user legt Benutzer an
smbpasswd -x user löscht den User in Samba

/etc/samba/smbusers

Weist den Linux-Benutzern Alias-Namen zu, die für den Login verwendet werden können:
Petri = Winuser meldet den Windows-User „Winuser“ als Linux-User „Petri“ an.

Konfigurationsdatei

/etc/samba/smb.conf

Client

Windows-Freigabe mounten

von Hand:

  1. Paket „samba-client“ installieren
  2. mkdir Zielverzeichnis
  3. mount -t smbfs -o username=user,password=passwort,gid=users,fmask=0664,dmask=0775 //Server/Freigabe/ Zielverzeichnis 

automatisch beim Start:

Zeile in /etc/fstab einfügen:

Passwortdatei/root/.smbpasswd/serverxy mit folgendem Inhalt erstellen :

Rechte anpassen:  chmod 600 /etc/smbpasswd

Windows-Freigabe mounten per GUI unter KDE (Samba, LISa): 

Pakete „kdenetwork3-lisa“, „kdenetwork3-lan“, „kdebase3-samba“, „samba-client“ installieren:

Kontrollzentrum/Internet & Netzwerk/Netzwerk-Browser starten

Windows-Ressourcen und LISa-Dämon konfigurieren

SMB-Protokoll-Versionen

Das SMB-Protokoll existiert in den Versionen 1.0, 2.0, 2.1 und 3.0, die untereinander nicht vollständig kompatibel sind. Eine Kommunikation kommt nur zustande, wenn sich beide Partner auf eine gemeinsame Version einigen. Dazu ist es manchmal erforderlich, die zu verwendende Version anzugeben.

Neue Kernel-Versionen erfordern, dass mann beim mounten die Samba-Version 1.0 explizit angeben muss. Dies ist z. B. bei Freigaben der FritzBox der Fall.  Herzu wird beim mount-Befehl zusätzlich die Option vers=1.0 angeben.

sudo mount -t cifs -o vers=1.0,username=<user>,password=<passwrd> //fritz.nas/FREIGABE MOUNTPOINT

Ansonsten gibt es noch die Versionen: 2.0, 2.1 und 3.0

QLandkarteGT

Das Programm QlandkarteGT ist wohl das umfangreichste Programm unter Linux, um Karten darzustellen und GPS-Daten zu bearbeiten und verwalten. Die Karten der OSM sind direkt online verfügbar.

Eine sehr ausführliche Einführung ist im Wiki von ubunuusers und auf der entsprechenden Sourceforge-Seite beschrieben.

Besonders praktisch ist, dass QLandkarteGT Garmin-GPS-Geräte direkt unterstützt.

Online-TMS-Karten können als Stream-Karten wie folgt eingebunden werden:

  1. Reiter „Karten“ im linken Bereich öffnen
  2. Rechtsklick im Stream-Fenster und „TMS-Karte hinzufügen …“ auswählen
  3. Name und URL eingeben
 Name  URL
 Google-Map  http://mt.google.com/vt/x=%2&y=%3&z=%1
 Google Satellite  http://mt.google.com/vt/lyrs=s&x=%2&y=%3&z=%1
 Google Terrain  http://mt.google.com/vt/lyrs=t&x=%2&y=%3&z=%1
 OpenStreetMap.com (OSM)  http://tile.openstreetmap.org/%1/%2/%3.png
 OpenStreetMap.de (OSM)  http://a.tile.openstreetmap.de/tiles/osmde/%1/%2/%3.png
 OpenCycleMap (OSM)  http://tile.opencyclemap.org/cycle/%1/%2/%3.png
 ÖPNV-Karte (OSM)  http://tileserver.memomaps.de/tilegen/%1/%2/%3.png
 Skobbler (OSM)  http://tiles1.skobbler.net/osm_tiles2/%1/%2/%3.png
 Hike & Bike (OSM)  http://toolserver.org/tiles/hikebike/%1/%2/%3.png
Design-Karte – Schwarz-Weiß http://tile.stamen.com/toner/%1/%2/%3.png
Design-Karte – Gelände http://tile.stamen.com/terrain/%1/%2/%3.png
Design-Karte – Wasserfarben http://tile.stamen.com/watercolor/%1/%2/%3.jpg

Die Bing-TMS-Karte kann durch folgende Datei „bing.tms“ über „Datei/Karte laden“ hinzugefügt werden:

Höhenlinien können über SRTM-Dateien nachgeladen werden. Weltweite Höhenlinien können auf der Seite von CGIAR heruntergeladen werden.

videorotate

Hier ein Beispielscript, dass mit Hilfe von mencoder Videos (um 90°) dreht und gleichzeitig komprimiert:

Fotodatum (Dateidatum=Exif-Datum)

Mit folgendem Skript kann das Dateidatum eines Fotos auf das EXIF-Aufnahmedatum gesetzt werden:

oder einfach nur mit folgendem Einzeiler:
exiftool -v "-FileName<CreateDate" -d "%Y-%m-%d_%H-%M-%S-%.c.%%e" Ordner
In Ordner liegen die Bilder.

bc

Führt mathematische Berechnungen in der Konsole aus. Der zu berechnende Ausdruck wird über die Standardeingabe eingelesen und das Ergebnis über die Standardausgabe ausgegeben.

Über die Option -l wird die Mathematik-Library geladen. Diese ermöglicht Berechnungen mit Winkelfunktionen.

 +, -, *, /, ^ entsprechend der Mathematischen Bedeutung
 – wert liefert den negativen Wert von „wert“
 ++ var, — var die Variable wird um 1 erhöht/erniedrigt und dann das Ergebnis ausgegeben
 var ++, var — die Variable wird als Ergebnis ausgegeben und dann um 1 erhöht/erniedrigt
 <, <=, >, >=, ==, != Vergleiche (liefert 1 oder 0)
 !wert  liefert 1, wenn „wert=0“ ist
 &&  liefert 1, wenn zwei Ausdrücke nicht 0 sind
 ||  liefert 1, wenn keiner der Ausdrücke 0 ist

Für folgende Berechnungen muss die Mathematik-Library mit der Option -l geladen werden:

 s (x)  sin (x) in rad
 c (x)  cos (x) in rad
 a (x)  arctan(x) in rad
 l (x)  ln (x)
 e (x)  e-Funktion
 j (x)  Bessel-Funktion

Beispiele:
echo "(5+3)/2 | bcecho "s (64.4)" | bc -l
mit scale abgetrennt durch ein Semikolon kann die Anzahl der Nachkommastellen, auf die gerundet wird, angegeben werden:
echo "scale=1; s (64.4)" | bc -l

read

Liest eine Zeichenkette von der Standardeingabe ein.
-n Anzahl der einzulesenden Zeichen
-s x Wartet maximal x Sekunden auf die Eingabe
-p Text gibt „Text“ vor dem Einlesen auf der Standardausgabe aus

let

Ganzzahliges Rechnen mit Variablen und vergleichen von Variablen:

let a++ Variabel a um 1 erhöhen (Increment)
let a– Variable a um 1 erniedrigen (Decrement)
+, -, *, / let a=1+2
let a=$b/$c
** potenzieren z. B. let a=2**5
<=, >=, <, > Vergleich /liefert 1 oder 0) z. B. let a=’1<2′
==, != gleich, ungleich z. B. let a=’$b==$c‘
&, ^, | Bitweise AND, XOR, OR
&&, || logisches AND, OR

Berechnungen mit mehreren Rechenoperatoren:
let a=($b-1)/2

Quoting

Die folgenden Zeichen haben eine spezielle Bedeutung innerhalb der Shell:

 ; Befehls-Trennzeichen
 & Hintergrund-Verarbeitung
 ( ) Befehls-Gruppierung
 | Pipe
 <>& Umlenkungssymbole
 *?[]~+-@! Meta-Zeichen für Dateinamen
 ` ` (Backticks) Befehls-Substitution (Die Backticks erhält man durch [shift] und die Taste
neben dem Backspace.
 $ Variablen-Substitution
 [newline] [space] [tab] Wort-Trennzeichen

Die folgenden Zeichen können zum Quoten verwendet werden:

 “ „ Anführungszeichen Alles zwischen diesen Zeichen ist buchstabengetreu zu interpretieren. Ausnahmen sind folgende Zeichen, die ihre spezielle Bedeutung
beibehalten: $ ` „
 ‚ ‚ Ticks Alles zwischen diesen Zeichen wird wörtlich genommen, mit Ausnahme
eines weiteren ‚ und \. (Die Ticks erhält man bei deutschen Tastaturen
durch die Taste neben dem Backspace — ohne [shift].)
  \ Backslash Das Zeichen nach einem \ wird wörtlich genommen. Anwendung z. B.
innerhalb von “ „, um „, $ und ` zu entwerten. Häufig verwendet zur
Angabe von Leerzeichen (space) und Zeilenendezeichen, oder um ein
\-Zeichen selbst anzugeben.

Meta-Zeichen (in Dateinamen)

Bei der Angabe von Dateinamen können eine Reihe von Meta-Zeichen verwendet werden:

 * Eine Folge von keinem, einem oder mehreren Zeichen
 ? Ein einzelnes Zeichen
 [abc] Übereinstimmung mit einem beliebigen Zeichen in der Klammer
 [a-q] Übereinstimmung mit einem beliebigen Zeichen aus dem angegebenen Bereich
 [!abc] Übereinstimmung mit einem beliebigen Zeichen, das nicht in der Klammer ist
 ~ Home-Verzeichnis des aktuellen Benutzers
 ~name Home-Verzeichnis des Benutzers name
 ~+ Aktuelles Verzeichnis
 ~- Vorheriges Verzeichnis

Reguläre Ausdrücke

Sonderzeichen in Suchmustern:

 . Steht für ein beliebiges *einzelnes* Zeichen, mit Ausnahme des Zeilenendezeichens.
 * Steht für eine beliebige (auch leere) Menge des einzelnen Zeichens vor dem Sternchen.
Das vorangehende Zeichen kann auch ein regulärer Ausdruck sein. Beispielsweise steht .*
für eine beliebige Anzahl eines beliebigen Zeichens
 ^ Übereinstimmung, wenn der folgende Ausdruck am Zeilenanfang steht.
 $ Übereinstimmung, wenn der vorhergehende Ausdruck am Zeilenende steht.
 \\ Schaltet die Sonderbedeutung des nachfolgenden Zeichens ab.
 [ ] Steht für *ein* beliebiges Zeichen aus der eingeklammerten Gruppe. Mit dem Bindestrich
kann man einen Bereich aufeinanderfolgender Zeichen auswählen ([a-e]). Ein Zirkumflex
(~) wirkt als Umkehrung: [^a-z] erfasst alle Zeichen, die keine Kleinbuchstaben sind. Ein
Bindestrich oder eine schließende eckige Klammer am Listenanfang werden als Teil der
Liste angesehen, alle anderen Sonderzeichen verlieren in der Liste ihre Bedeutung.
 \\( \\) Speichert das Muster zwischen \( und \) in einem speziellen Puffer. In einer Zeile können
bis zu neun solcher Puffer belegt werden. In Substitutionen können sie über die
Zeichenfolgen \1 bis \9 wieder benutzt werden.
/ \{ \\} Steht für den Vorkommensbereich des unmittelbar vorhergehenden Zeichens. \{n\} bezieht
sich auf genau n Vorkommen, \{n,\} auf mindestens n Vorkommen und \{n,m\} auf eine
beliebige Anzahl von Vorkommen zwischen n und m. Dabei müssen n und m im Bereich
zwischen 0 und 256 liegen.
 \\< \\> Steht für ein Zeichen am Anfang (\<) oder am Ende (\>) eines Wortes.
 + Steht für ein oder mehrere Vorkommen des vorhergehenden regulären Ausdrucks = \{1,\}
 ? Steht für kein oder ein Vorkommen des vorhergehenden Ausdrucks. = \{0,1\}
 | Übereinstimmung, wenn entweder der vorhergehende oder der nachfolgende reguläre
Ausdruck übereinstimmen.
 ( ) Steht für die eingeschlossene Gruppe von regulären Ausdrücken.

Sonderzeichen in Ersatzmustern:

 \\ Hebt die spezielle Bedeutung des nächsten Zeichens auf.
 \\n Ruft das n-te Muster aus dem Puffer ab (siehe oben, unter \( \).) Dabei ist n eine Zahl
zwischen 1 und 9.
 & Verwendet das vorherige Suchmuster erneut als Teil eines Ersatzmusters.
 ~ Verwendet das vorherige Ersatzmuster erneut im momentanen Ersatzmuster.
 \\u Ändert das erste Zeichen des Ersatzmusters auf Großschreibung.
 \\U Ändert alle Zeichen des Ersatzmusters auf Großschreibung.
 \\l Ändert das erste Zeichen des Ersatzmusters auf Kleinschreibung.
 \\L Ändert alle Zeichen des Ersatzmusters auf Kleinschreibung.
 \\e Hebt das vorangegangene \u oder \l auf.
  \\E Hebt das vorangegangene \U oder \L auf.

Beispiele: Muster

 Haus Die Zeichenfolge „Haus“.
 ^Haus „Haus“ am Zeilenanfang.
 Haus$ „Haus“ am Zeilenende.
 ^Haus$ „Haus“ als einziges Wort in einer Zeile.
 [Hh]aus „Haus“ oder „haus“
 Ha[unl]s „Haus“, „Hals“ oder „Hans“
 [^HML]aus Weder „Haus“, noch „Maus“, noch „Laus“, dafür aber andere Zeichenfolgen, welche „aus“ enthalten.
 Ha.s Der dritte Buchstabe ist ein beliebiges Zeichen.
 ^…$ Jede Zeile mit genau drei Zeichen.
 ^\\. Jede Zeile, die mit einem Punkt beginnt.
^\\.[a-z][a-z] Jede Zeile, die mit einem Punkt und zwei Kleinbuchstaben beginnt.
 ^\\.[a-z]\\{2\} Wie oben, jedoch nur in grep und sed zulässig.
 ^[^.] Jede Zeile, die nicht mit einem Punkt beginnt.
 Fehler* „Fehle“(!), „Fehler“, „Fehlers“, etc.
 „Wort“ Ein Wort in Anführunszeichen.
 „*Wort“* Ein Wort mit beliebig vielen (auch keinen) Anführungszeichen.
 [A-Z][A-Z]* Ein oder mehrere Großbuchstaben.
 [A-Z]+ Wie oben, jedoch nur in egrep und awk zulässig.
 [A-Z].* Ein Großbuchstabe, gefolgt von keinem oder beliebig vielen Zeichen.
 [A-Z]* Kein, ein oder mehrere Großbuchstaben
 [a-zA-Z] Ein Buchstabe.
 [^0-9a-zA-Z] Symbole (weder Buchstaben noch Zahlen).
[0-9a-zA-Z] Jedes alphanumerische Zeichen.

Beispiele: Suchen und Ersetzen mit sed. Im Folgenden werden Leerzeichen durch _ und
Tabulatoren durch TAB gekennzeichnet.

 s/.*/( & )/ Wiederholt die ganze Zeile, fügt aber Klammern hinzu.
 s/.*/mv & &.old/ Formt eine Wortliste (ein Wort pro Zeile) zu mv-Befehlen um.
 /^$/d Löscht Leerzeilen.
 /^[_TAB]*$/d Löscht Leerzeilen und Zeilen, die nur aus Leerzeichen oder Tabulatoren
bestehen.
 / */ /g Wandelt ein oder mehrere Leerzeichen in ein Leerzeichen um.
\(.*\)\n sucht nach einem Ausdruck in Klammern, gefolgt von einem Zeilenumbruch

case

Die Befehle hinter *) werden ausgeführt, wenn keines der aufgeführten Muster passt. Muster
können über ein ODER (|) verknüpft werden: Muster1|Muster2.

test […]

Der Befehl test dient zum Überprüfen von Dateitypen bzw. Vorhandensein von Dateien und zum Vergleichen von Werten. Der Aufruf erfolgt mit test Vergleich wobei Vergleich die Prüfung bzw. den Vergleich enthält. Als Ergebnis gibt test 0 für Wahr (true) und 1 für Falsch (false) zurück. Der Rückgabewert wird mit Hilfe der Shelleigenen Variablen $? ermittelt. Es gibt Vergleiche für Dateien, Zeichenketten und Integer-Zahlen.

Anstatt des Befehls test kann die Bedingung auch in eckige Klammern gesetzt werden. Hierbei ist darauf zu achten, dass zwischen den Klammern und dem Vergleich jeweils ein ein Leerzeichen steht:   [ Vergleich ]
Weiterlesen

Befehle in Abhängigkeit ausführen

Ein zweiter Befehl wird in Abhängigkeit eines ersten Befehls ausgeführt:

  1. Zweiter Befehl nach Beendigung des ersten Befehls ausführten:
    date; ls 
  2. Zweiter Befehl ausführen, wenn der erste erfolgreich war:
     make && make install
  3. Zweiter Befehle ausführen, wenn der erste nicht erfolgreich war:
    ls datei || touch datei
  4. Kombination aus 2 und 3:
     ls datei && echo "Datei vorhanden" || touch datei

tee

Der Befehl tee gibt die Standardeingabe auf die Standardausgabe und in eine Datei aus.

ls -l | tee liste.txt
gibt den Inhalt des aktuellen Verzeichnisses auf die Standardausgabe und in eine Datei aus.

Eingabeumlenkung

Datei als Standardeingabe verwenden: <
echo < datei.txt

Umlenkung mit Hilfe von Datei-Deskriptoren:

Befehl <&n Standard-Eingabe für Befehl wird vom Datei-Deskriptor n übernommen.
Befehl m<&n Der gleiche Vorgang, nur wird die Eingabe, die normalerweise vom Datei-
Deskriptor m stammt, aus dem Datei- Deskriptor n übernommen.
Befehl <&- Schließt die Standard-Eingabe.

Ausgabeumlenkung

  1. Umlenkung der Standardausgabe in eine (neue) Datei: >
    ls > inhalt.txt
  2. Umlenkung der Standardausgabe von zwei Befehlen in eine (neue) Datei: () > 
    (date;ls) > inhalt.txt
  3. Umlenkung der Standardausgabe in eine bestehende Datei (anhängen): >>
    l s >> inhalt.txt
  4. Umlenkung der Fehlermeldungen in eine Datei: 2 >
    ls 2> fehler.txt
  5. Umlenkung der Standardausgabe und der Fehlermeldungen in eine Datei: >&
    ls >& ausgaben.txt

Umlenkung mit Hilfe von Datei-Deskriptoren:

Befehl >&n Standard-Ausgabe von Befehl an den Datei-Deskriptor n übergeben.
Befehl m>&n Der gleiche Vorgang, nur wird die Ausgabe, die normalerweise an den Datei-
Deskriptor m geht, an den Datei-Deskriptor n übergeben.
Befehl >&- Schließt die Standard-Ausgabe.

Mehrfach-Umlenkung:

Befehl 2> Datei Fehler-Ausgabe von Befehl in Datei schreiben. Die Standard-Ausgabe
bleibt unverändert (z. B. auf dem Terminal).
Befehl > Datei 2>&1 Fehler-Ausgabe und Standard-Ausgabe von Befehl werden in die Datei
geschrieben.
(Befehl > D1) 2>D2 Standard-Ausgabe erfolgt in die Datei D1; Fehler-Ausgabe in die Datei D2.

pipe

Über eine pipe | kann die Standardausgabe eines Befehls auf die Standardeingabe eines anderen Befehls umgeleitet werden:
ls | less
ps ax | grep daemon | less
find -name "*.pdf" -print0 | xargs -0 echo

Datei zeilenweise einlesen

Mit while:

Aufruf über File-Descriptor (ermöglicht direkten Zugriff auf die Datei „datendatei“):

IP-Adressen aus einer Datei auslesen (Durch setzen des Punktes in der Trennzeichenvariablen IFS werden die durch „read“ eingelesenen IP-Adressen aufgeteilt und in die Array-Variable „IP“ geschrieben):

while-Schleife

Beispiele:

Endlosschleife:

While-Schleife mit find (Variante mit for (siehe for-Schleife) ist ca. 30% schneller):

alle *.jpg rekursiv in allen Unterordnern finden (hierzu gibt es auch eine elegante Variante mit for, die jedoch nur in der Bash funktioniert):

Datei zeilenweise einlesen (Eine Variante mit File-Descriptor gibt es hier):

Fehlermeldung „Error:“ in einer Datei suchen:

for-Schleife

continue [n]: springt zum Schleifenanfang und übergeht dabei n Duchläufe
break [n]: verlässt n Schleifenebenen

Beispiele:

Script um alle Bilder in einem Verzeichnis zu verkleinern:

Dieses Script wandelt alle PDF-Dateien im Verzeichnis in Postscript-Dateien um:

Zählerschleife:

For-Schleife mit find (schnell):

Alle *.jpg finden und bearbeiten (funktioniert nur in der Bash):

übergebene Parameter

$# Anzahl der Parameter
$1 1. Parameter
$2 2. Parameter
.
.
$n n. Parameter

$* oder $@ alle Parameter
$? Rückgabewert des letzten Kommandos
$$ Prozessnummer der aktiven Shell
$! Prozessnummer des letzten Hintergrundprozesses
ERRNO Fehlernummer des letzten fehlgeschlagenen Systemaufrufs
PWD Aktuelles Verzeichnis (wird durch cd gesetzt)
OLDPWD Vorheriges Verzeichnis (wird durch cd gesetzt)

Dateinamen, Dateiendung und Pfad trennen

  • Pfad ohne letzten Slash:  DIR="${i%/*}"
    alternativ:  DIR=`dirname "$i"`
  • Pfad mit Dateinamen ohne Endung:   xBASE="<code>${i%.*}"
    alternativ:   xBASE=<code>`echo "$i" | sed 's/\(.*\)\..*/\1/'`
  • Aktuellen Pfad durch . ersetzen:  [ "$DIR" == "$i" ] && DIR=.
  • Dateiname mit Endung: FILE="${i##*/}"
    alternativ: FILE=`basename "$i"`
  • Dateiendung: FILEEXT=${i##*.}
    alternativ:  FILEEXT=`echo "$i" | sed 's/.*\.\(.*\)/\1/'`
    Dateiendung in Großbuchstaben:  FILEEXT=`echo ${i##*.} | tr '[:lower:]' '[:upper:]'
  • Dateiname ohne Endung: FILEBASE=${FILE%.*}

Stringbearbeitung (Variablen)

Aufruf Beschreibung
${name:n:m} liefert Teil eines Strings
n = Offset, negativ = vom Ende her (in diesem Fall muss ein Leerzeichen vor dem Minus stehen!)
m = Anzahl (kann entfallen)
${name#a} entfernt den Anfang, wenn dieser mit a übereinstimmt
a = Suchstring (Windcards (?,*) sind erlaubt)
${name##*a} entfernt alle Übereinstimmungen mit a vom Anfang her
a = Suchstring (Windcard „*“ notwendig!)
${name%a} entfernt das Ende, wenn dieses mit a übereinstimmt
a = Suchstring (Windcards (?,*) sind erlaubt)
${name%%a*} entfernt alle Übereinstimmungen mit a vom Ende her
a = Suchstring (Windcard „*“ notwendig!)
${name/s/e} Suchen / Ersetzen (erste Fundstelle)
s = Suchstring (Windcards (?,*) sind erlaubt)
e = Ersatzstring (kann entfallen -> Suchstring wird entfernt)
${name//s/e} Suchen / Ersetzen (alle Fundstellen)
s = Suchstring (Windcards (?,*) sind erlaubt)
e = Ersatzstring (kann entfallen -> Suchstring wird entfernt)
${name:-a} Standardwert zurückgeben
gibt den Wert „a“ zurück, wenn die Variable „name“ leer ist
${name:=a} Standardwert setzen und zurückgeben
gibt den Wert „a“ zurück und weist diesen der Variablen „name“ zu, wenn die Variable „name“ leer ist
${name:?a} Fehlermeldung und Programmabbruch
Wenn die Variable „name“ leer ist, wird die Fehlermeldung „a“ ausgegeben und das Skript beendet.
${name:+a} liefert „a“, wenn „name“ nicht leer ist
mit dieser Funktion kann z.B. ein „/“ eingefügt werden, wenn eine Datei übergeben wird (z.B. $HOME${datei:+/}$datei )

Eingabe-History aktivieren

in der Datei /etc/inputrc oder ~/.inputrc folgende Einträge freischalten:

oder

export

export PATH="/home/ich/meineProgramme:"$PATH":/home/ich/proggis"

Umgebungsvariable global exportieren:

source export variable="inhalt"

.profile

Diese Konfigurationsdatei wird von der Login-Shell ausgewertet, jedoch nicht von der bash, sofern die Datei  ~/.bash_profile oder ~/.bash_login existiert.

In der Datei .profile sollte folgendes eingetragen sein:

# set PATH so it includes user’s private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:“${PATH}“
fi

Environmentvariablen setzen

PATH=$PATH:/home/bin fügt den Ordner /home/bin der Variable PATH hinzu.

In der Datei .profile sollte folgendes eingetragen sein:

Zeichensatz in der Konsole einstellen

Einstellungen in: /etc/console-tools/config 

  1. Paket localeconf installieren mit
    sudo apt-get install localeconf
  2. Datei
    /var/lib/locales/supported.d/de
    als Root mit einem Editor bearbeiten:
    sudo vi /var/lib/locales/supported.d/de.
    Folgende Zeile anhängen: de_DE@euro ISO-8859-15
  3. Nach dem Speichern der Datei die
    /etc/locale.gen
    generieren:
    sudo dpkg-reconfigure locales
  4. Jetzt mit localeconf den Zeichensatz systemweit auswählen:
    sudo dpkg-reconfigure localeconf

Einstellung des Zeichensatzes mit
setxkbmap de

Weitere Programme rund um den Zeichensatz: setkeycodes, scancode, keycode

History aller Shells speichern

Normalerweise wird immer nur die History der zuletzt geschlossenen Shell gespeichert. Durch hinzufügen der folgenden Zeilen in die Datei ~/.bashrc werden die Eingaben aller Shells gespeichert:

  • Einstellung, damit neue Befehle an die History-Datei anhängen kann: shopt -s histapped
  • Die History-Daten vor ausgabe des nächsten Prompt speichern: PROMPT_COMMAND="history -a"

Will man Veränderungen an der bashrc aktivieren so hilft . ~/.bashrc 
Dieser Befel liest die .bashrc und die zugehörigen Dateien neu ein. Mit exec bash -$-wird die Shell neu gestartet.

Prompt einstellen

 ~/.bashrc: PS1="\u@\h \w \$ " 
Dies steht für user@host aktuelles_verzeichnis $

grüne Schrift:
 ~/.bashrc: PS1="\[\033[0;32;40m\u@\h:\w\$ \]" 

Sowohl für den Vordergrund als auch für den Hintergrund stehen 8 Farben zur Verfügung.

Auswahl: schwarz, rot, grün, gelb, blau, magenta, cyan und weiß. Die Zahlen dafür sind: 30, 31, 32, 33, 34, 35, 36, 37.

Das Setzen der Hintergrundfarbe verläuft genauso, allerdings statt 3 mit 4. Also 40, 41, 42, 43, 44, 45, 46, 47.

Beispiel:
 ~/.bashrc: PS1="\[\033[0;37;44m\u@\033[0;32;43m\h:\033[0;33;41m\w$\033[0m\]"