Dez 11, 2014
Für das einfache Synchronisieren von Dateien verwende ich seit einiger
Zeit gerne Dropbox. Es ist schnell eingerichtet und läuft auf allen
Oberflächen gleich. Obwohl in meiner Dropbox keine sensiblen Daten
liegen, bleibt jedoch immer ein etwas schaler Beigeschmack wenn ich dort
einfach meine - überwiegend - Textdateien ablege. Damit diese wenigstens
nicht von jedem dahergelaufenen Sysadmin oder sonst wem gelesen werden
können sollten sie also verschlüsselt werden. Eine Möglichkeit hierzu
bietet encfs, das sich zumindest bei Arch, Debian und Ubuntu in den
Standardrepositorien befindet.
Mit EncFs kann man einfach und
bequem den kompletten Inhalt eines Ordners auf Dateiebene verschlüsseln.
Dazu wird mit folgendem Befehl ein verstecktes Verzeichnis (im folgenden
“Verschlüsselungsverzeichnis”) \~/Dropbox/.encfs im Dropboxordner
erstellt sowie ein Verzeichnis \~/encfs (im folgenden
“Arbeitsverzeichnis”) im Homeordner des Benutzers erstellt und ein
Passwort vergeben:
$ encfs ~/Dropbox/.encfs ~/encfs
Anschließend kann mit folgenden Befehlen das Verzeichnis gemounted bzw.
wieder unmounted werden:
$ encfs ~/Dropbox/.encfs ~/encfs
$ fusermount -u ~/encfs
Schaut man sich die zwei Verzeichnisse (angereichert mit zwei
Testdateien) einmal an ergibt sich folgendes Bild:
ls -la \~/encfs ergibt dabei für das Arbeitsverzeichnis:
insgesamt 16
drwx------ 2 user user 4096 11. Dez 19:19 .
drwx------ 25 user user 4096 11. Dez 19:23 ..
-rw-r--r-- 1 user user 25 11. Dez 19:19 testdatei2.txt
-rw-r--r-- 1 user user 17 10. Dez 19:42 test.txt
ls -la \~/Dropbox/.encfs ergibt dabei für das
Verschlüsselungsverzeichnis:
insgesamt 20
drwx------ 2 user user 4096 11. Dez 19:24 .
drwx------ 7 user user 4096 11. Dez 19:09 ..
-rw-r--r-- 1 user user 33 10. Dez 19:42 DHF-zL8RLcUNw0Jo3G4T,Ndy
-rw-r--r-- 1 user user 1091 11. Dez 19:24 .encfs6.xml
-rw-r--r-- 1 user user 41 11. Dez 19:19 ,XFCVJVAcNWwxvyghRPKfICa
Was auffällt ist, dass sich im verschlüsselten Verzeichnis neben den
eigentlichen, verschlüsselten Dateien auch eine unverschlüsselte
xml-Datei .encfs6.mxl befindet. In dieser Datei befinden sich die
Metadaten für encfs mit Angaben zur Verschlüsselungsart sowie einem
Passworthash. Diese Datei dort zu belassen ist auf jeden Fall riskant,
gibt sie einem potentiellen Angreifer doch wertvolle Hinweise. Leider
bietet encfs keine Option um beim Mount den Pfad zur Metadatendatei als
Argument zu übergeben. Man kann sich aber behelfen durch setzen der
Umgebungsvariable \$ENCFS6_CONFIG. Dazu kopiert man die .encfs6.xml
in das Homeverzeichnis (oder jeden anderen beliebigen Ort) und trägt in
der Datei \~/.bashrc ein:
export ENCFS6_CONFIG='~/.encfs6.xml'
und schon funktioniert das mounten wieder wie gewohnt. Ein wenig
Vorsicht ist allerdings angebracht. Ist die Datei weg z.B. durch einen
Festplattencrash oder Diebstahl des Notebooks kommt man auch an die
Daten so einfach nicht mehr dran.
Fazit
Mit encfs hat man eine praktische und komfortable Möglichkeit
Dateien in einem Verzeichnis zu verschlüsseln. In Kombination mit einem
Clouddienst bekommt man so wenigstens ein wenig Sicherheit, dass die
privaten Daten zumindest mit herkömmlichen Mitteln nicht ganz so einfach
einsehbar sind. Vollkommene Sicherheit bietet leider keine
Verschlüsselungssoftware, daher bin ich auch weiterhin der Meinung, dass
wirklich private Daten auf fremden Servern nichts zu suchen haben.
Dez 09, 2014
Vor ein paar Tagen habe ich mich dazu entschlossen, mein Thinkpad
X60s durch ein
x200s auszutauschen. Im Prinzip war
ich immer sehr zufrieden gewesen mit meinem kleinen Begleiter. Was mich
in letzter Zeit allerdings tierisch störte, war der Umstand, dass die
rechte Handballenauflage sehr heiß wird. Leider ist das
konstruktionsbedingt und auch nicht vermeidbar und gerade wenn man
längere Zeit an dem guten Stück arbeiten will - und wie ich sowieso
schon immer warme Hände hat - wird es echt unangenehm. IBM/Lenovo hat
übrigens aus diesem Grund beim X61 einen kleinen Luftauslass an genau
dieser Stelle eingebaut, um so die übermäßige Wärme abzuführen.
Jedenfalls macht längeres Arbeiten oder Surfen auf der Couch so nur
mäßig Spaß…
Es traf sich daher ganz gut, dass ich beim Händler meines Vertrauens ein
gut erhaltenes Thinkpad x200s für relativ günstig Geld erstehen konnte.
Da bereits das X60s mit ArchLinux lief und ich damit sehr zufrieden war,
brauchte ich mir um die Frage des passenden OS - zumindest diesmal -
keine Gedanken machen :-)
Archlinux installieren
Die Installation von Archlinux unterscheidet sich schon stark von der
eines Debian. Nach dem Boot des Iso-Images landet man direkt in der
Shell und sonst nix. Von da an ist man (fast) völlig auf sich allein
gestellt. Hilfe bekommt man allerdings in Form einer kleinen Textdatei,
die die wichtigesten Installationsschritte aufführt. Alternativ kann man
auch mit einem zweiten Rechner oder dem Smartphone die
Installationsanleitung
im Arch-Wiki nehmen. Mit beiden Anleitungen ist die Installation
wirklich ein Kinderspiel, man sollte sich da auf jeden Fall nicht
abschrecken lassen sondern das Ganze einfach mal durch exerzieren; es
lohnt sich :-)
Nach der Grundinstallation
Hat man die Grundinstallation erfolgreich durchgeführt, hat man schon
ein minimales ArchLinux auf der Festplatte. Was fehlt sind aber noch ein
paar Anpassungen, wie etwas die Konfiguration des Soundsystems oder eine
grafische Oberfläche. Ebenso fehlen noch eine ganze Reihe an Programmen;
während der Installation wurden ja nur die Pakete aus der Gruppe
base
und
base-devel
installiert. Puristen mag das ja genügen, ich bin da etwas verwöhnter
:-)
Xserver und i3 installieren
Zunächst installiere ich den Xserver samt den passenden Treibern für die
integrierte Intel Grafikkarte sowie die Sound-Umgebung:
# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils xf86-video-intel alsa-utils
Als nächstes kommt der ‘i3-Fentstermanager’, die ‘i3-Statusleiste’ sowie
‘dmenu’ als Softwaremenü hinzu:
# pacman -S i3-wm i3status dmenu
Als nächsten Schritt kopiert man die Beispiel-xinitrc-Datei in das
Home-Verzeichnis und trägt dort i3 als zu startenden Fenstermanager ein:
$ cp /etc/skel/.xinitrc ~
$ echo 'exec i3' >> ~/.xinitrc
Damit nach dem Booten automatisch der Xserver mit dem i3-Fenstermaager
gestartet wird, muss noch ein passender Login-Manager her. Ich verwende
gerne slim, da er schlank und einfach zu konfigurieren ist:
# pacman -S slim && systemctl enable slim
Nach diesen Schritten hat man bereits ein gut funktionierendes ArchLinux
mit i3 als Fenstermanager. Allerdings fehlt noch einiges an Software
sowie ein paar Kleinigkeiten.
Schriften
Für ein paar schönere Schriftarten kann man das Paket ‘ttf-dejavu’
installieren:
# pacman -S ttf-dejavu
Ein noch besseres Schriftbild erhält man, wenn man noch die
Kantenglättung ein wenig anpasst. Dazu erstellt man unter
\~/.config/fontconfig/ die Datei fonts.conf und trägt Folgendes dort
ein:
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
</fontconfig>
Networkmanager
Für die Netzwerkkonfiguration nutze ich gern den Network Manager.
Darüber hinaus gibt es für diesen noch ein nettes Applet für die
Statusleiste:
# pacman -S networkmanager network-manager-applet && systemctl enable NetworkManager.service
Damit das Applet bei jedem Start automatisch mitgestartet wird, muss man
dieses noch in die \~/.xinitrc eintragen. Das Ganze sieht dann so aus:
#!/bin/sh
nm-applet &
exec i3
Programme
Da nun das Grundsystem steht, fehlen nur noch ein paar grundsätzliche
Programme um etwa Mails abzurufen oder im Internet zu surfen.
Standardmäßig installiere ich gern folgendes:
# pacman -S firefox firefox-i18n-de thunderbird thunderbird-i18n-de vlc audacious leafpad thunar evince
Danach stehen einem der Firefox sowie Thunderbird nebst den deutschen
Sprachpaketen sowie der VLC-Player und Audacious für Video- bzw.
Audio-Dateien zur Verfügung. Als grafischen Editor benutze ich neben
‘gvim’ auch mal gerne den ‘leafpad’. Fehlen nur noch ein Dateimanager
und ein Pdf-Reader. Hier benutze ich gerne zum einen den Thunar, welcher
als Standard beim Xfce-Desktop ist, und zum anderen ‘evince’ aus der
GNOME-Umgebung.
Dez 01, 2014
Seitdem mich ein Freund auf das Konvertierungstool
Pandoc aufmerksam gemacht hat,
mit dem man bspw. Markdown-Dokumente ganz einfach nach Html konvertieren
kann, schreibe ich meine Blogartikel komplett in Markdown.
Markdown - die Basics
Markdown ist eine von vielen
Auszeichnungssprachen,
die es ermöglichen mit einer überschaubaren Anzahl an Elementen Text zu
formatieren. Ziel ist hierbei, dass schon das Markdown-Dokument ohne
weitere Konvertierung leicht lesbar und verständlich ist. Dabei ist die
Syntax relativ leicht zu lernen und nicht wirklich kompliziert.
Hier gibt es
einen guten Überblick. Darüber hinaus findet man auch über die Google
Suche das ein oder andere Cheatsheet, das die wichtigsten Elemente kurz
zusammenfasst.
Vim Markdown
Für meinen momentanen Lieblingseditor Vim gibt es ein nettes Plugin,
welches den Umgang mit Markdown-Texten ziemlich vereinfacht.
Hier gibt es das Plugin
Pandoc
Um aus meinem zuvor erstellten Markdown-Dokument ein gültiges
Html-Dokument zu machen, bedarf es noch einer Umwandlung mittels pandoc.
Pandoc selbst ist in den Debian Paketquellen vorhanden und lässt sich
mittels #apt-get install pandoc installieren. Um das vorhandene
Markdown-Dokument in ein Html-Dokument umzuwandeln genügt ein
$pandoc -o testseite.html markdown-dokument.md.
Fazit
Mit der Kombination aus Vim + Markdown + Pandoc ist es mir relativ
leicht möglich Artikel für meine Website zu schreiben. So kann ich das
Ergebnis als Html-Quelltext im Anschluss in meinen Wordpress-Editor
laden und dort den letzten Feinschliff vornehmen. Dadurch, dass
Markdown-Dateien im Prinzip nur Textdateien sind, lassen sie sich zudem
wunderbar mit Tools wie bspw. 'grep' auf Kommandozeilenebene
durchsuchen.
Nov 29, 2014
Seit etwa zwei Monaten fristet mein kleiner Raspberry Pi, den ich bis
dahin immer als Homeserver eingesetzt habe, sein Dasein als
Entertainment-Center an meinem Fernseher. Da ich auf einen immer
laufenden, stromsparenden Server-PC nicht gerne verzichten möchte musste
also Ersatz her.
Mein erster Gedanke war die Anschaffung eines zweiten Raspberry Pi, da
ich bis dahin mit dem Gerät durchweg positive Erfahrungen gemacht habe.
Einzig die relativ bescheidene Leistung des Rapi bewog mich dazu mich
einmal ein wenig nach Alternativen umzusehen. Und deren gibt es
zahlreiche.
Angefangen vom Cubieboard,
über Pogoplug (n.b. was
für ein dämlicher Name :-) ) bis hin zum
Beaglebone gibt es
zahlreiche Alternativen, die preislich (bis auf den Pogoplug) sämtlich
jenseits dessen waren, was ich bereit war auszugeben. Lediglich ein
Kandidat schaffte es mich vom Preis und von den Leistungsdaten her
neugierig zu machen, der Banana Pi.
Die Ähnlichkeit mit dem Raspberry Pi ist frappierend aber durchaus
gewollt. Zum einen sollen (angeblich) die Erweiterungsplatinen für den
Raspberry Pi auch für den Banana Pi nutzbar sein, zum anderen möchten
die Entwickler gerne ein wenig von dem PR-Kuchen des Raspberry Pi
abhaben :-)
Vergleicht man die Hardwareausstattung direkt mit der des Raspberry, so
merkt man sehr deutlich, dass der Banana Pi wesentlich mehr Dampf unter
der Haube hat:
- Dual Core Arm Cortex A7
- Mali G400MP2 Grafikchip
- 1 GB DDR3-RAM
- Gigabit Ethernet
- SATA Port
Damit hat dieser Winzling schon mal deutlich mehr Pfeffer als ein
Großteil der übrigen, hier vorhandenen Rechner. Darüber hinaus
ermöglicht der eingebaute SATA-Port einen direkten Anschluss einer 2.5
Zoll Festplatte.
OS
Etwas, wo ich diesmal gar nicht so lange nachdenken musste, war die Wahl
des Betriebssystems. Mittlerweile haben alle "großen" Distributionen
einen eigenen ARM Port und sind somit auf dem Banana Pi lauffähig. Ich
habe mich letztlich für eine an die Hardware des Banana Pi angepasste
Version von Raspbian entschieden, einfach weil ich damit bereits recht
gute Erfahrungen mit dem Raspberry Pi gemacht habe. Kurz überlegt habe
ich noch, ob ich nicht vielleicht ArchLinux ausprobieren sollte, aber da
der Banana Pi in erster Linie als Server laufen sollte und es mir da
nicht so sehr auf Bleeding-Edge und das allerneueste vom Neuesten
ankommt, habe ich das wieder verworfen.
Auf der
Herstellerseite
findet man eine ganze Reihe an angepassten Iso-Images, die auf dem
Banana Pi laufen. Die Installation geht, wie auch beim Raspberry Pi,
ganz locker von der Hand. Einfach das Iso-Image mittels dd auf die
SD-Card schreiben und fertig:
# dd if=/pfad/zur/iso of=/pfad/zur/sdcard bs=1M && sync
Nach dem Start führt man noch 'raspi-config' aus und passt den Banana Pi
an seine Bedürfnisse an. Dort kann man übrigens auch recht simpel
einstellen, dass die grafische Oberfläche nicht mit gestartet werden
soll, was noch einmal wertvolle Ressourcen frei macht.
Okt 25, 2014
Es gibt manche Dinge, die bekommt ich erst nach Jahren mit und wenn man
es dann mal ausprobiert frage ich mich regelmäßig "warum habe ich das
nicht schon vor langer Zeit so gemacht?". Eine solche Sache ist Qemu.
Damit lässt sich nämlich unter anderem sehr bequem eine virtuelle Linux
Umgebung aufsetzen, die dann z.B mit 'dd' auf eine beliebigen
Datenträger kopiert werden kann. Gerade auf älteren Maschinen dauert so
eine Installation ja gerne mal ein bißchen länger...
Qemu ist in den offiziellen Paketquellen von Debian und ArchLinux
verfügbar und lässt sich wie gewohnt bequem installieren:
Debian
ArchLinux
Die Bedienung geschieht vollständig über die Kommandozeile, wer möchte
kann sich aber eines der vielen grafischen Frotends für QEMU
installieren.
1. Festplattenimage erzeugen
qemu-img create debian.img 10G
2. Qemu starten und ISO-Image booten
qemu-system-i386 -enable-kvm -hda debian.img -cdrom debian_install.iso -boot d -m 512
Damit wird qemu gestartet. Neben der Architektur (hier i386) bietet qemu
eine bermerkenswerte Ausdwahl verschiedener Prozessorarchitekturen,
darunter auch bspw. die ARM-Architektur. "enable-kvm" aktiviert die
Kernel-Virtualisierung, was für eine spürbare Beschleunigung der VM
sorgt. Mit 'hda' gibt man das Festplattenimage an, mit 'cdrom' das
Installationsimage. Damit die VM beim Start dieses Image (standardmäßig
wird von 'hda' gebootet) bootet, wählt man die Option '-d boot'.
Letztendlich weist man mit der Option '-m 512' der VM noch 512 MB
Arbeitsspeicher zu. Hat man die Installation abgeschlossen, kann man
beim nächsten Mal das Iso-Image weglassen:
qemu-system-i386 -enable-kvm -hda debian.img -m 512
weitere nützliche Optionen
Im Prinzip reichen die oben angeführten Befehle völlig, um eine VM
aufzusetzen und diese zu starten. Wenn man sich die Manpage zu qemu
anschaut, gibt es dort aber noch eine ganze Fülle von zusätzlichen
Optionen, mit deren Hilfe man seine VM konkret auf die aktuellen
Bedürfnisse anpassen kann. Die für mich wichtigen und interessanten
Optionen habe ich mal herausgeschrieben:
- cpu 486, sagt der VM, dass man hier einen 486-er-Prozessor
emulieren möchte. Leider bezieht sich das wohl nur auf die
integrierten Befehlssätze der CPU. Die Taktrate orientiert sich
dabei (leider) an der physisch im Rechner verbauten CPU.
Wünschenswert wäre hier noch eine Option zur Regelung der Taktrate.
Mit 'cpu help' kann man sich darüber hinaus alle zur Verfügung
stehenden Prozessoren anzeigen lassen.
- boot gibt an von welchem Device man booten möchte. Standardmäßig
wird von hda gebootet, man kann aber auch von Floppy a oder
Floppy b oder eben von CD-Rom d booten.
- soundhw spezifiziert die Soundkarte. Neben der SoundBlaster 16
stehen noch weitere Emulationen zur Verfügung, mit soundhw help
lassen sich diese anzeigen.
- name, hier kann man der VM einen Namen geben.
- usb, schaltet die USB-Unterstützung ein
- vga, weist der VM eine bestimmte Grafikkarte zu.
- full-screen, startet die VM im Vollbildmodus
QEMU-Management-Konsole
Mit Strg+Alt+2 gelangt man auf die QEMU-Management-Konsole (auf
Strg+Alt+1 läuft die VM). Dort kann man die VM jederzeit verlassen
quit (was einem 'Stecker ziehen' gleich kommt). Mit help kann
man sich sämtliche verfügbaren Kommandos anzeigen lassen. Da das
ziemlich viele sind, rauschen die in einem Rutsch durch. Durch die
Ausgabe kann man mit Strg+Pfeil nach oben bzw. unten scrollen.
Fazit
Mit QEMU hat man ein mächtiges Werkzeug zur Emulation verschiedenster
Hardware. Es lohnt sich auf jeden Fall, wenn man mal kurz ein
'Iso-Image' ausprobieren möchte ohne gleich einen ganzen Rechner neu
aufzusetzen. Besonders die Möglichkeit das erstellte Image per dd
auf einen physischen Datenträger zu schreiben, gefällt mir sehr.
Okt 22, 2014
Es gab mal eine Zeit, da hatte ich angenommen mit zunehmenden Alter
würde es ruhiger und man hätte mehr Zeit für sich. Aber scheinbar (und
da bin ich bei weitem nicht der einzige) verhält es sich genau anders
herum. Neben den Verpflichtungen, die eine regelmäßig ausgeübte,
berufliche Tätigkeit so mit sich bringt, kommen auch allerhand Termine
und Aufgaben im privaten Bereich dazu. Bisher war es mir immer gelungen,
alles im Kopf zu managen und den Überblick zu behalten, doch es häufen
sich die Fälle, dass ich bestimmte Dinge einfach vergesse. Zum Beispiel
vergesse ich mit bewundernswerter Regelmäßigkeit schon seit Jahresanfang
endlich einen Freistellungsauftrag für meinen Bausparvertrag bei der
Bank einzureichen ;-)
Aber für jedes Problem gibt es auch eine passende Lösung. Also habe ich
mich mal in den Repositories meiner Lieblingsdistributionen nach einem
kleinen Programm zur Aufgabenverwaltung gemacht. Das Angebot ist - wie
so oft - ziemlich üppig. Angefangen von riesigen Groupwarelösungen wie
etwa Evolution oder Thunderbird mit Lightning-Addon hin zu schlanken
ncurses-basierten Programmen wie z.B.
tudu, für das ich mich letztendlich
entschieden habe. Zum einen kenne ich es noch nicht und zum anderen
tendiere ich schon seit geraumer Zeit immer mehr zu schlanken und
schlichten Programmen.
Tudu ist ein Kommandozeilenprogramm um hierarchische To-Do Listen zu
verwalten. Man kann die Aufgaben in Kategorien einteilen, Beschreibungen
hinzufügen und auch eine Deadline vergeben. Darüber hinaus lässt sich
das ganze vim-ähnlich steuern. Ein weiterer Pluspukt ist, dass die
wichtigsten Befehle am oberen Rand angezeigt werden und man so schnell
einen Eintrag hinzufügen kann, ohne die Hilfe-Seiten zu wälzen. Wer sagt
da noch Kommandozeilenprogramme seien nicht Nutzer-freundlich :-)
Tudu installieren
Tudu ist sowohl unter Debian als auch unter Arch in den offiziellen
Repositories verfügbar und lässt sich simpel mittels folgender Befehle
installieren:
Debian
Arch
Aufgabensynchronisation, the simple way
Was mir persönlich, der ich mehrere Rechner mein eigen nenne, noch fehlt
ist eine Synchronisation meiner Aufgabenliste. Da ich noch einen schon
etwas verwaisten Dropbox-Account habe, kam mir der Gedanke meine
Aufgabenliste dort einfach zu deponieren und die Synchronisation eben
Dropbox zu überlassen. Das einzige was ich tun musste, war die
'\~/.tudu.xml' im Home-Verzeichnis in den Dropbox-Ordner zu verschieben
und in der '\~/.tudurc' den Pfad dorthin anpassen. Standardmäßig nutzt
tudu die globale Config-Datei '/etc/tudurc'. Diese kopiert man einfach
in sein Homeverzeichnis und gibt dort an der Stelle
tudu_file = /home/foobar/Dropbox/tudu.xml
den letztendlichen Speicherort im Dropboxordner ein. Und schon sollte
das ganze funktionieren. Problematisch wird das Ganze wohl nur sobald
man mehr als zwei Rechner einsetzt und diese nicht permanent im Netz
hängen. Aber im Moment ist das bei mir eher selten der Fall, und wenn
gibts dafür sicherlich auch ne nette Lösung :-)
Sep 19, 2014
Ich habe schon seit langer Zeit einen Umts-Stick (und zwar den Huawei
Surf Stick E 3131, der problemlos unter Linux funktioniert), der mich
auf Reisen mit Internet versorgt. Dazu bin ich Kunde bei Congstar, ein
Tochterunternehmen der Telekom AG. Das hat den Vorteil, dass man das
sehr gut ausgebaute D1-Netz nutzen kann und so auch in den entlegensten
Teilen Deutschlands noch eine recht gute Netzanbindung bekommt.
Hat man den Stick am Rechner angeschlossen, kann man das aktuelle
Verbrauchsguthaben relativ tagesaktuell über die Seite
"http://datapass.de" abrufen.
Jetzt wollte ich das Ganze gern automatisiert von einem Script erledigen
lassen, dass mir entweder "not connected" anzeigt, wenn der Stick nicht
angeschlossen ist oder aber eben das aktuell verbrauchte Datenvolumen.
Dazu habe ich mit meinen rudimentären Python-Kenntnissen dieses kleine
Script geschrieben (einfach kopieren und als xy.py abspeichern; über
Anregungen und Kommentare würde ich mich freuen :-) ).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 | #!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Marcel Werner
# Mail: kontakt(at)kaffeejunkie.eu
# Web: http://www.kaffeejunkie.eu
# Date: 14.08.2014
# This little script gets the amount of used traffic-volume
# from the Telekom-Service-Website 'www.datapass.de'. It seems to be
# functional in combination with a Congstar/Telekom SIM-Card only.
# Begin
import os
import sys
import lxml.etree as et
import urllib2
# run 'lsusb' in terminal to determine vendor_id
vendor_id = "12d1"
usb_device_path = "/sys/bus/usb/devices/"
def check_usb_connection():
for subdirectory in os.listdir(usb_device_path):
cwd = os.path.join(usb_device_path, subdirectory)
try:
with open(cwd+"/idVendor", "r") as f:
for line in f:
if line.replace("\n","") == vendor_id:
return True
except IOError:
break
while check_usb_connection() == True:
try:
opener = urllib2.build_opener()
opener.addheaders =[('User-agent', 'Mozilla/5.0')]
url = opener.open('http://datapass.de')
root = et.fromstring(url.read())
used_traffic = root.find('.//span[@class="colored"]')
.text.encode('utf-8')
print used_traffic+" von 1 GB verbraucht"
break
except AttributeError:
break
except IOError:
break
else:
print "not connected"
|
Einbinden in Conky
Der Aufruf des Scripts aus Conky heraus geschieht über folgenden
Parameter, den man in die Datei .conkyrc im Home-Verzeichnis einträgt:
${execi 600 python ~/pfad_zum_script.py}
Die 600 ist der Wert in Sekunden, wann dieses Script immer wieder
ausgeführt wird; also alle 10 Minuten. Man sollte hier nicht einen zu
niedrigen Wert wählen, da ja jeder Seitenaufruf Traffic (wenn auch nur
ein paar KB) verursacht.
Aug 12, 2014
Momentan nutze ich als Hauptrechner ein Thinkpad T500 mit Centrino2
Prozessor und 2GB RAM sowie einer 120GB SSD. Das ganze läuft unter
Debian. Das Problem es läuft so gut, dass es schon langweilig ist (ja ja
ich weiß Wohlstandsprobleme) ;-) Nein im Ernst, es gibt keine Anwendung
die ich momentan nutze, die auch nur annähernd das Thinkpad ins
Schwitzen bringen würde. Alles läuft flüssig und stabil und dazu ohne
nennenswerte Wartezeiten (dank SSD); selbst Flash ;-) Das Problem mit
soviel Leistung ist, man weiß am Ende gar nicht mehr, welche Software
wirklich leichtgewichtig ist, denn es startet eh alles in
Sekundenschnelle.
Also dachte ich mir, wie würde das Ganze denn wohl auf einem System aus
den 2000er Jahren aussehen. Ist es ein 14 Jahre altes System wirklich
noch Alltagstauglich oder eignet es sich nur noch als Spielerei für
Konsolenjunkies :-)
Das hierbei einige meiner in den letzten Jahren liebgewonnenen
Anwendungen zwangsläufig leichtgewichtigeren weichen müssen versteht
sich fast von selbst. Aber dafür ist nun Platz für neue (unbekannte?)
Anwendungen, die ich sonst vielleicht nie ausprobiert hätte.
Die Hardware
Als Setup nehme ich den guten alten Medion PC aus dem Jahre 2000. Ich
mochte den Rechner damals schon als er auf den Markt kam, nicht zuletzt
wegen des Midi-Tower-Designs. An Hardware steckt folgendes drin:
- Pentium III @ 900 Mhz
- 128 MB PC-100 SDRAM
- 80 GB Hitachi Festplatte
- Geforce 5600 GT
- Soundblaster Live
Bis auf die Grafikkarte (die ich wegen ihres digitalen Ausgangs wählte)
also ein klassisches System aus dem Jahr 2000.
OS
Die Gretchenfrage wieder einmal. Debian ist momentan immer noch meine
Lieblingsdistribution, aber hier wollte ich die Chance einmal nutzen und
über den Tellerrand dieser 'Rundum-Sorglos-Distribution' blicken und
auch mal etwas anderes ausprobieren. Momentan bin ich noch etwas
unentschieden, ob ich eine vorgefertigte Distribution (wie etwa ArchBang
oder Slitaz) oder aber mir die einzelnen Komponenten selbst zusammen
stelle. Mal schauen, je nach Bastellaune am Wochenende :-)
Jul 21, 2014
Seit letzter Zeit sehe ich in den WP-Logs vermehrt fehlgeschlagene
Loginversuche, zumeist mit einer IP aus Russland oder der Ukraine. Das
an sich ist noch nicht das beängstigende. Was mich vielmehr stutzig
gemacht hat, war die Tatsache, dass die Angreifer zum Teil meinen
richtigen Login-Namen kannten (nein, es ist nicht 'admin' :-)).
Meine erste Frage war natürlich woher? Und siehe da, wenn man auf den
Autor-Link in den Beiträgen klickt, steht in der Adressleiste der wahre
Login-Name obwohl als Autor-Alias eigentlich ein anderer Name vergeben
wurde. Das ist unschön...
Nach ein wenig googeln fand ich
diese
Lösung. Ich habe es entsprechend geändert und nun wird lediglich mein
Alias wieder angezeigt. So müssen Angreifer nun wieder zwei Faktoren
(Loginname und Passwort) erraten :-)
Am Beliebtesten scheinen übrigens Logins wie 'root', 'test' oder 'admin'
zu sein :-)
Jul 19, 2014
Ein großer Nachteil beim Arbeiten auf der Kommandozeile ist, dass man
normalerweise nur einen Bildschirm zum arbeiten hat. Man kann zwar ein
Programm mit Strg+z in den Hintergrund schicken und mit fg wieder in den
Vordergrund holen aber zwei Anwendungen gleichzeitig auf einem
Bildschirm zu beobachten ist so ohne Weiteres nicht möglich. Aber wozu
gibt es Terminalmultiplexer, die das von einer X-Window-Umgebung
gewohnte mehrfache Nebeneinander von Fenstern auch auf der Kommandozeile
ermöglichen. Einer dieser Vertreter ist dvtm.
Installation
Der 'dynamic virtual terminal manager' ist in den offiziellen
Paketquellen von Debian enthalten und lässt sich von dort bequem
installieren:
Einmal installiert lässt er sich bequem mittels
starten.
Bedienung
Sämtliche Aktionen in dvtm bestehen aus der Mod-Taste (standardmäßig
Strg+g) und der Taste für die gewünschte Aktion. Die (für mich)
wichtigsten sind:
- Mod+c: neue Shell
- Mod+x: aktives Fenster schließen
- Mod+j: zum nächsten Fenster wechseln
- Mod+k: zum vorherigen Fenster wechseln
- Mod+1: zum Fenster Nr. 1 wechseln
- Mod+m: aktuelles Fenster maximieren
- Mod+t: Vertikaler Split Modus
- Mod+b: Horizontaler Split Modus
- Mod+x: Sperrt den Bildschirm (man wird nach einem Passwort gefragt;
dieses muss man danach eintippen um den Bildschirm wieder zu
entsperren)
- Mod+q: Exit
Daneben gibt es noch eine Menge weiterer Kommandos (z.B. um die
Fenstergröße zu ändern). Man findet diese indem man
aufruft. Darüber hinaus kann man dvtm beim Start noch einige Optionen
übergeben (z.B. -m um die Mod-Taste zu ändern).
Fazit
dvtm lohnt sich wirklich. Getreu der Unix-Philosophie "Do one thing but
do it well" erledigt dvtm genau diese eine Aufgabe und das ohne zu
murren und ohne zusätzlichen Schnickschnack. dvtm bringt von Haus aus
kein session-management mit (wie es etwa tmux oder screen tun). Abhilfe
schafft aber hier abduco.
Wer also möchte, dass einmal gestartete Anwendungen nach dem Logout auch
weiter laufen, der möge hier zuschlagen :-)