Deutsches Tastaturlayout mit englischem Windows 8

Ich bevorzuge seit einiger Zeit mein Windows auf Englisch zu nutzen, in erster Linie weil es die Suche nach Fehlermeldungen im Internet deutlich vereinfacht, man findet einfach viel mehr zu dem aktuellen Problem. Besonders deutlich ist es bei der Nutzung von Visual Studio, nutzt man ein englisches VS auf einem deutschen Windows hat man auf einmal mittendrin irgendwelche Meldungen auf Deutsch und steht wieder da, muss sie übersetzen, hoffen dass man die richtigen englischen Worte erraten hat, alles sehr nervig.

Das ganze lief immer super, bis Microsoft mit Windows 8 ein paar Sachen geändert hat. Zum Ersten die Tastenkombination zum Umschalten des Tastaturlayouts. Seit (ich glaube) Windows 95 bis hin zu Windows 7 konnte man mit der Tastenkombination Alt+Shift zwischen den aktiven Tastaturlayouts umschalten, bei den letzten Windows-Version war das bei einem deutschen Windows in der Regel DE und US (aus irgend einem Grund war das immer aktiv, das deutsche Layout jedoch das Primäre).

Deutsches Tastaturlayout mit englischem Windows 8 weiterlesen

Android-Steuerung und Fazit

Dieser Artikel ist Teil 4 von 4 in der Reihe Synchrones Musik Streaming

Steuerung über Android-App

Die SqueezeBox-App lässt sich kostenlos aus dem Play Store herunterladen. Nach dem Start muss man sich leider mit einem SqueezeBox-Konto einloggen, aber das ist schnell auf der Website erstellt. Ich nehme mal an als Bonus kann man dann die Musik zuhause auch von unterwegs aus steuern, getestet habe ich das noch nicht.

Fazit

Ich bin begeistert. Eine absolut kostengünstige Lösung, kaum Aufwand beim Einrichten und es lässt sich komfortabel steuern. Der bisher einzige Makel ist: bei Sprache ist ein leichtes Delay zu hören, da merkt man doch dass es nicht absolut synchron ist. Aufgefallen ist mir das allerdings nur bei Beiträgen der Moderatoren im Radiostream, den ich zum Testen genutzt habe während der Media Server die Musik indizierte. Beim Abspielen von Musik (egal ob lokale MP3s oder beim Livestream) ist die Verzögerung nicht zu hören.

LMS_WI_play

Das einzige was mir jetzt noch fehlt ist squeezelite auf dem unter OpenELEC laufenden Pi im Schlafzimmer, dort ließ es sich nicht so ohne Weiteres installieren. Und natürlich noch ein Pi für die Küche…

squeezelite auf dem Raspberry Pi

Dieser Artikel ist Teil 2 von 4 in der Reihe Synchrones Musik Streaming

Hier gibt es vom Squeezeplug-Projekt bereits fertige Images für den Pi, aber ich wollte mein bereits installiertes Raspbian behalten. Also habe ich mir squeezelite von der Google Code-Seite heruntergeladen. Wir brauchen für den Pi die Datei squeezelite-armv6hf.

Die Installation ist ruckzuck erledigt:

# Ein paar Abhängigkeiten installieren
sudo apt-get install libfaad2 libmad0 libmpg123-0
# Das Verzeichnis anlegen wo hinterher squeezelite liegt
sudo mkdir /opt/squeezelite
# squeezelite herunterladen
wget https://squeezelite.googlecode.com/files/squeezelite-armv6hf
# Die Binärdatei ausführbar machen
chmod +x squeezelite-armv6hf
# Die Datei in unser erstelltes Verzeichnis verschieben.
sudo mv squeezelite-armv6hf /opt/squeezelite/

Als nächstes brauchen wir noch die Berechtigung auf die Audio-Devices zugreifen zu können, sonst tauchen sie nicht mal beim Auflisten auf.

sudo adduser gerald audio

Jetzt einmal abmelden und neu anmelden, dann ist man in der neuen Gruppe.

$ /opt/squeezelite/squeezelite-armv6hf -l
Output devices:
null - Discard all samples (playback) or generate zero samples (capture)
default:CARD=ALSA - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device
sysdefault:CARD=ALSA - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device

Die Audio-Devices werden erkannt und wir können ihn starten

/opt/squeezelite/squeezelite-armv6hf -s book -n Mal

Hier steht „book“ für den Computer auf dem der Logitech Media Server läuft, „Mal“ ist ein frei wählbarer Name für den Pi. Unter diesem Namen wird er später überall aufgeführt. Nicht wundern wenn nach dem starten nichts weiter passiert … wenn keine Fehlermeldung kommt, der Prompt aber einfach stehen bleibt dann läuft die Anwendung. Mit dem zusätzlichen Parameter -z kann man squeezelite als Daemon in den Hintergrund schicken.

Als Letztes richten wir noch für den squeezelite Daemon ein Autostart-Script ein. Ein netter Mensch hat da schonmal was vorbereitet:

# Das Script herunterladen
wget http://www.gerrelt.nl/RaspberryPi/squeezelitehf.sh
# Die Einstellungen im Script editieren
vi squeezelitehf.sh

Ich musste anpassen: DAEMON, SL_NAME, SL_SOUNDCARD, SB_SERVER_IP

# Script ausführbar machen
chmod u+x squeezelitehf.sh
# Script nach /etc/init.d/ veschieben
sudo mv squeezelitehf.sh /etc/init.d/squeezelite
# Script starten
sudo /etc/init.d/squeezelite
# Wenn alles richtig ist und läuft das Script zum Autostart hinzufügen
sudo update-rc.d squeezelite defaults

squeezelite unter Windows

Dieser Artikel ist Teil 3 von 4 in der Reihe Synchrones Musik Streaming

Unter Windows ist die Installation ähnlich. Die exe-Datei für Windows herunterladen, yusätzlich brauchen wir noch die PortAudio.dll sowie die libmpg123-0.dll. Beide Dateien können einfach in das Verzeichnis der squeezelite .exe-Datei gelegt werden.

Die Parameter sind die gleichen wie unter Linux, ich musste hier noch mit -o das richtige Audio-Device angeben.

Um herauszufinden welche Bibliotheken noch fehlen kann man das Debug-Log aktivieren:

.\squeezelite-win-1.3dev.exe -d all=debug -f .\squeezelight.log

Dort finden sich dann kurz nach dem Start solche Meldungen:

[10:02:08.449] load_faad:560 dlerror: code: 126
[10:02:08.449] load_vorbis:257 dlerror: code: 126
[10:02:08.450] load_flac:214 dlerror: code: 126
[10:02:08.450] register_pcm:352 using pcm
[10:02:08.450] load_mad:309 dlerror: code: 126
[10:21:28.766] load_mpg:243 loaded libmpg123-0.dll

Hier kann man sehen welche Bibliotheken geladen wurden und für welchen Codec keine passende DLL gefunden wurde.

Natürlich möchte ich auch hier dass squeezelite automatisch startet. Ich könnte es einfach in den Autostart packen, aber dann habe ich die ganze Zeit einen Command Prompt in der Taskleiste mit dem ich nichts anfangen kann. Außerdem finde ich es „sauberer“ wenn es im Hintergrund als Dienst läuft. Da das Programm ohnehin keine Grafische Oberfläche hat ist es geradezu prädestiniert dafür mit srvany als Dienst verpackt zu werden.

Wir legen also alle Dateien in ein Verzeichnis, das kann ruhig in C:\Program Files sein. Dort sollten dann mindestens liegen: squeezelite-win-1.3dev.exe, PortAudio.dll und libmpg123-0.dll.

squeezelite_folder

Als nächstes laden wir das Windows Server Resource Kit herunter und installieren es. Das geht auch auf einem Desktop-Windows, es muss kein Server sein. Als nächstes einen Command Prompt mit Administratorrechten starten.

Jetzt installieren wir eine Instanz von srvany als Dienst:

instsrv SqueezeLite 'C:\Program Files\Windows Resource Kits\Tools\srvany.exe'

Danach taucht unter den Diensten (services.msc ausführen) ein Eintrag SqueezeLite auf. Standardmäßig wird er unter dem Systembenutzer ausgeführt, was mich grundsätzlich schon mal stört. Daher habe ich den Dienst so konfiguriert dass er unter meinem Benutzer läuft.

squeezelite_service

Als letzten Schritt müssen wir srvany noch konfigurieren, damit es die squeezelite .exe-Datei startet. Das muss leider im Registry Editor gemacht werden. Unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services befindet sich ein Schlüssel mit dem Namen SqueezeLite. Dort legen wir einen Unterschlüssel mit dem Namen Parameters an. Unter Parameters legen wir eine Zeichenkette mit dem Namen Application an. Dort wird der Pfad zu squeezelite eingetragen. Hinterher sollte das ganze so aussehen:

squeezelite_service_registry

Musik in mehrere Räume streamen

Dieser Artikel ist Teil 1 von 4 in der Reihe Synchrones Musik Streaming

Mein Ziel war es, in mehreren Räumen in der Wohnung synchron Musik abspielen zu können, wie es mit dem System von Sonos möglich ist, allerdings wollte ich nicht ganz so viel dafür ausgeben.

Beim Stöbern nach schon existierenden Lösungen für synchrones MP3 Streaming bin ich über die Logitech SqueezeBox und dazu passende alternative Clients gestolpert, die ich hier vorstellen möchte.

P1160401 Musik in mehrere Räume streamen weiterlesen

VMwareTray.exe – Einsprungpunkt nicht gefunden

 

Bei einer Virtuellen Maschine hatte ich nach dem Umzug von ESXi 4.1 auf ESXi 5.1 Probleme die VMware Tools zu aktualisieren. Sowohl die automatische als auch die interaktive Installation schlug fehl, natürlich ohne hilfreiche Fehlermeldung.

Ich habe dann die Maschine von den alten Tools bereinigt indem ich wie in KB1012693 empfohlen setup64 /c ausgeführt habe, danach ließen sich die VMware Tools installieren. Leider kam dann bei der nächsten Anmeldung die nächste Überraschung:

vm_fehlermeldung
Der Prozedureinsprungpunkt „GuestApp_OpenUrl“ wurde in der DLL „vmtools.dll“ nicht gefunden.

Die Lösung dafür: Den Schlüssel

VMware Tools="C:\Program Files\VMware\VMware Tools\VMwareTray.exe"

aus der Registrierung unter

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

löschen.

Mein erster Gedanke war „Das ist ja ne super Lösung, einfach die Tools aus dem Autostart rausschmeißen“, nach dem Motto Aus den Augen, aus dem Sinn. Anscheinend hat sich aber mit den neueren Tools die Datei geändert, die ausgeführt wird. Tatsächlich tauchen in der Registry an der Stelle auch zwei Einträge auf, der besagte den man löschen soll und ein weiterer, der auf vmtoolsd.exe -n vmusr zeigt. Dieser Eintrag ist korrekt und startet beim nächsten Anmelden auch brav dir VMware Tools.