HandBrake und El Capitan

Mit El Capitan hat Apple im OS X die System Integrity Protection (SIP) eingeführt, welche bestimmte Ordner im Root-Dateisystem noch einmal zusätzlich vor unberechtigten Zugriff schützen soll. Da HandBrake bisher zum Rippen von DVD’s seine libdvdcss in /usr/lib speicherte, wird diese von der SIP mit OS X 10.11 nun unter Quarantäne gestellt, um den Kernel zu schützen. Dadurch ist es leider nicht mehr möglich DVD’s zu rippen, oder verschlüsselte ISO-Dateien mit der normalen DVD-Applikation wiederzugeben. Abhilfe wird dadurch geschafft, dass man sich mit einem Paket-Manager das libdvdcss-Paket nachinstalliert und die Bibliothek in einem Unterordner des /usr – Verzeichnis kopiert, welches von SIP standardmäßig nicht zusätzlich geschützt wird.
In meinem Fall habe ich die Bibliothek mit Hilfe MacPorts nachinstalliert und die Datei libdvdcss.2.dylib aus dem Verzeichnis /opt/local/lib nach /usr/local/lib kopiert. Somit ist HandBrake wieder versorgt. DVD-ISO’s lassen sich alternativ mit dem VLC-Player wiedergeben, da er seine eigene Codec-Bibliothek mitbringt.

Speichermedien grundieren mit f3write / f3read

Das Thema ist zwar schon älter, aber es kommt wohl immer noch vor, dass USB-Sticks oder SD-Karten mit gefälschten Kapazitätsangaben in Umlauf gebracht werden. Auch wenn diese aus seriösen Quellen stammen, sollte man sie auf die korrekte Kapazität und Funktionsfähigkeit prüfen, bevor man darauf unwiederherstellbare Daten aufzeichnet. So schreibt beispielsweise eine Kamera fröhlich 32 GB auf eine Karte, die tatsächlich nur 8 GB fasst. Die Daten sind dann hinüber. Außerdem kann die Karte auch einfach nur defekt sein, oder die versprochene Schreibgeschwindigkeit nicht halten.

Für die gängigen Unixoiden Betriebssysteme kann man f3write / f3read benutzen. Dabei wird der Datenträger mit einem verifizierbaren Muster beschrieben und dieses wird im Anschluss wieder gelesen.

Vorher muss der Source-Code aber an einem Ort der Wahl innerhalb des Dateisystems entpackt und mit ‚make‚ kompiliert werden.

sommteck:f3-6.0 franky$ ./f3write /Volumes/USB-Stick/
Free space: 3.78 GB
Creating file 1.h2w ... OK!
Creating file 2.h2w ... OK! 
Creating file 3.h2w ... OK!
Creating file 4.h2w ... OK!
Free space: 0.00 Byte
Average writing speed: 4.40 MB/s
sommteck:f3-6.0 franky$ ./f3read /Volumes/USB-Stick/
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
Validating file 2.h2w ... 2097152/        0/      0/      0
Validating file 3.h2w ... 2097152/        0/      0/      0
Validating file 4.h2w ... 1631936/        0/      0/      0
 
  Data OK: 3.78 GB (7923392 sectors)
Data LOST: 0.00 Byte (0 sectors)
	       Corrupted: 0.00 Byte (0 sectors)
	Slightly changed: 0.00 Byte (0 sectors)
	     Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 20.70 MB/s

Idealerweise kann man vielleicht noch Aliases in der .profile erstellen, um die Tipperei auf der Konsole zu reduzieren.

Außerdem gibt es das Programm als native Cocoa-GUI-Variante. Aber diese gefällt mir persönlich nicht so gut, weil sie keine so detaillierten Statusinformationen liefert.

Update

Inzwischen kann man f3write/f3read auch mittels MacPorts und HomeBrew automatisiert installieren. Zudem ist der Quellcode auf GitHub verfügbar.

Link: https://github.com/AltraMayor/f3

Mittels Nullmodem auf eine Alix mit OpenBSD

Ich habe mir ja vor einer Ewigkeit diesen hübschen Embeddded-Computer zugelegt. Gegenüber damals bin ich aber irgendwann von Net- auf OpenBSD umgestiegen. Weil ich aber inzwischen der Auffassung bin, möglichst wenig Ballast anzusammeln und herum zuschleppen, habe ich mich weitestgehend von unnötiger Peripherie-Hardware wie Ein- und Ausgabegeräte und anderem Zeug getrennt. Nun betreibe ich diese Box in einer Umgebung, wo es weder Monitor oder Tastatur gibt. Da sie aber noch über eine hinausgeführte serielle RS-232-Schnittstelle verfügt, sollte man den Kram eigentlich auch nicht benötigen. Wenn der Rechner gerade aus Gründen nicht über ein Netzwerk erreichbar ist, so hat man dennoch die Möglichkeit via USB-Seriell-Adapter und Nullmodemkabel sich auf dem Gerät einzuloggen. Folgende Einstellungen müssen Betriebssystemseitig unter OpenBSD gemacht werden.

In der Datei /etc/ttys die Zeile:

tty00   "/usr/libexec/getty std.9600"   unknown off

nach

tty00   "/usr/libexec/getty std.9600"   vt220   on  secure

abändern.

Die Datei /etc/boot.conf erstellen oder bearbeiten und folgende Zeile hinzufügen:

set tty com0

Damit wird auch der Boot-Prozess über die serielle Leitung übertragen. Leider funktioniert das bei mir noch nicht, weil die Boot-Loader Input-/Output-Fehler wirft, denen ich bisher nicht auf den Grund gekommen bin.

Was ich aber ziemlich advanced finde, dass selbst die Initialisierung der Hardware und auch der Zugriff auf das BIOS-Setup über die Serielle Konsole erfolgen kann. Dafür muss lediglich im „BIOS Advanced Features“-Menü die Option „Console Redirection“ auf Enabled gestellt werden. Die Baudrate sollte natürlich identisch mit der des Betriebssystems und dem Terminal-Emulators sein.

Serial-Boot_BIOS_0

Serial-Boot_BIOS_1

Serial-Boot_BIOS_2

Serial-Boot_BIOS_3

Anders als hier aufgeführt, kann man die Baudrate natürlich auch bis auf 115200 Baud herauf setzen, da auf Dauer die 9600 sehr langsam erscheinen – auch wenn es einen gewissen Nerd-Faktor und fast einen meditativen Charakter besitzt, dem Bildschirm beim zeilenweisen Aufbau zu zusehen.

Ob das Ganze auch mit den moderneren UEFI’s geht, weiß ich jetzt nicht. Cool wäre es!

Quelle im OpenBSD FAQ:
http://www.openbsd.org/faq/faq7.html#SerCon

wego-Wetterclient für das Terminal

wego ist ein ASCII-Wetterclient für das Terminal, welcher eine go-Bibliothek um einen python-Wrapper schnürt, um via curl Wetterinformationen auf das Unix-Terminal zu holen. Eine schöne nerdige Art, wie man die aktuelle Wettervorhersage auch ohne HTTP-Overhead und Webbrowser hübsch auf den Computer dargestellt bekommt. Ich habe mir diesen mal auf meinem Mac installiert.

Features:

wego-forecast

  • zeigt forecast-Wetterdaten für den Zeitraum von 1 bis 7 Tagen
  • hübsche ASCII-Art Icons
  • angezeigte Informationen (Metrische, imperiale und SI-Einheiten)
    • Temperatur
    • Windrichtung und Geschwindigkeit
    • Vorhersage
    • Niederschlagsmenge und Wahrscheinlichkeit
  • SSL
  • Unterstützung mehrerer Sprachen
  • automatisches Konfigurationsmanagement mit ingo

Abhängigkeiten:

  • eine laufende Go-Umgebung ab Version 1.5
  • UTF-8 Terminal mit 256 Farben
  • eine vernünftige proportionale Schrift
  • einen API-Key für das BackEnd

Installation

Mit MacPorts oder jedem anderen beliebigen Paket-Manager Go installieren:

sudo port install go

Einen separaten Ordner für die Source-Files und Binaries von Go im Heimatverzeichnis anlegen:

mkdir Applications/Go

Umgebungsvariable setzen:

export GOPATH=/Users/franky/Applications/Go

Zum Installieren oder Updaten des wego-Binaries in der gesetzten $GOPATH-Variable ausführen:

go get -u github.com/schachmat/wego

Setup

  1. Einmal wego ausführen. Dies führt zu einem Programmabbruch und einer Fehlermeldung. So wird aber im Heimatverzeichnis die Datei .wegorc erzeugt.
  2. Mit forecast.io einen Account erzeugen
    1. Unter https://developer.forecast.io/register einen Account erzeugen
    2. Folgende Konfigurationsvariablen in der Datei .wegorc anpassen:
      backend=forecast.io
      location=40.748,-73.985
      forecast_api_key=YOUR_FORECAST.IO_API_KEY_HERE
  3. Danach weitere persönliche Einstellungen, wie Verwendete Einheit, Sprache usw. anpassen.
  4. wego erneut ausführen. Und schon wird das Wetter von forecast für die nächsten Tage vorhergesagt.

Mit dem Befehl Applications/Go/bin/wego wird dann die Wetterabfrage gestartet. Alternativ kann man sich aber noch einen passenden Alias in der .profile im Heimverzeichnis anlegen.

Automatisches Öffnen von Apples Fotos-App in OS X unterbinden

Knapp vier Monate nach Veröffentlichung habe ich nun Apple’s aktuelles Computerbetriebssystem OS X 10.11 alias El Capitan auf meinem Laptop installiert. Allerdings wurde in diesem Release eine nervige Funktion seitens Apple hinzugefügt. Sobald der Nutzer mit dem Computer ein iPhone, iPad oder eine SD-Karte verbindet, öffnet sich stets die vorinstallierte Fotos-App. Dies ist sehr störend. Mit folgendem Befehl im Terminal lässt sich dieses Verhalten unterbindet:

defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES

Die Änderung lässt sich jederzeit mit folgendem Befehl auch wieder rückgängig machen:

defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool NO