Zwingender monatlicher Login bei DynDNS.org automatisieren (Auto Login Script)

Einführung Seit kurzer Zeit muss man sich, damit man seinen Hostnamen nicht verliert, jeden Monat im Account von DynDNS.org einloggen. Mit einem einfachen Skript und einem Crontab Eintrag lässt sich das automatisieren. Automatisch einloggen Folgendes Skript automatisiert das Login im Account von DynDNS.org. Man muss nur noch den Usernamen und das Passwort eintragen. #!/usr/bin/env bash # # dyndnslogin - Automate login to prevent account expiration # ######################################################################## # DynDNS Settings (default-value, overwrite with $1 and $2) # If you have special chars in your password, you need to urlencode: # python -c "from urllib.parse import quote; # print(quote('your password', safe=''))" DEFAULT_USERNAME="username" DEFAULT_PASSWORD="password" # Import settings from /etc/ddclient.conf if available DDCONF="/etc/ddclient.conf" if [ -r "$DDCONF" ] && grep -q "^server=members.dyndns.org" "$DDCONF" then DEFAULT_USERNAME="`awk -F= '/^login=/{ print $2 }' $DDCONF`" DEFAULT_PASSWORD="`awk -F= '/^password=/{ print $2 }' $DDCONF`" fi USERNAME=${1:-$DEFAULT_USERNAME} PASSWORD=${2:-$DEFAULT_PASSWORD} PROGNAME=dyndnslogin COOKIE=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_cookie_XXXXX` OUTPUT=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_output_XXXXX` USERAGENT="Mozilla/5.0" MULTIFORM=`curl -s -A $USERAGENT -c $COOKIE https://account.dyn.com \ | awk -F\' '/multiform/{ print $6 }'` curl -s --location -A "$USERAGENT" -b $COOKIE -c $COOKIE -o $OUTPUT \ --data-urlencode "username=$USERNAME&password=$PASSWORD&iov_id=&submit=Log+in&multiform=$MULTIFORM" \ https://account.dyn.com/ if grep -i -E "(Welcome|Hi).*$USERNAME" $OUTPUT > /dev/null 2>&1 then echo Login successful else echo Login failed FAILED="true" fi rm $COOKIE rm $OUTPUT if [ "$FAILED" = "true" ] then exit 1 fi Nach dem Ausführen erhält man die Rückmeldung, ob das Login funktioniert hat oder nicht. ...

23.05.2013 · 2 min · Emanuel Duss

Den Computer als Wecker benutzen

Einführung Damit ich am Morgen von passender Musik geweckt werde, habe ich mir ein Skript geschrieben, welches mein Notebook in einen Wecker verwandelt. So stelle ich normalerweise den Notebook vor dem Schlafen gehen in den Sleep-Modus, welcher 30 Minuten Musik abspielt und danach in den Stanbdy fährt. Am Morgen schaltet mein Notebook automatisch zur eingestellten Weckzeit ein und spielt die Musik weiter. So starte ich meist gut in den Tag. Hier beschreibe ich, wie ich das gemacht habe. ...

30.03.2013 · 5 min · Emanuel Duss

Mehrere Terminalfenster verwalten mit tmux (vs. screen)

Einführung Mit tmux kann man wie mit screen mehrere Terminalfenster innerhalb einer Konsole verwalten. tmux hat jedoch ein paar Vorteile gegenüber dem Klassiker screen. Vorteile von tmux gegenüber screen Fenster können auch vertikal gesplittet werden Visuelle Benachrichtigung bei Aktivitäten aus anderem Fenster Mehr Konfigurationsoptionen Einfachere Konfiguration als (vgl. hardstatusstring von screen) Innerhalt tmux kann man zwischen mehreren Sessions wechseln (Client-Server Prinzip) Gut Skriptbar (von der Shell aus) Mehrere Buffer für Kopieren/Einfügen Fensternamen passen sich dynamisch den aufgerufenen Programmen an Fenster können verschoben und vertauscht awerden Konfiguration während dem laufenden Betrieb ändern und neu laden Programme wie less, welche normalerweise die Konsole wieder leeren, werden auch geleert Noch aktiv unter Entwicklung Konfiguration tmux wird mit der Konfigurationsdatei ~/.tmux.conf konfiguriert. ...

09.03.2013 · 4 min · Emanuel Duss

Befehle beim Systemstart ausführen unter Arch Linux mit systemd

Einführung Seit Arch Linux komplett auf systemd umgestellt hat, gibt es die Datei /etc/rc.local nicht mehr. Will man trotzdem Befehle direkt beim Systemstart ausführen, kann man sich einen systemd Service schreiben. Service schreiben Services unter systemd sind viel einfacher aufgebaut, als die Startskripte unter SysVinit. Die Services (egal ob aktiviert oder nicht), liegen im Verzeichnis /lib/systemd/system/. Dort kann man seine Services erstellen: $ sudo vi /lib/systemd/system/disablebluetooth.service Ein simpler Service, welcher ein Befehl ausführt, der im Target multi-user (entspricht etwa dem Runlevel 2 unter SysVinit) geladen wird, sieht so aus: ...

28.02.2013 · 2 min · Emanuel Duss

Meine Konfigurationsdatei für screen (~/.screenrc)

Einführung Mit screen kann man mehrere Fenster innerhalb eines Terminals verwalten. In der Standardkonfiguration ist screen jedoch nicht optimal für das tägliche Arbeiten konfiguriert. Ich habe screen so eingerichtet, dass z. B. die Willkommensnachricht nicht erscheint und dass am unteren Bildschirmrand eine Leiste mit allen offenen Fenster angezeigt wird. Konfiguration Mit der Datei .screenrc, welche im Homeverzeichnis liegt, kann screen konfiguriert werden. Die meisten Optionen sind selbsterklärend, deshalb werde ich nicht auf alle eingehen. Die Optionen sind in der Manpage von screen zu sehen, welche man mit man screen aufrufen kann. ...

20.02.2013 · 2 min · Emanuel Duss

Mehrere Terminalfenster verwalten mit screen

Einführung Mit screen kann man mehrere Fenster innerhalb eines Terminals verwalten. So kann man innerhalb eines Terminalfensters zwischen mehreren Fenster umschalten und so z. B. auf einem entfernt gelegenen Server mehrere Shells in nur einer SSH-Verbindung nutzen. Grundlegende Aufgaben mit Fenster Das sind die grundlegenden Funktionen, um mit screen zu arbeiten. C-a bedeutet Control + A Taste. C-a c Neues Fenster erzeugen C-a A Dem aktuellen Fenster einen Titel geben C-a k Fenster killen C-a " Liste mit Fenster anzeigen C-a space oder C-a n Ein Fenster weiter C-a Backspace oder C-a p Ein Fenster zurück C-a n Zu Fenster n gehen ( n = 1 bis 9) C-a C-a Zurück zum vorher ausgewählten Fenster Erweiterte Funktionen Folgende Funktionen benötige ich nur zwischendurch: ...

14.02.2013 · 2 min · Emanuel Duss

Systeminformationen auf dem Desktop anzeigen mit conky (.conkyrc)

Einführung Mit conky kann man ganz einfach auf dem Desktop Informationen zum System anzeigen lassen. So zum Beispiel der Hostname, die CPU-Auslastung, Memoryverbrauch, Dateisysteme, abgespielte Musik, Netzwerkkonfigurationen und noch viel mehr. Konfiguriert wird conky in der Konfigurationsdatei ~/.conkyrc. Meine Konfiguration Ich habe im Internet viele conky-Konfigurationen gesehen und mir mit all diesen Ideen eine eigene Konfiguration geschrieben. Ich wollte folgende Informationen anzeigen lassen: Systeminformationen: Hostname, Uptime, Datum und Uhrzeit, Akkuzustand Prozessor und Prozesse: CPU-Auslastung und CPU-Load; TOP-Prozesse Arbeitsspeicher und SWAP: Auslastung von RAM und SWAP Dateisysteme: Auslastung der Dateisysteme Musik: Informationen zur zurzeit abgespielter Musik (Ich verwende MPD für meine Musik) Netzwerk: Verbundene Netzwerke und ihre Konfiguration Eine andere Anforderung war, das ganze dynamisch zu gestalten: Falls ich zum Beispiel zur Zeit eth0 nicht verwende, sollen auch keine Informationen dazu angezeigt werden. ...

07.02.2013 · 5 min · Emanuel Duss

Den vi Mode standardmässig überall aktivieren

Einführung Viele Funktionen vom klassischen vi Editor lassen sich auch in anderen Programmen nutzen. Den vi Mode Aktivieren In der Shell (ksh, bash, zsh, …) In der Shell (Korn Shell, Bash, Z Shell, …) kann man mit folgendem Befehl den vi Modus aktivieren: $ set -o vi Damit dies direkt beim Start aktiviert wird, fügt man folgende Zeile in der RC-Datei der Shell ein: set -o vi In der Korn Shell lautet die Datei ~/.kshrc, in der Bash ~/.bashrc und in der Z Shell ~/.zshrc. ...

19.01.2013 · 2 min · Emanuel Duss

Fotos zu einem Zeitraffer zusammenfügen mit ffmpeg

Einführung Manche Digitalkameras können Fotos in einem bestimmten Zeitintervall auslösen. Nach ein paar Stunden sammeln sich viele Fotos in einem Ordner an, welche man mit ffmpeg in ein Video umwandeln kann. Ich habe einige Zeit gebraucht, bis alles endlich funktioniert hat. Hier seht ihr, wie man das mit ffmpeg machen kann. Schritt für Schritt Ausgangslage Als Ausgangslage habe ich viele Fotos in einem Verzeichnis: $ ls 2011-07-08_13-59-58.jpg 2011-07-08_15-01-27.jpg 2011-07-08_16-02-57.jpg 2011-07-08_14-00-07.jpg 2011-07-08_15-01-38.jpg 2011-07-08_16-03-08.jpg 2011-07-08_14-00-17.jpg 2011-07-08_15-01-47.jpg 2011-07-08_16-03-17.jpg [...] In meinem Fall sind das 1104 Fotos: ...

22.11.2012 · 3 min · Emanuel Duss

Externe Bildschirme verwalten mit xrandr

Einführung An einem Computer oder Notebook angeschlossene Bildschirme kann man sehr einfach mit dem Tool xrandr verwalten und steuern. Dabei kann man z. B. den Bildausschnitt oder die Auflösung festlegen. Dieser Artikel gilt für Bildschirme wie auch für Beamer. Bildschirme erkennen Mit folgendem Befehl kann man feststellen, welche Bildschirme einem zur Verfügung stehen und wie die aktuelle Konfiguration aussieht: $ xrandr --query Wenn an meinem Notebook kein externer Bildschirm angeschlossen ist, sieht das so aus: ...

26.08.2012 · 5 min · Emanuel Duss

Komplett verschlüsselte ArchLinux Grundinstallation mit LUKS und LVM

Einführung Auf einem Notebook sind oft private Daten, welche nicht in andere Hände geraten sollen. Deshalb habe ich mein Notebook komplett verschlüsselt. Ich muss mir dann keine Gedanken machen, wenn ich mein Notebook verliere oder es gestohlen wird. Diese Installation legt Logical Volumes auf einer mit LUKS verschlüsselten Partition an. Ist mein Notebook dafür geeignet? Neuere Prozessoren verfügen über eine AES Befehlssatzerweiterung mit welcher AES Verschlüsselungen und Entschlüsselungen erheblich beschleunigt werden. ...

02.07.2012 · 6 min · Emanuel Duss

Eine WPA2 WLAN Verbindung herstellen mit wpa_supplicant

Einführung Standardmässig verschlüsselt man heutzutage sein WLAN mit WPA2 PSK. Mit wpa_supplicant kann man sich an diesem WLAN authentifizieren. Die Konfigurationsdatei dafür wird mit wpa_passphrase generiert. WLAN Netzwerk finden Zuerst wird das WLAN-Interface aktiviert (in meinem Fall heisst das Interface wlan0): $ sudo ifconfig wlan0 up Dann scannt man nach verfügbaren Netzwerken: $ sudo iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:19:CB:03:E7:6A Channel:6 Frequency:2.437 GHz (Channel 6) Quality=60/70 Signal level=-50 dBm Encryption key:on ESSID:"discordia" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s 11 Mb/s; 12 Mb/s; 18 Mb/s Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master [...] IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK [...] [...] Wir sehen, das WLAN mit der ESSID discordia ist 802.11i/WPA2 Version 1 PSK verschlüsselt. ...

26.01.2012 · 3 min · Emanuel Duss

Arbeiten mit VI: In Register speichern und abrufen

Einführung In VI kann man eine oder mehrere Zeilen kopieren oder ausschneiden und diese in Register ablegen. Auf diese Register kann man dann später zugreifen und so den Text wieder einfügen. Syntax Die Befehle beginnen mit einem Anführungszeichen (") gefolgt von einem Buchstaben. Dieser Buchstabe ist der Name vom Register. Danach kommt der eigentliche Befehl von VI. "add: Löscht die aktuelle Zeile und speichert sie in Buffer “a” "bY: Kopiert die aktuelle Zeile in den Buffer “b” "ap: Fügt die gelöschte Zeile aus Buffer “a” ein "bp: Fügt die kopierte Zeile aus Buffer “b” ein :registers: Alle Register auflisten Beispiel Wir haben folgende drei Zeilen in einer Textdatei: ...

21.11.2011 · 2 min · Emanuel Duss

Arbeiten mit VIM: Dateien in Tabs öffnen

Einführung VIM kann Dateien in Tabs darstellen. Dies ist sehr praktisch, wenn man mehrere Files gleichzeitig in einem Fenster bearbeiten und zwischen den einzelnen Dateien hin- und her wechseln will. Befehle Folgende Befehle sollte man in VIM kennen, um mit Tabs zu arbeiten: $ vim -p foo.tex bar.tex : Öffnet die zwei Files foo.tex und bar.tex mit VIM in Tabs :tabe : Neues File in neuem Tab öffnen :tabe fnord.tex : File fnord.tex in neuem Tab öffnen gt : Zum nächsten Tab wechseln gT : Zum vorhergehenden Tab wechseln 5gt : Gehe zum 5. Tab Beispiel Die Dateien /etc/hosts, /etc/resolv.conf und /etc/rc.local kann VIM in Tabs folgendermassen öffnen: ...

23.10.2011 · 1 min · Emanuel Duss

Arbeiten mit VIM: Befehle aufzeichnen und abspielen (Recording)

Einführung In VIM kann man Tastatureingaben aufzeichnen und später wieder abspielen. So kann man Abläufe, welche man in einer Datei mehrmals durchführen muss, schnell und einfach automatisieren. Damit kann man sich Arbeiten sehr erleichtern! Syntax 0-9a-z qx: Beginnt eine neue Aufnahme und speichert diese ins Register x q: Beendet die aktuelle Aufnahme @x: Führt die Befehle vom Register x aus @@: Führt die Befehle vom zuletzt ausgeführten Register aus Dabei steht x für den Registernamen, welcher die Werte [0-9a-z] haben darf. ...

10.10.2011 · 2 min · Emanuel Duss