UbuntuJunkie

Oct 24

Sicher löschen: RAM, Dateien, Swap und freien Speicherplatz unter Linux

Über Sinn, Unsinn und Paranoia bezüglich des sicheren Löschens von Daten kann man ausgiebig diskutieren. Wie viel Sinn es tatsächlich macht seine Daten sicher zu löschen und ob es den Zeitaufwand wert ist, das möchte ich hier offen lassen. Möge das jeder für sich entscheiden. Fakt ist: Das sichere Löschen dauert deutlich länger und kostet mehr Rechenzeit als das gewöhnliche Löschen, da der zu löschende Datenbereich mehrmals überschrieben wird und die dafür nötigen Zufallsdaten generiert werden müssen.

Wer sich dafür interessiert, findet im Repository seiner Distribution sicherlich irgendwo das Paket „secure-delete“, welches auf Ubuntu/Debian-Systemen mittels folgender Zeile aus der Shell heraus installiert werden kann:

sudo apt-get install secure-delete

Wer das Paket im Repository seiner Distribution nicht findet, kann es sich über die Seite des Autos herunterladen, in dem er dort nach „secure delete“ sucht: http://freeworld.thc.org

Die Tool-Sammlung besteht aus vier Befehlen für die Kommandozeile: sdmem, sfill, srm und sswap. Wer diese Befehle effektiv nutzen möchte, sollte sie am besten mit Root-Rechten ausführen (mit einem vorgesetzten sudo unter Ubuntu zum Beispiel). Da die Befehle sdmem und sfill den freien Speicher überschreiben, ist ihr Einsatz noch effektiver, wenn Programme bereits geschlossen wurden, die sensible Daten im Arbeitsspeicher oder temporär auf Festplatten gespeichert lassen könnten.

WICHTIG: Vorsicht im Umgang mit den Befehlen srm und sswap! Wer nicht aufpasst, kann damit versehntlich wichtige Daten löschen! Für Datenverluste welcher Art auch immer übernehme ich daher keine Verantwortung.



Secure-Delete im Überblick

sdmem: Überschreibt den vorhandenen Arbeitsspeicher sicher.

sfill <VERZEICHNIS>: Überschreibt den freien Speicherplatz auf der Festplatte. Wer möchte kann auch ein Verzeichnis angeben, dann werden alle freien Inodes eines angegebenen Verzeichnisses sicher gelöscht.

Beispiel:

sfill /home/mein_account/

srm <DATEI>: Löscht wie der Befehl rm Dateien bzw. mit der Option -r auch rekursiv Verzeichnisse – nur eben sicher, durch mehrmaliges Überschreiben.

Beispiel:

srm Dokument.doc

sswap /dev/[Partition]: Löscht die Swap-Partition durch mehrmaliges Überschreiben sicher.

Die Swap-Partition muss für diesen Prozess zunächst deaktiviert werden: swapoff -a. Nach Beendigung des Löschvorgangs kann die Swap-Partition wieder aktiviert werden: swapon -a. Da swapon/swapoff -a dazu führt, dass alle Swap-Partitionen deaktiviert werden und man eventuell nur eine bestimmte Swap-Partition aktivieren/deaktivieren möchte, kann man dies auch mittels swapon/swapoff -U <UUID> tun.

Wer sich unsicher ist wie die UUID seiner Swap-Partition lautet oder wo diese überhaupt im System verankert ist, kann dies mit dem Befehl blkid einsehen. Die Swap-Partition trägt am Ende der Zeile die Bezeichnung: TYPE=”swap”.

Beispiel:

sswap /dev/sda5

Alle Befehle unterstützen die Optionen -f und -l

Der Schalter -f steht für „fast“, zu Deutsch: „schnell“. Er führt den Löschvorgang deutlich schneller aus, da er nicht auf das Device-File /dev/urandom des Systems zugreift, welches Zufallsdaten produziert. Dieser Vorgang ist jedoch auch unsicherer!

Der Schlater -l steht für „lessens the security“, was so viel bedeutet wie „mit verringerter Sicherheit“. Die Daten werden nur in zwei Durchgängen überschrieben. Es wird daher empfohlen diesen Vorgang anschließend noch ein zweites Mal durchzuführen.

Übrigens: Wer sich für weitere Schalter/Optionen der jeweiligen Befehle sowie deren Löschprozedur und Hintergrundinformationen interessiert, kann zu jedem Befehl eine Manpage aufrufen:

man sdmem
man sfill
man srm
man sswap

Sep 07

Bash-Tricks: Die History

Nach einer laaaangen Sommerpause, in der es für mich viel zu tun gab und in der ich unter anderem meine Abschlussarbeit fertiggestellt habe, melde ich mich wieder zu Wort, mit einer kurzen Einführung in die „Bash-History“.

Zunächst einmal: Was ist überhaupt eine „Bash-History“? „History“ kommt, wie wir alle wissen, aus dem Englischen und bedeutet „Geschichte“. Was die Bash ist, das dürfte den meisten Linux-Nutzern vermutlich klar sein: Die Shell bzw. die Eingabeaufforderung, über die man Programme starten und das System steuern kann. Die „Bash-History“ ist also eine Art Protokoll über die von uns im Laufe der Zeit eingegebenen Befehle.

Der Sinn der History ist, bei Bedarf zurückverfolgen zu können, welche Schritte man bei der letzten Arbeit in der Shell durchgeführt hat. Dies kann sehr sinnvoll sein, wenn man zum Beispiel unbeabsichtigt etwas verstellt hat und aufgrund dessen nun etwas nicht so will wie es sollte. Es kann aber auch sehr sinnvoll sein sich eine benötigte Befehlszeile wieder ins Gedächtnis zu rufen, die einem entfallen ist.


Durch die History navigieren

Wer sich einmal seine eigene Bash-History anschauen möchte, gibt in der Bash einfach folgenden Befehl ein:

history

Nun werden alle gespeicherten Einträge untereinander ausgegeben und durch eine Zeilennummer am Anfang ergänzt. Bei mir fängt die erste Zeile mit der Zeilennummer 14 an und endet mit der Zeilennummer 513 – warum auch immer.

Wer nicht die komplette History sehen möchte, kann durch diese auch mit den Cursortasten [↑] und [↓] navigieren. Dabei muss man sich die History wie einen Stack – also zum Beispiel einen Stapel Papier vorstellen. Das was ich nun als letztes auf den Stapel lege, das kann ich auch als erstes wieder greifen. Mit der Cursortaste [↑] kann ich immer weiter in die Vergangenheit der History eindringen. Mit der Cursortaste [↓] gehe ich den umgekehrten Weg.

Wer eine Zeile gefunden hat, die wieder ausgeführt werden soll, muss diese einfach nur mit der Enter-Taste bestätigen. Soll diese Zeile etwas angepasst werden, so kann man sich mit den Cursortasten [←] und [→] innerhalb der Zeile bewegen. Wem das bei langen Zeilen zu langsam geht, kann zusätzlich die [Strg]- bzw. [Ctrl]-Taste gedrückt halten.


Die History durchsuchen

Bei einer langen History ist es manchmal mühselig sich mit den Cursortasten durch die Liste zu bewegen, deshalb ist es hier praktisch, dass man die History auch durchsuchen kann.

Eine sehr einfache Methode ist in der Bash [Strg] + [R] zu drücken. Wenn man nun zu tippen anfängt, dann sucht die Bash die letzte zutreffende Zeile raus. Nun ist es aber oft so, dass nicht unbedingt die zuletzt eingegebene Zeile, die mit dem eingegebenen String anfängt, auch gleich die richtige ist. Wenn man nun erneut [Strg]+[R] eingibt, so gelangt man zur vorletzten, dem eingegebenen String entsprechenden Befehlszeile. Mit dem erneuten Drücken von [Strg]+[R] gelangt man dann zur vorvorletzten Befehlszeile und immer so weiter.

Wurde die gewünschte Zeile gefunden, so kann man sie mit der Enter-Taste ausführen. Wer den Suchvorgang abbrechen möchte, drückt auf [Esc]. Und wer die gefundene Zeile anpasse möchte, drückt eine der beiden Cursortasten [←] oder [→].

Diese Suchmethode erfordert allerdings, dass man weiß, womit die gesuchte Befehlszeile anfängt. Ist das nicht der Fall, so kann man auf eine so genannte „Pipe“ zurückgreifen. Das bedeutet, dass die Ausgabe des Befehls vor der Ausgabe auf dem Bildschirm zunächst abgefangen, verarbeitet und erst dann ausgegeben wird. Hier leiten wir die Ausgabe des Befehls history durch eine grep-Pipe, mit der wir nach einem String suchen können:

history | grep apt-get

Diese Zeile lieferte in meinem Falle beispielsweise folgende Ausgabe, in der der gesuchte String „apt-get“ vorkommt:

35  sudo apt-get install gtk2-engines-equinox equinox-theme equinox-ubuntu-theme faenza-icon-theme
  156  sudo apt-get install darktable
  404  sudo apt-get cache search pidgin
  405  sudo apt-get —purge autoremove
  407  sudo apt-get update
  408  sudo apt-get upgrade
  523  history | grep apt-get

Für kompliziertere Suchvorgänge, beispielsweise wenn ihr mehrere Begriffe in einer Befehlszeile finden möchtet, müsst ihr erst mal auf Google zurückgreifen. Ein kleines Tutorial zu grep ist hier schon geplant, aber würde in diesem Beitrag etwas den Rahmen sprengen.

Die History lässt sich übrigens auch als Datei öffnen, einsehen, durchsuchen und modifizieren:

gedit ~/.bash_history


Größe der History ändern

Wer die aktuelle Größe seiner History erfahren möchte, kann dies mit folgender Zeile tun:

echo $HISTSIZE

Die Zahl gibt die Länge der History an (Anzahl der Einträge). Um diese Größe anzupassen, genügt es in der .bashrc zwei Werte zu setzen. Am besten ist, man sucht zunächst nach folgender Zeile:

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)

Findet man sie nicht, so kann man sie am Ende der Datei einfügen. Darunter fügt man dann die folgenden beiden Zeilen ein:

export HISTFILESIZE=10000
export HISTSIZE=10000

Natürlich können die Werte nach belieben angepasst werden.


History löschen

Wer Spuren verwischen möchte (Ihr Bösnickel, ihr! ;), hat natürlich die Möglichkeit die History zu löschen. Der folgende Befehl macht die History wieder „clean“:

history -c

Wer nicht die komplette History, sondern nur Teile daraus löschen oder gar modifizieren möchte, kann dies – wie bereits erwähnt – in der .bash_history machen:

gedit ~/.bash_history


History-Einträge mit Zeit- und Datumsangaben

Manchmal wäre es beim Durchsuchen der History ganz sinnvoll zu erfahren wann eine Befehlszeile ausgeführt wurde – also mit Datum und Uhrzeit. Durch eine kleine Modifikation an der .bashrc ist dies möglich:

gedit ~/.bashrc

Am Ende der Datei fügt man die folgenden beiden Zeilen ein, bevor man die Datei speichert und den Editor wieder schließt:

# HISTTIMEFORMAT
export HISTTIMEFORMAT=’%Y-%m-%d, %T – ‘

Jetzt nur noch die Bash geschlossen und wieder geöffnet und durch Eingabe von history kann man nun in Erfahrung bringen, wann welche Zeile ausgeführt wurde.


History-
Shortcuts

Es gibt noch ein nettes Feature der Bash, dass ich hier mal als „Shortcuts“ bezeichnen möchte.

Nehmen wir zum Beispiel an, wir haben eine Befehlszeile, die wir immer wieder nacheinander in gewissen Zeitabständen ausführen müssen/wollen. Einmal eingegeben, holen wir die Zeile mit der Cursortaste [↑] wieder aus der History und bestätigen sie mit der Enter-Taste. Statt dessen kann man den letzten Befehl aber auch mit folgender Zeile erneut ausführen:

!!

Der Vorteil des ganzen ist jetzt sicherlich nicht so ganz ersichtlich. In Scripten kann dies aber durchaus sinnvoll sein. Oder man führt die zuvor eingegebene Zeile mit Root-Rechten aus:

sudo !!

Was auch noch möglich ist, ist das Hervorholen der Befehlszeile, die mit einem bestimmten String anfängt, der das letzte Mal in der History aufgetaucht ist. Oder kurz und verständlich: Wenn ich fünf Zeilen vorher ps -fe | grep pino ausgeführt habe und danach kein weiterer ps-Aufruf erfolgt ist, dann kann ich eben diese Zeile mit folgendem Befehl erneut ausführen:

!ps

Der String nach dem Ausrufezeichen ist variabel. Die Bash holt einfach die Befehlszeile aus der History raus, die als erstes dem nach dem Ausrufezeichen eingegebenen String entspricht und führt diese aus.


Mehr über die History

Dies ist natürlich nur ein kurzer Einblick in die History-Funktion der Bash. Kombinationsmöglichkeiten mit anderen Befehlen gibt es natürlich nahezu unendlich viele, man muss sich nur ein wenig Zeit nehmen und das Netz danach mit Google durchsuchen.

Wer sehen möchte, wie mächtig der history-Befehl ist und was damit noch alles möglich ist, der sollte sich die Manpage dazu durchlesen:

man history

Ansonsten wünsche ich noch viel Spaß mit der History!

Jun 13

26 Mac- und Windows-Standard-Fonts für Ubuntu

Leider bietet Ubuntu nach der Installation keine große Auswahl an Schriftarten und kaufen möchte man nicht unbedingt welche, wenn man damit nicht gerade seinen Lebensunterhalt verdient. Schöne Schriftarten sind aber immer was Feines, nicht nur wenn man mit InkScape, Scribus oder Gimp gestaltet. Auch beim Austausch von Dokumenten, beispielsweise zwischen Windows und Linux, können einige zusätzliche Schriftarten praktisch sein, besonders, wenn in einem zugeschickten Dokument einige Standardschriftarten von Office 2007 verwendet werden. Daher hier eine Auswahl an Standard-Schriftarten der Systeme Windows und Mac zum Nachinstallieren unter Ubuntu.


Installation von Schriften

Wo und wie man Schriften installiert, möchte ich hier nicht noch einmal erwähnen. Wer sich darüber nicht sicher ist, kann dies im Folgenden Beitrag nachlesen, unter „Schriften installieren“. Diese Anleitung ist auch für all die interessant, welche die Schriften systemweit installieren möchten. In den folgenden Beispielen installiere ich die Schriften, welche von Hand installiert werden müssen, ausschließlich für den aktuellen Benutzer.


Die Standard-Fonts

Bestimmte Schriftarten, die man z.B. von Windows oder vom Mac her kennt, sind standardmäßg unter Ubuntu nicht verfügbar, da sie einem Urheberrecht unterliegen und es sich somit um keine freie Software handelt. Es gibt allerdings trotzdem eine legale Möglichkeit diese Schriften zu installieren. Einige der Schriften sind im Repository enthalten, andere kann man über kleine Umwege herunterladen und nachinstallieren. Doch der Reihe nach… .

MS Core Fonts
Die MS Core Fonts sind von der Microsoft-Seite als ausführbare Installation verfügbar. Aus diesem Grund gibt es auch ein vorgefertigtes Paket im Repository von Ubuntu, welches diese Schriftarten automatisiert herunterlädt und installiert. Enthalten sind darin folgende Schriftarten:

Installieren kann man das MS Core Fonts-Paket über die Shell mit folgender Zeile:

sudo apt-get install ttf-mscorefonts-installer


Tahoma
Wie ihr vermutlich schon bemerkt habt, ist unter den MS Core Fonts leider nicht die durchaus beliebte Schriftart Tahoma enthalten. Da diese dem Urheberrecht unterliegt und auch nicht von Microsoft zum Download angeboten wird, wurde sie vom Wine-Team sozusagen nachgebaut. Wer Wine installiert hat, hat vermutlich auch bereits Tahoma auf seinem System. Andernfalls kann man Tahoma wie folgt über die Shell installieren:

sudo apt-get install ttf-tahoma-replacement


Office 2007 Fonts
Seit Office 2007 gibt es nun einige Fonts, die nur indirekt von Microsoft zum Download angeboten werden. Sie sind im PowerPoint Viewer 2007 enthalten und müssen deshalb von Hand heruntergeladen, entpackt und installiert werden. Enthalten sind darin folgende Schriftarten:

Für diesen Vorgang benötigen wir das Programm cabextract, welches wie folgt aus dem Repository installiert werden kann:

sudo apt-get install cabextract

Nun muss der PowerPoint Viewer 2007 zunächst heruntergeladen werden. Ich mache das in meinem Beispiel auf den Desktop. Anschließend klickt man mit der rechten Maustaste auf die PowerPointViewer.exe-Datei und wählt im Kontextmenü „Hier entpacken“ aus. Nun wechselt man in der Shell in das soeben entpackte Verzeichnis und entpackt dort erneut und zwar das CAB-Archiv, welches unter anderem die vorhin erwähnten Schriftarten beinhaltet:

cabextract ppviewer.cab

Zuletzt müssen nur noch die gerade entpackten Schriftendateien installiert werden. Ich schiebe diese gleich in ein separates Verzeichnis namens office2007:

mkdir ~/.fonts/office2007 && cp *.TTF ~/.fonts/office2007

Fertig. Anschließend kann man die heruntergeladenen und entpackten Dateien wieder vom System entfernen.


DejaVu
Weniger bekannt dürften die DejaVu-Schriften sein, welche aber meiner Meinung nach schon irgendwie zu den Standardschriften gehören. Im Repository befindet sich das Paket ttf-dejavu welches folgende DejaVu-Schriften enthält:

Installiert wird dieses Paket über die Shell mit der folgenden Zeile:

sudo apt-get install ttf-dejavu


Mac OSX Fonts
Einige von Mac OSX her bekannte Schriften, kann man hier herunterladen. Installiert werden die Schriften wie bereits oben erwähnt. Enthalten sind im Archiv folgende Schriftarten:

Jun 05

Ubuntu via Handy mit OpenSSH fernsteuern

Hin und wieder kommt es vor, dass der Rechner einfach seine Zeit braucht, um etwas fertig zu stellen. Sei es ein Download, ein System-Update oder gar -Upgrade oder das Kompilieren einer aufwändigeren Anwendung. Nicht immer hat man Zeit und Lust am Rechner zu sitzen und darauf zu warten, bis er mit seiner Aufgabe fertig geworden ist. Den Rechner möchte man aber vielleicht trotzdem nicht unnötig lange laufen lassen.

Ein anderes Szenario ist – wie in meinem Falle – der Rechner der Eltern, auf dem man wunderbar Ubuntu installiert hat und es nun hin und wieder via Internet aktualisieren möchte. Wenn man nicht immer vor Ort sein kann, dann wäre es sehr praktisch, wenn man dies aus der Ferne erledigen könnte. Eben schnell ein kurzer Anruf: „Mutter! Schmeiß’ die Kiste an!“ Und schon kann es losgehen.

Geht nicht? Geht doch! Es geht sogar sehr einfach. Es gibt fünf grobe Schritte, welche zu befolgen sind um zu diesem Ziel zu gelangen:

1. Installation und Konfiguration des OpenSSH-Dämons
2. DynDNS einrichten
3. Installation und Konfiguration der SSH-Client-Software auf dem Handy
4. Konfiguration des Routers/der Firewall
5. Sicherheitstipps

Wer allerdings eine grafische Steuerung erwartet wird enttäuscht. Hier läuft alles über die Shell ab. Dies mag vielleicht schade sein, aber es spart Transfervolumen, was je nach Datentarif am Mobiltelefon günstiger und je nach verfügbarem Datenzugang außerdem viel schneller ist, steht mal kein UMTS/HSDPA zur Verfügung. Außerdem macht es an einem „normalen Mobiltelefon“ auch wenig Sinn auf einen Briefmarken-Bildschirm irgendwelche GUIs zu übertragen.

Packen wir es also an!

Schritt 1: OpenSSH-Dämon installieren und konfigurieren

Die Installation des Open-SSH-Dämonen (Daemons) bzw. -Servers ist so simpel wie sonst was:

sudo apt-get install openssh-server

Fertig! Jetzt wird zunächst die Konfigurationsdatei editiert:

sudo gedit /etc/ssh/sshd_config

Folgendes ist der Datei hinzu zu fügen bzw. abzuändern… .

Zunächst sollten wir die Option abschalten, sich direkt als root anzumelden. Dies ist unter Ubuntu ohnehin nicht möglich, aber sicher ist sicher. Die administrativen Rechte holen wir uns dann wie gewohnt mit sudo:

1. ÄNDERN VON:

PermitRootLogin yes

IN:

PermitRootLogin no

Anschließend möchten wir uns via Passwort anmelden, was im Zusammenhang mit MidpSSH (dem SSH-Client für Java-fähige Mobiltelefone), meines Wissens nach bislang die einzige Authentifizierungsmöglichkeit ist:

2. EINFÜGEN VON:

Password Authentication yes

… am besten direkt unter die Zeile UsePAM yes.

Und dann noch dies hier… . Dazu gleich mehr!

3. EINFÜGEN VON:

# Allow/Deny Users and Groups
AllowGroups admin

… an das Ende der Datei.

Man kann natürlich noch mehr konfigurieren, dies sind aber die einfachsten Schritte, welche die grundlegenden Bedürfnisse abdecken sollten.

Dann sei noch zu AllowUsers bzw. DenyUsers und AllowGroups bzw. DenyGroups folgendes gesagt: Mit AllowUsers kann man Benutzernamen auf dem Server angeben, welche Benutzer sich via SSH am System anmelden dürfen bzw. unter DenyUsers, welche dies nicht dürfen. Ähnlich verhält es sich mit AllowGroups: Hier im Beispiel ist admin als Gruppe eingetragen, was allen Benutzern mit Administrationsrechten den Zugriff auf das System via SSH gestattet. Genauso kann man mit DenyGroups bestimmte Benutzergruppen vom Zugriff ausschließen.

Nun nur noch ein Neustart des Servers:

sudo /etc/init.d/ssh restart

Und damit wäre der Dämon einsatzbereit. Ob er funktioniert, können wir zunächst an einem anderen Rechner im lokalen Netz testen, sofern ein Zweitrechner vorhanden ist:

ssh benutzername@IP_DES_SSH_SERVERS

Beispiel:

ssh klaus@192.168.2.10

Klappt es nicht, so prüft bitte zunächst eure Konfiguration und schaut unter Schritt 4 rein!

Schritt 2: DynDNS einrichten

Das Problem ist nun, dass wir außerhalb des lokalen Netzwerks nicht die IP-Adresse des Rechners mit dem SSH-Server kennen. Kaum jemand wird eine statische IP-Adresse besitzen. Daher brauchen wir einen Dienst, der einer von uns festgelegten Domain automatisch die aktuelle IP-Adresse des Systems zuweist und dieser nennt sich beispielsweise DynDNS. Es gibt auch noch andere Dienste dieser Art, aber ich beschränke mich hier zunmächst nur auf DynDNS, zumal dies der wohl bekannteste Dienst seiner Art sein dürfte.

Geht zunächst zu DynDNS.com, registriert euch dort kostenlos und erstellt euch eine Domain. Zum Beispiel: DOMAINNAME.dyndns.org

Wer nun das Glück hat einen Router zu besitzen, der DynDNS und ähnliche Dienste unterstützt, der kann in der entsprechenden Konfigurationsmaske des Routers seine DynDNS-Daten eintragen. Bei mir (Speedport W 701V „gefritzt“) sieht das wie folgt aus:

Fritz!Box  DynDNS Konfiguration

Wer einen Router ohne entsprechende DynDNS-Unterstützung seinen eigenen nennt oder gar keinen Router, sondern ein Modem besitzt, der muss auf eine Software-Lösung zurückgreifen. Dafür bietet sich der ddclient aus dem Ubuntu-Repository an, der bei einer Verbindung mit dem Internet die dynamische Domain mit der aktuellen IP-Adresse abgleicht. Installiert wird er wie folgt:

sudo apt-get install ddclient

Nach der Installation erfolgt auch sogleich die Konfiguration, die ihr schon mal vornehmen solltet.

Schritt 3: SSH-Client-Software installieren und konfigurieren

Es gibt sicherlich noch andere SSH-Clients für das Handy. Ich habe mich jedoch für MidpSSH entschieden, weil es meiner Ansicht nach ein sehr guter SSH-Client für mein Sony Ericsson K800i und K510i ist. Wer mag, kann natürlich auch andere Software testen. Genauso gibt es für Smartphones (Black Berry, iPhone, etc.) und andere Mobiltelefone, auch die passende Software. Die Vorstellung der zahlreichen Programme würde hier jetzt allerdings den Rahmen sprengen, weshalb ich mich nur auf MipdSSH beschränke.

Nach der Installation und Ausführung der Anwendung auf dem Handy, sollte man sich zunächst ein Profil anlegen, um sich in Zukunft die ganze Tipperei zu ersparen. Anschließend kann man sich auch schon einloggen… .

Sehr praktisch ist die Funktion sich so genannte Macro sets anzulegen. Ich kann es wirklich nur empfehlen! Das sind einfach Vorlagen dafür, was man im Client sonst mühsam eingibt. Wer an seinem Mobiltelefon keine vollwertige Tastatur hat, wird wenig Freude beim Updaten des Systems haben, das er anschließend herunterfahren möchte:

sudo apt-get update && sudo apt-get upgrade
sudo shutdown -h now

Kurz paar Vorlagen/Macros angelegt, kann man sich hinterher das nervige getippe mit T9 ersparen.

Auch das „Abschießen“ einer Anwendung kann man sich erleichtern. Statt zum Beispiel:

sudo ps -fe | grep firefox
sudo kill -9 2641

… immer wieder einzugeben, können wir zwei Macros erstellen:

sudo ps -fe | grep

… und …

sudo kill -9

WICHTIG: Am Ende der Zeile sollte in beiden Macros ein Leerzeichen eingefügt werden! Außerdem sollte, bei der Erstellung der Macros, die Option Mode auf Type gestellt sein!

Der Grund für diese beiden „Besonderheiten“ ist ganz einfach: Was am Ende der Zeile steht, variert, je nachdem, welche Anwendung bzw. welche Prozess-ID man abschießen möchte. Somit hat man nach Auswahl des jeweiligen Macros noch immer die Möglichkeit, mit Input, die fehlenden Angaben am Ende der Zeile zu ergänzen, bevor man die endgültige Befehlszeile abschickt.

Schritt 4: Router (NAT) und Firewall konfigurieren

Wer sich im lokalen Netzwerk nicht auf dem SSH-Server einloggen kann, hat vermutlich entweder etwas falsch konfiguriert oder eine Software-Firewall laufen. Ich persönlich bin der Meinung, dass Software-Firewalls nur eine Ressourcenverschwendung sind, aber es sei jedem selbst überlassen darüber zu entscheiden, was nötig und unnötig ist. Standardmäßig sollte die Firewall auf dem Server – sofern vorhanden – eingehende und ausgehende Verbindungen auf dem TCP-Port 22 zulassen. Wer einen anderen Port für seinen SSH-Dämon benutzt, muss in der Firewall den entsprechenden TCP-Port statt TCP-Port 22 freigeben.

Sollte dies nun klappen, aber eine Verbindung vom Handy oder von einem externen Rechner aus – also außerhalb des lokalen Netzwerkes – scheitern, so kann es daran liegen, dass man hinter einem Router sitzt, der eingehende Verbindungen aus Sicherheitsgründen blockiert. Normalerweise biete der Router – in meinem Falle ein „gefritzter“ Speedport W 701V – unter den Konfigurationsoptionen die Möglichkeit die NAT (eine Art Firewall) zu konfigurieren. Schlagen wir also ein Löchlein in die Wand für die IP des Rechners, auf dem der SSH-Dämon läuft, für TCP-Port 22 oder welchen Port man bei sich auch immer gewählt hat. Danach sollte alles soweit funktionieren. Bei mir sieht das so aus:

Fritz!Box  NAT Konfiguration

Schritt 5: Sicherheitstipps

Zu beachten ist, dass die Authentifizierung auf dem Server nun über das Passwort eines lokalen Benutzers durchgeführt wird. Daher ist es sehr wichtig, dass alle Benutzernamen, über die man sich via SSH am System einloggen kann, über ein möglichst starkes und sicheres Kennwort verfügen. Einfache Kennwörter sind unter Umständen leicht zu erraten und stellen somit ein Sicherheitsrisiko dar – vor allem, wenn es sich um Benutzer mit Administrationsrechten handelt!

Sofern der SSH-Client dies unterstützt – MidpSSH tut es bislang meines Wissens nach nicht – empfiehlt es sich statt der Passwort-Authentifizierung die Public-Key-Authentifizierung zu benutzen. Nähere Informationen dazu ergoogelt bitte selbst.

Außerdem ist es ein Trugschluss, dass die Abweichung beim SSH-Server vom Standard TCP-Port 22 auf einen anderen Port – z.B. 27409 – für mehr Sicherheit sorgt. Es mag sicherlich einige Möchtegern-Cracker und -Hacker täuschen oder eventuell die Sichtbarkeit eines offenen Ports etwas hinauszögern, allerdings zeigt ein Portscan relativ schnell, welche Ports am System geöffnet sind und welche nicht.

Daher gilt: Wer einen SSH-Server nicht wirklich braucht, sollte auf ihn verzichten. Nur weil es „witzig“ ist sein System via Mobiltelefon zu steuern, muss es noch lange nicht sinnvoll sein! Für gewöhnlich sollte das System zwar grundsätzlich sicher sein, aber offene Ports stellen immer ein Sicherheitsrisiko dar, welches nichts ausgenutzt werden muss, aber kann, wenn z.B. die entsprechende Software eine Sicherheitslücke oder etwaige Bugs aufweist oder Kennwörter zu leicht zu erraten sind.

So, und nun hoffe ich, dass ich nichts vergessen habe und wünsche euch viel Spaß damit!

Jun 01

Ubuntu: Problemfall „AT-SPI-Registry“ lösen

Auf einigen Systemen kann es vorkommen, dass ein gewisser Dienst Komplikationen verursacht. Dies kann zum Beispiel so aussehen, dass einige Fenster nur noch träge reagieren oder beim Herunterfahren eine Meldung erscheint, dass der Dienst AT-SPI-Registry nicht beendet werden konnte, das System wartet dann auf eine Aktion des Benutzers. Auf anderen Systemen frisst dieser Dienst unnötig viel Arbeitsspeicher (angeblich bis zu 250 MByte laut einigen Berichten) oder soll sogar das System teilweise bremsen. Im Prozessmanager lässt sich der Dienst killen – oft erscheint er dort auch als ein so genannter „Zombie-Prozess“ – danach sollte das System etwas besser laufen.

Ich weiß nicht warum das so ist, aber ich habe endlich mit etwas Googeln eine Lösung gefunden. Für alle Leidgeplagten hier eine kurze Anleitung.

Wer auf den genannten Dienst nicht angewiesen ist, kann ihn ganz einfach deinstallieren:

sudo apt-get autoremove at-spi

Dabei werden auch einige andere Anwendungen mit deinstalliert. Dies betrifft in der Regel jedoch nur Software wie z.B. den Screenreader Orca und gegebenenfalls benötigte Komponenten. Wer auf einen barrierefreien Zugang zum System nicht angewiesen ist, sollte nach der Deinstallation keine Probleme bekommen, denn kurz und bündig: Für einen solchen Einsatz ist dieser Dienst hauptsächlich gedacht.

May 28

Ubuntu: Dateivorschau in Nautilus reparieren

Für gewöhnlich zeigt Nautilus – der Standard-Dateimanager unter Ubuntu – eine Vorschau für bestimmte Dateien an. Zu diesen Dateien gehören z.B. PDF-Dokumente, Bild- und Filmdateien oder andere visuell wahrnehmbare Dateien. Dies ist zum Beispiel dann sehr praktisch, wenn man Fotos sortiert.

Hin und weder kommt es jedoch vor, dass Nautilus eine solche Dateivorschau nicht generiert oder erst dann generiert, wenn man die entsprechende Datei zunächst geöffnet und anschließend die Ansicht für den Ordner, in dem sie liegt, aktualisiert hat. Dies passiert für gewöhnlich dann, wenn man zusätzliche Software installiert hat, welche das Verhalten des Dateimanagers verändert beziehungsweise in irgendeiner Weise beeinflusst.

Vor einem ähnlichen Problem stand ich bis heute auch, bis mir im Heimatverzeichnis der Ordner .thumbnails aufgefallen ist. Dies ist der Ordner, der die Vorschaubilder der jeweiligen Dateien enthält. Um das Problem nun zu beheben, begibt man sich in die Shell und löscht diesen Ordner zunächst komplett:

rm -R ~/.thumbnails


Anschließend sollte man sich aus- und wieder einloggen. Wer mag, kann alternativ auch Nautilus abschießen. Zumindest unter Lucid Lynx (Ubuntu 10.04) startet der Dateimanager von selbst neu und generiert entsprechende Dateivorschau, sobald man einen Ordnerinhalt aufruft. Das Abschießen des Dateimanagers geschieht mit:

killall nautilus


UPDATE:

Da ich ein ähnliches Problem eben an meinem Desktop-Rechner hatte und die von mir zuvor beschriebene brachiale, wenn auch einfache Lösung nicht geklappt hat, hier noch ein kleines Update dieses Beitrags.

Um das Problem zu lösen, sollte obiger Lösungsvorschlag nicht funktioniert haben, startet man einfach ein Terminal-Fenster und führt in der Shell folgende Befehle aus:

sudo update-mime-database /usr/share/mime
sudo update-desktop-database
sudo dpkg-reconfigure shared-mime-info

Anschließend bedarf es wieder eines Aus- und Einloggens bzw. des Abschießens des Dateimanagers Nautilus. Et voilà!

Apr 23

Granola – Energie sparen unter Linux ist ganz einfach -

Aus Zeitgründen kommt nach einer längeren Pause endlich wieder ein kleiner Beitrag im Blog. Diesmal gibt es ein kleines Tool namens „Granola“, welches ich euch ans Herz legen kann. Es ist kostenlos und es hilft euch Strom und somit Geld zu sparen und damit wiederum die Umwelt zu schonen. Dabei sollen die Energiesparmaßnahmen nicht auf Kosten der Leistung gehen.

Das Tool besteht aus zwei Teilen: der eigentlichen Power-Management-Software und einer passenden GUI. In der GUI sieht man zudem, wie viel Strom und somit Geld und COgespart wird.

Download der Software:
http://grano.la/help/?os=linux&download


Installation:

sudo bash ./installer.bash
sudo apt-get update
sudo apt-get install granola granola-gui

Natürlich kann und sollte man stets alles kritisch hinterfragen. So kann ich zum Beispiel spontan nicht beweisen, dass das Tool funktioniert, aber eines kann ich euch versprechen: Ich arbeite oft am Laptop und seit der Installation dieses Tools ist der Lüfter deutlich leiser und der Laptop etwas kühler.

Dieses Tool gibt es übrigens auch für Windows.

Apr 07

Programm-Abstürze unter Ubuntu Linux handhaben

Jedes Betriebssystem hat hin und wieder Fehler, die früher oder später beseitigt werden und wenn es nicht das Betriebssystem ist, dann vielleicht eine Anwendung. In der Regel kann man eine abgestürzte Anwendung über die Systemüberwachung unter System → Systemverwaltung abschießen. Dazu klickt man mit der rechten Maustaste auf die gewünschte Anwendung und probiert es zunächst mit Prozess beenden. Klappt dies nicht, kann man noch immer den Prozess abwürgen. Doch was tun, wenn die Anwendung das System stark auslastet oder gar die GUI komplett blockiert? Die Maus lässt sich dann zwar noch bewegen, aber alles steht still und man kann noch so viel klicken und drücken, aber nix passiert.

Bevor man das System nun neu startet und womöglich noch nicht gespeicherte Daten flöten gehen, gibt es noch die Möglichkeit die jeweilige Anwendung über die Shell abzuschießen. Dazu kann man mit Strg + Alt + F1 bis F6 in eine der virtuellen Konsolen wechseln. Dort logt man sich wie gewohnt ein und schon kann man sich auf die Jagd nach dem Übeltäter begeben. Zurück zur GUI geht es übrigens mit F7, manchmal auch F9.

Bei stark ausgelasteten Systemen kann es allerdings etwas dauern, bis die Shell erscheint oder ausgeführte Befehlszeilen verarbeitet werden. Wem eventuell nicht gespeicherte Daten lieb sind, der sollte sich in Geduld üben.


X abschließen

Die einfachste Möglichkeit, vom Benutzer ausgeführte Prozesse (!) schnell abzuschießen ist oft einfach den Grafikserver – genannt X – abzuschießen. In der Regel lösen sich damit die meisten Schwierigkeiten in Luft auf, allerdings lösen sich damit in der Regel auch meistens alle nicht gespeicherten Daten in Luft auf. Dazu drückt man unter Ubuntu ab Version 9.10 Strg + Alt + Druck/Print und anschließend K, wobei man die zuvor gedrückten Tasten nicht loslassen darf. Bei älteren Versionen dürfte die Tastenkombination Strg + Alt + Entf/Del das gleiche bewirken.

Um diese Tastenkombination auszuführen, bedarf es übrigens nicht eines Wechsels in die Shell, beispielsweise mittels Strg + Alt + F1.


top

Ist man schon mal in der Shell, so kann man mit dem Befehl top, einem einfach zu bedienenden und informativen Tool, die laufenden Prozesse einsehen. Das Programm aktualisiert die Ansicht alle paar Sekunden, so dass je nach Prozessorauslastung die jeweiligen Prozesse über den Bildschirm „hüpfen”.

Durch drücken der Taste K und die eingabe der jeweiligen PID eines Prozesses, erlaubt es das Programm einen Prozess zu „killen”. Mit der Taste Q kann man das Programm wieder verlassen. Wer sein zu beobachtendes Programm in der Liste nicht findet, kann es auch explizit beobachten lassen:

top -p PID

Root-Prozesse lassen sich allerdings nur abschließen, wenn man top zuvor mit sudo ausgeführt hat!

Wer sich außerdem sicher ist, einen Prozess killen zu wollen, den man selbst oder den ein bestimmter Benutzer ausgeführt hat, der kann sich auch explizit nur die Prozesse eines Benutzers anzeigen lassen:

top -u BENUTZERNAME

Dies dürfte für etwas mehr Übersicht im Prozess-Gewusel sorgen.


PID herausfinden

Ok, schön. Jetzt haben wir das Programm eben in top nicht gesehen und wissen auch nicht die PID des gewünschten Prozesses. Was nun? Mittels pidof kann man ganz leicht die PID eines laufenden Prozesses herausfinden. Alles was man dazu wissen muss, ist der Prozessname. Also nehmen wir also zum Beispiel an, wir möchten Firefox abschießen, so können wir die PID des Firefox-Prozesses wie folgt abfragen:

pidof firefox

Als Rückgabe erhalten wir eine Nummer, welches die PID des Firefox-Prozesses ist.


Prozess und PID finden

Manchmal kommt es aber vor, dass der gewünschte Prozessname anders lautet, als man denkt. Dies ist zum Beispiel bei der Schriftenverwaltung „Specimen” der Fall. Wir wissen aber zumindest den ungefähren Namen. Also können wir mittels ps und einer grep-Pipe die PID der Schriftenverwaltung wie folgt abfragen:

ps -fe | grep specimen

Als Ausgabe erhalten wir dann etwas in der Art:

benutzer    24230     1  3 19:20 ?        00:00:02 /usr/bin/python /usr/bin/gnome-specimen
benutzer    24675 29046  0 19:21 pts/0    00:00:00 grep specimen

Die erste Zeile ist die gewünschte Anwendung, die wir abschießen möchten. Hier finden wir die PID in der zweiten Spalte und diese lautet 24230. Die zweite Zeile ist unsere grep-Abfrage.

Was hier geschieht, ist ganz einfach: Mittels ps -fe lassen wir uns eine detaillierte Liste aller Prozesse ausgeben. Diese Liste wird allerdings nicht auf dem Bildschirm ausgegeben, sondern über eine Pipe (eine Art virtuelles Rohr) an grep weiter gereicht, was nun jede Zeile ausgibt, in der der String specimen vorkommt.

Wer möchte, kann sich auch die ganze Prozessliste anzeigen lassen:

ps -fe

Scrollen kann man in der Shell übrigens auch. Dazu hält man die Shift-Taste gedrückt und bewegt sich auf und ab mit den Bild ↑ und Bild ↓ beziehungsweise Page ↑ und Page ↓ Tasten.


Der Killer-Instinkt

Ok, nun gehen wir davon aus, dass wir den Übeltäter haben. Jetzt geht es darum ihn los zu werden. Bitten wir den Prozess zunächst höflich sich sauber aus dem Staub zu machen:

kill -TERM [PID]

Also zum Beispiel:

kill -TERM 24230

Können wir ihn dazu nicht überreden, dann müssen wir direkter werden und ihn schlichtweg killen:

kill -KILL 24230

Bei Prozessen, die man nicht selbst ausgeführt hat, muss man natürlich noch ein sudo vorne anhängen. Statt der Option -TERM wird oft auch die Option -15 und statt der Option -KILL die Option -9 verwendet.

Wer dagegen der Prozessnamen weiß, kann diesen natürlich auch auf direktem Wege umlegen, dazu bedarf es nicht einer vorherigen Recherche bezüglich der PID:

killall -TERM firefox

Beziehungsweise auch wieder auf die harte Tour:

killall -KILL firefox

Und schließlich gibt es da noch die Methode für die ganz verzweifelten:

killall5

Dieser Befehl schießt alles ab, was kein Kernel-Thread ist und von dem Befehl selbst zur Ausführung nicht gebraucht wird und wofür es auch die Zugriffsrechte besitzt (in dem Falle nicht als sudo ausgeführt). Nicht gespeicherte Daten gehen mit großer Sicherheit damit allerdings verloren.


Wer hat in meinem Bettchen geschlafen?

In einigen vermutlich eher seltenen Fällen kann es durchaus mal sein, dass man einen Übeltäter ganz anderer Art abschießen möchte, nämlich den, der gerade auf eine bestimmte Datei, ein bestimmtes Verzeichnis, Dateisystem oder einen bestimmten Socket zugreift.

Nehmen wir beispielsweise an, wir möchte herausfinden, welche Prozesse auf das eigene Heimverzeichnis zugreifen. Um eine entsprechende Liste an Prozessen zu erhalten, führen wir folgendes aus:

fuser -uv ~

Die Liste besteht nun aus vier Spalten: USER, PID, ACCESS und COMMAND. Unter COMMAND findet sich der Prozessname wieder, PID bezeichnet die Prozess-ID und unter ACCESS sehen wir, wie auf die Datei zugegriffen wird (siehe auch: man fuser).

Alle Prozesse, die auf eine Datei zugreifen, lassen sich auch gleich mittels der nachfolgenden Zeile und einer interaktiven Abfrage killen:

fuser -uvki ~

Darüber hinaus lässt sich mit fuser auch herausfinden, welcher Prozess gerade an einem TCP- oder UDP-Port lauscht:

fuser -uv -n tcp mail

Oder auch durch Angabe der Portnummer:

fuser -uv -n tcp 80

Oder man kann rausfinden ob, und wenn ja, welcher Prozess gerade auf das CD- beziehungsweise DVD-Laufwerk zugreift:

fuser -uv /media/cdrom

In jedem Falle erhält man eine Liste mit Prozess-IDs und -Namen.


Und nun viel Spaß und Erfolg beim Suchen und Killen! ;)

Apr 03

Typografie-Grundlagen und Sonderzeichen unter Ubuntu Linux

Typografie ist ein interessantes Thema, was man nicht in einem Blog-Beitrag abhaken kann. Daher betrachte ich diesen Beitrag als eine absolute Grundlage, welche das Thema höchstens dezent ankratzt. Wer sich mit dem Thema näher befassen möchte, wird um weiterführende Literatur in Form von Büchern oder spezialisierten Seiten und Foren nicht d’rum herum kommen. Für den Anfang sollte allerdings auch die Wikipedia genügen, um sich das gröbste, des gröbsten Wissens dieses Gebietes anzueignen: http://de.wikipedia.org/wiki/Satzzeichen

Manche kleinen, aber feinen Unterschiede der Typografie sind für Laien nicht sichtbar und folglich sind die kleinen Fehler für die Laien auch nicht schlimm. Bei einem „Profi“ können sie aber durchaus die Haare zu Berge stehen lassen. Natürlich muss man nicht immer und überall auf diese Feinheiten achten, das mache ich zum Beispiel in diesem Blog auch nicht, obwohl ich mir in diesem Beitrag versucht habe etwas mehr Mühe zu geben als sonst. Wer allerdings einen Text wirklich schön aussehen lassen möchte, zum Beispiel um diesen professionell drucken zu lassen, der sollte sich mit den Regeln der Typografie zumindest etwas vertraut machen. Andere – nicht böse gemeint – haben es wiederum bitter nötig sich die Grundlagen der Typografie anzusehen, da sie blutige Anfänger sind, die bei der Verwendung von Satz- und Sonderzeichen selbst einen Typografie-Laien manchmal zum Weinen bringen.


Typo-Beispiele

Hier ein kleines Beispiel: Wie sieht das typografisch korrete Apostroph-Zeichen aus? Oder anders gefragt: Welche der nachfolgenden Schreibweisen ist typografisch korrekt?

  1. Thatˈs it!
  2. That´s it!
  3. That`s it!
  4. That’s it!
  5. That‘s it!
  6. That′s it!

Die Antwort lautet: Es ist die vierte Schreibweise, die typografisch korrekt ist. Nummer eins ist nämlich das Ersatzzeichen für das Apostroph, wie man es links neben der Enter-/Return-Taste findet – auch als Betonungszeichen bezeichnet. Nummer zwei und drei sind Akzent-Zeichen – Akut-Akzent (Nummer zwei) und Gravis-Akzent (Nummer drei). Nummer fünf ist das typografisch korrekte einfache, schließende Anführungszeichen. Nummer sechs ist schließlich das Zeichen für die Bogenminute, also das Zeichen, welches bei der Angabe von Winkelmaßen verwendet wird.

Wie man sieht, gibt es aber alleine in diesem Beispiel sechs unterschiedliche Arten des „Hochkommata“, wie man es vermutlich im Volksmund nennt, und diese Aufzählung ist noch nicht vollständig. Dann gibt es noch Zeichen, die sich – zumindest je nach Schriftart – optisch gar nicht von den eben erwähnten unterscheiden, jedoch aber einen anderen Unicode-Zeichenwert haben. Das ist allerdings noch ein anderes Thema, auf das ich hier nicht zu sprechen kommen möchte.

Ein anderes Beispiel, dessen sichtbare Unterschiede teils auch stark von der verwendeten Schriftart abhängen, sind der Binde- oder Trennstrich, sowie der Gedankenstrich oder das Minus-Zeichen. Das alles bezeichnet man in in der Typografie als „Geviertstriche“, die je nach Länge „Viertelgeviertstrich“ (-), „Halbgeviertstrich“ (–) oder „Geviertstrich“ (—) heißen. Der Gedankenstrich ist hier immer der Halbgeviertstrich, ebenso das Minus-Zeichen. Wort-Trennung findet jedoch immer mit den Viertelgeviertstrich statt.

Es ist auch viel schöner und platzsparender „3 ½“ statt „3 1/2“ zu schreiben oder „5⁶ × 7 ½ ÷ 4“ statt „5^6 * 7 1/2 / 4“. Schöner ist auch: „Ich komme in ± 10 Minuten …”, statt: „Ich komme in +/- 10 Minuten …”.

Ähnlich sieht es auch mit den in diesem Beitrag verwendeten Anführungszeichen „“ aus, im Gegensatz zu den herkömmlichen Ersatz-Anführungszeichen “”, wie sie auch auf der Schreibmaschine zu finden sind. Gerade die Anführungszeichen sind ein wichtiger typografischer Punkt, der je nach Land unterschiedlich ausfällt. So verwenden zum Beispiel die Schweizer und Franzosen «» (Guillemets) statt den in Deutschland üblichen „Gänsefüßchen”.

Korrekte Typografie ist aber nicht nur esthetisch, sondern auch praktisch, denn ein korrekt typografisch aufbereiteter Text ist für den Leser leichter zu lesen, die Informationen schneller aufnehmbar und außerdem optisch womöglich ein Augenschmauß. Und genau da liegt der Hund begraben beziehungsweise der Sinn des Ganzen!

Schriften installieren

Je nach verwendet Schriftart kann es durchaus sein, dass manche der soeben verwendeten Sonderzeichen entweder nicht korrekt oder gar nicht dargestellt werden. Bei der „richtigen“ Schriftart sind allerdings die Unterschiede zumindest in den eben genannten Beispielen sichtbar.

Wer also weitere Schriften unter Linux braucht, muss diese nachinstallieren. Die einfachste Möglichkeit ist, sich im Repostory umzusehen. Im Beispiel von Ubuntu kann man eine Hand voll nützlicher Schriften mit folgender Zeile aus der Shell heraus installieren:

sudo apt-get install msttcorefonts ttf-dejavu ttf-dejavu-core ttf-dejavu-extra

Die Installation beinhaltet einige Microsoft-Schriftarten, wie sie einige von Windows her kennen. Dazu zählen unter anderem „Arial“, „Trebuchet“, „Times New Roman“, sowie „Verdana” und die Schriftart „DejaVu“.

Wer allerdings weitere Schriften, zum Beispiel käuflich erworbene oder freie Schriften von irgendwelchen Seiten installieren möchte, muss wissen wo. Dafür gibt es zwei Möglichkeiten: Entweder nur für sich, im eigenen Heimverzeichnis im Ordner /home/BENUTZERNAME/.fonts bzw. ~/.fonts oder für alle Benutzer des Rechners, im Ordner /usr/share/fonts. Existiert der .fonts-Ordner im Heimverzeichnis nicht, so muss man ihn einfach erstellen:

mkdir ~/.fonts

Anschließend kopiert man die Schriften in den jeweiligen Ordner:

cp ./*.ttf ~/.fonts/

Wer die zweite Möglichkeit bevorzugt, sollte die im Ordner /usr/share/fonts/ bereits enthaltene Ordner-Struktur beachten! Folglich kopiert man TrueType-Schriften wie folgt:

sudo cp ./*.ttf /usr/share/fonts/truetype/

Normalerweise führt dies unter Ubuntu einen Prozess aus, der den Zwischenspeicher mit den Schriften aktualisiert. Dieser Vorgang führt in der Regel zu einem erhöhten CPU-Verbrauch und endet – je nach Anzahl der Schriften und verfügbarer Rechenleistung – nach einigen Sekunden. Sollten jedoch einmal nicht alle Schriften nach dem Kopiervorgang (korrekt) angezeigt werden, so muss man von der Shell aus etwas nachhelfen und den Aktualisierungsvorgang für den Zwischenspeicher manuell ausführen:

sudo fc-cache -f -v



Wie die Sonderzeichen auf den Bildschirm kommen

Nun habe ich so lange über die Vorzüge einer korrekten Typografie geschrieben und die tollen Sonderzeichen erwähnt, aber auf der Tastatur ist weit und breit nichts von den vorgestellten Sonderzeichen zu sehen. April, April?

Keineswegs! Hier gibt es zwei Vorgehendweisen: Den „Meta-Key“ und den „Compose-Key“. Beide Varianten ergänzen sich, bieten jedoch auch redundante Möglichkeiten, ein und die selben Sonderzeichen einzugeben, jedoch auf unterschiedliche Weisen. In beiden Fällen gehen wir von einer deutschen Tastatur und Tastaturbelegung aus.

Schauen wir uns zunächst den Meta-Key an. Der Meta-Key ist die Taste direkt neben der Leertaste, und zwar „Alt Gr“.

Drücken wir auf 7, so erhalten wir ein 7. Völlig klar, schließlich steht das Zeichen ja auch auf der Tastatur.
Drücken wir Shift + 7, so erhalten wir /. Auch klar.
Durch das Drücken von Alt Gr + 7 erhalten wir {. Auch irgendwie logisch.
Wenn wir aber Shift + Alt Gr + 7 drücken, so erhalten wir .

Wir stellen also fest: Die Tasten sind in vier Teile eingeteilt.

Tastenbelegung

Genauso können wir es auch mit allen anderen Tasten ausprobieren. Manche Tasten sind allerdings so genannte „tote Tasten“. Das bedeutet, dass das Drücken der Taste kein Zeichen ausgibt, erst das erneute Betätigen der Taste führt zur Ausgabe eines Zeichens am Bildschirm. Eine solche Taste ist z.B. ^ (unter der Esc-Taste), die man durch das doppelte Drücken zur Ausgabe eines Zeichens am Bildschirm bewegen kann. Diese Tasten sind deshalb „tot“, da man sie mit anderen Tasten verwenden kann. Beispiel: ^ und anschließend a ergibt ein â.

Um sich die Tasten besser merken zu können oder vielleicht auch nicht merken zu müssen, kann man sich jedes unter Ubuntu eingestellte Tastatur-Layout auch ausdrucken. Auf diesem erscheinen dann auf den jeweiligen Tasten auch die Sonderzeichen bzw. „toten Tasten“. Irgendwo an die Wand gepinnt oder griffbereit abgelegt, kann man so schnell auf den „Spickzettel“ schielen.

Und so gelangt man an den Ausdruck des Tastatur-Layouts: Im Menü System → Einstellungen → Tastatur klickt man auf den Karteireiter Belegung, wählt dort unter Gewählte Belegungen: das gewünschte Tastatur-Layout aus und klickt auf Drucken, um den Druck-Dialog aufzurufen.

Tastatur-Layout

Doch nun zum „Compose-Key“. Diese Taste ist für gewöhnlich unter Ubuntu nicht aktiviert, kann jedoch unter System → Einstellungen → Tastatur, Karteireiter Belegungen über Belegungseinstellungen und dort unter Position der Compose-Taste eingestellt werden. Ich benutze dafür an meinem Laptop die rechte Strg- beziehungsweise Ctrl-Taste, da ich keine rechte Windows-Taste habe. Für Tastaturen, auf denen die rechte Windows-Taste vorhanden ist, empfiehlt es sich vielleicht diese zu verwenden. Wer mag, kann dort aber auch gleich mehrere Tasten als die Compose-Taste definieren.

Nach aktivierung dieser Taste, kann man diverse Tasten als zusätzliche „Dead-Keys“, also „tote Tasten“, verwenden. Einige Beispiel dazu:

Compose-Key + Shift + 7 und anschließend o ergibt ø.
Compose-Key + o und anschließend a ergibt å.
Compose-Key + o und anschließend c ergibt ©.
Compose-Key + e und anschließend e ergibt ə.
Compose-Key + # und anschließend # ergibt .
Compose-Key + < und anschließend < ergibt «.

Näheres zum Compose-Key findet sich auf der Ubuntu-Seite: https://help.ubuntu.com/community/ComposeKey

Mich würde allerdings noch interessieren, ob es für den Compose-Key eine druckbare Tastatur-Belegung gibt. Falls jemand etwas dazu weiß, so würde ich mich über einen Kommentar sehr freuen.


Tiefgestellte Ziffern und Zahlen (Update 13. Juni 2010)

Nun gibt es auch die Möglichkeit tiefgestellte Ziffern und Zahlen einzugeben. Dies ist z.B. im Bereich der Chemie sehr sinnvoll. Bestes Beispiel: CO₂. Um tiefgestellte Ziffern und Zahlen eingeben zu können, drückt man die Meta-Taste und drückt einmal, bei ebenfalls gedrückter Shift-Taste das Ä. Anschließend kann man die Tastenkombination wiederloslassen und eine beliebige Ziffer drücken, welche tiefgestellt ausgegeben wird.

Beispiel:

Meta-Taste (Alt Gr) + Shift + Ä und anschließend 2 ergibt .


Zusätzliche Tools

Es gibt noch einige sehr nützliche Tools, die sich im Ubuntu-Repository finden und welche man sich unbedingt anschauen sollte. Sicherlich gibt es noch einige mehr, aber hier möchte ich zunächst vier besonders nützliche Tools vorstellen.

Zeichentabelle
Bereits vorinstalliert sollte die Zeichentabelle sein. Bei dem Vorinstallierten Tool handelt es sich um eine Zeichentabelle, wie sie auch von anderen Betriebssystemen her sicherlich bekannt ist. Zu finden ist dieses Tool im Menü Anwendungen → Zubehör.

Zeichentabelle

Zeichenpalette
Das zweite Tool, ist das Zeichenpalette-Applet für das Gnome-Panel. Einmal in einem Panel abgelegt, kann sich damit seine eigenen Sonderzeichen-Paletten anlegen. Einmal eine Sonderzeichen-Palette üÜber das Menü aktiviert, stehen einem anschließend die zusammengestellten Sonderzeichen zur Verfügung. Nun kann man mit einem Links-Klick auf das gewünschte Sonderzeichen dieses in den Zwischenspeicher kopieren und es anschließend an der gewünschten Position mit der mittleren Maustaste oder der Tastenkombination „Strg + V“ beziehungsweise „Ctrl + V“ einfügen.

Gnome-Applet: Zeichenpalette

Dieses Tool ist vor allem dann nützlich, wenn man viele zusätzliche Schriftzeichen verwendet, zum Beispiel für die Mathematik oder für andere Sprachen, diese aber nicht über die Tastatur eingeben kann oder sich die dafür notwendigen Tastenkombinationen merken möchte.

Unter Ubuntu sollte die Zeichenpalette unter den Standard-Applets für Gnome zu finden sein.

Fontmatrix
Fontmatrix ist eine Schriftenverwaltung, mit der man sich die auf dem System installierten Schriftarten, Schriftschnitte und ihre Eigenschaften übersichtlich anschauen kann. Zusätzlich erhält man zu jeder Schrift diverse interessante Informationen.

Fontmatrix

Installation:

sudo apt-get install fontmatrix



Specimen
Ähnlich wie Fontmatrix, allerdings etwas abgespeckter, wer es übersichtlicher und puristischer mag.

Gnome-Specimen

Installation:

sudo apt-get install gnome-specimen