Archiv/Pipelight

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.


Anmerkung: Pipelight sollte nicht mehr verwendet werden. Die Entwicklung wurde 2016 eingestellt, der Entwickler empfiehlt, aufgrund fehlender Sicherheitsupdates, Pipelight zu deinstallieren (siehe Projektseite 🇬🇧). Zudem ist Pipelight derzeit (März 2018) kaum noch nutzbar.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Verwenden eines PPAs

  2. ⚓︎ Installation von Programmen

  3. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
    1. PPA
  2. Bedienung
    1. Aufbau
    2. Plugins
    3. User Agent
  3. Problembehebung
  4. Links
    1. Intern
    2. Extern

./Pipelight_Logo.png Das Projekt Pipelight 🇬🇧 erlaubt es, für Linux nicht verfügbare Windows-spezifische Plugins für Webseiten (Silverlight,Flash, Unity3D u.v.m.) trotzdem zu nutzen. Hierzu kann bei jedem Browser, der das Netscape Plugin API (NPAPI) unterstützt, das entsprechende Plugin direkt eingebettet werden. Unterstützte und getestete Browser sind im Moment:

Das Projekt baut auf einer Entwicklung von Erich E. Hoover 🇬🇧 auf, der einen Wine-Patch erstellt hat, der DRM-Inhalte in die Windows-Version von Firefox unter Wine einbindet. Dieses Paket wurde unter den Namen Netflix Desktop 🇬🇧 für Ubuntu zur Verfügung gestellt. Auf Netflix können zwar Videos mittlerweile auch ohne Silverlight geschaut werden. Mitunter muss dafür aber noch der User Agent angepasst werden. Andere Anbieter, wie z.B. Maxdome, setzen hingegen noch ausschließlich auf Siverlight.

Beim Netflix-Desktop musste allerdings Wine alle API-Aufrufe mittels Wine übersetzen und an den Browser übergeben. Dies führte speziell bei Streaming-Seiten zu teils erheblichen Problemen. Eine Lösung dieses Problems ist Pipelight.

Pipelight besteht aus zwei Teilen: Einer Linux-Bibliothek, welche im jeweiligen Browser geladen wird und ein Windowsprogramm, welches mittels einer gepatchten Wine-Version ausgeführt wird. Das Windowsprogramm (pluginloader.exe) simuliert einen Browser und lädt die Silverlight-DLLs. Wenn nun eine Webseite geladen wird, welche Silverlight benötigt, sendet die Linux-Bibliothek alle Befehle des Browsers mittels einer Pipe (daher der Name) an den Windows-Prozess (Wine), der wie eine Brücke zwischen Browser und Silverlight arbeitet. Den großen Leistungs-/Geschwindigkeitsvorteil gegenüber Netflix Desktop bringt hier die Tatsache, dass nicht der gesamte Datenverkehr über die Pipe geht. Es werden nur Initialisierungsparameter und nur manchmal Teile des Netzwerktraffics übergeben. Video- und Audio-Inhalte werden dagegen direkt verarbeitet. Dadurch merkt der Nutzer keine spürbare Verzögerung im Vergleich zu einem Windows-Browser.

Getestet und als komplett nutzbar mit (Silverlight 5.1) ermittelt wurden bisher folgende Video-Portale:

Unter Links befindet sich auch eine Schritt-für-Schritt-Anleitung, welche im Forum getestet wurde und mögliche Probleme und Unklarheiten beseitigt.

Laut Projektseite 🇬🇧 wurde die Entwicklung von Pipelight Ende 2016 offiziell eingestellt. Die Installation funktioniert vorerst weiterhin. Bei ausbleibenden Aktualisierungen ist in Zukunft aber mit zusätzlichen Komplikationen zu rechnen.

Installation

Hinweis:

Die Entwicklung von Pipelight wurde inzwischen eingestellt 🇬🇧 und steht seit Ubuntu 16.10 nicht mehr zu Verfügung.

Pipelight ist kein Bestandteil der offiziellen Paketquellen. Zur Installation muss man daher auf ein "Personal Package Archiv" (PPA) [1] ausweichen.

PPA

Adresszeile zum Hinzufügen des PPAs:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams pipelight zu entnehmen.

Das Hinzufügen der Packetquelle kann auch mit folgendem Befehl durchgeführt werden:

sudo add-apt-repository ppa:pipelight/stable 

Die folgenden drei Befehle setzen die Aktualisierung der Paketquellen, die Installation [2] und die Aktualisierung von Pipelight [3] um.

Hinweis:

Wichtig: Vor der Ausführung der folgenden Befehle müssen alle Browserfenster geschlossen werden, sonst funktioniert die Integration in den Browser nicht:

sudo apt-get update
sudo apt-get install --install-recommends pipelight-multi
sudo pipelight-plugin --update 

Das Paket pipelight-multi installiert auch die Microsoft Core Fonts, welche von Silverlight benötigt werden. Daher müssen während des Installationsvorgangs mehrere Lizenzbedingungen bestätigt werden.

Im nächsten Schritt muss das benötigte Plugin noch aktiviert werden, siehe dazu das Kapitel Plugins weiter unten.

Bedienung

Pipelight besitzt keine grafische Oberfläche, sondern wird im Terminal durch den Befehl pipelight-plugin bedient.

Aufbau

Der Befehl pipelight-plugin ist folgendermaßen aufgebaut:

[sudo] pipelight-plugin [OPTION] BEFEHL [PLUGIN] 

Optionen

Folgende Optionen stehen zur Verfügung:

Optionen
Name Beschreibung
-y, --accept Stimmt automatisch - ohne dass der Benutzer gefragt wird - den Lizenzbedingungen zu. Dies ist beispielsweise nützlich, um das Aktivieren und Deaktivieren von Plugins zu automatisieren.

Befehle

Die folgenden Befehle können mit normalen Benutzerrechten ausgeführt werden:

pipelight-plugin BEFEHL [PLUGIN] 

Benutzer Befehle
Name Beschreibung
--enable PLUGIN Aktiviert das Plugin PLUGIN für den Benutzer, indem ein symbolischer Link im Verzeichnis ~/.mozilla/plugins angelegt wird. Falls der Befehl mit root-Rechten ausgeführt wird, wird das Plugin systemweit aktiviert und der symbolische Link im Ordner /usr/lib/mozilla/plugins angelegt.
--disable PLUGIN Deaktiviert das Plugin, indem die symbolischen Links entfernt werden. Mit root-Rechten kann ein Plugin systemweit abgeschaltet werden.
--disable-all Schaltet alle Plugins ab.
--list-enabled Gibt eine Liste aller aktiven Plugins des aktivierten Benutzers wieder.
--list-enabled-all Gibt eine Auflistung der aktiven Plugins des Benutzers und der systemweit aktivierten Plugins wieder.
--system-check Überprüft, ob alle Komponenten von pipelight richtig installiert sind.
--help Gibt eine Übersicht über die verfügbaren Befehle.
--version Zeigt die aktuell verwendete Version von Pipelight an.

Die nachfolgenden Befehlen benötigen root-Rechte, da sie systemweit Änderungen vornehmen:

sudo pipelight-plugin BEFEHL [PLUGIN] 

Globale Befehle (benötigt root-Rechte)
Name Beschreibung
--unlock PLUGIN Schaltet die Unterstützung für ein experimentelles Plugin frei.
--lock PLUGIN Entfernt die Unterstützung für ein experimentelles Plugins wieder. Standart-Plugins können nicht entfernt werden.
--update Stellt eine Verbindung zum Pipelight Server her und läd die aktuelle Version der Plugindatenbank herunter. Dadurch wird überprüft, ob neue Versionen der Plugins zum Download zur Verfügung stehen.

Plugins

Sobald die Installation abgeschlossen wurde, müssen die gewünschten Plugins noch aktiviert werden. Dies lässt sich mit den im Folgenden genannten Befehlen bewerkstelligen.

Silverlight

  • Aktiviert Silverlight in der aktuellen Version, momentan 5.1:

    pipelight-plugin --enable silverlight 
  • Aktiviert Silverlight in einer älteren Version, 5.0:

    pipelight-plugin --disable silverlight --enable silverlight5.0 

Die darauf folgende Bestätigung der Lizenzvereinbarung ist mit Y (Yes/Ja) zu bestätigen. Anschließend kann der entsprechende Browser gestartet werden und eine Silverlight-Testseite aufgerufen werden: Bubblemark.com 🇬🇧. Hierbei werden noch die benötigen Pakete und DLLs heruntergeladen und installiert.

Wenn nach Aufruf/Aktualisierung dieser Seite bunte Blasen sichtbar sind, war die Installation erfolgreich. Neben dem Browserplugin Silverlight können auch noch weitere (Windows-/Mac-spezifische) Plugins aktiviert und genutzt werden.

Flash

pipelight-plugin --enable flash 

Hierbei ist es möglich, dass auf dem Rechner mehrere Flash-Versionen vorhanden sind. Üblicherweise gibt es zwei Einträge wenn man in der Browserzeile about:addons eingibt: "Shockwave Flash" in der Version 11 und "Shockwave Flash" in einer neueren Version, beispielsweise Version 23. Falls das Plugin "Shockwave Flash" nicht (mehr) in der Version 23 auftaucht, dann Firefox schließen, folgenden Befehl ausführen und Firefox neustarten:

sudo pipelight-plugin --create-mozilla-plugins 

Alternativ muss Pipelight deinstalliert und neu installiert werden:

 sudo apt-get remove pipelight-multi
 sudo apt-get install --install-recommends pipelight-multi
 sudo pipelight-plugin --update
 sudo pipelight-plugin --enable flash 

Um sicher zu gehen, dass auch die Flash-Version von Pipelight verwendet wird, kann dies auf der Test-Seite 🇬🇧 von Adobe geprüft werden.

Ab Flashplayer Version 24 muss die Textdatei install-dependency editiert werden, damit Flash installiert werden kann.

Shockwave Player

sudo pipelight-plugin --unlock shockwave
pipelight-plugin --enable shockwave 

Zur Kontrolle kann die Testseite 🇬🇧 von Adobe dienen. Diese sollte die installierte Version anzeigen. Ist dies nicht der Fall, besteht die Möglichkeit, dass der Shockwave Player im Konflikt mit dem oder den bestehenden Flashplayern steht. Dann sollte der Flashplayer deaktiviert werden.

Einige Spiele bereiten Probleme mit der Maus und dem Fokus. Solche Probleme können in der Regel durch Deaktivieren der Abwärtskompatibilität im Browserfenster behoben werden (Rechtsklick rechte Maustaste auf das Spielefenster, "Einstellungen → backwards compatibility").

Unity Webplayer

pipelight-plugin --enable unity3d 

Der Unity-Webplayer wurde erst vor kurzem zu Pipelight hinzugefügt und befindet sich daher noch in einem experimentellem Stadium. Als Online-Test kann hier das Spiel Counter Strike 2 🇬🇧 herangezogen werden.

Weitere Plugins

  • adobereader - PDF-Viewer für Windows

  • foxitpdf - Alternative zu Adobe Reader

  • grandstream - Plugin, mit dem man IP Kameras verbinden kann

  • hikvision - Plugin, um IP-Kameras zu verbinden

  • roblox - Plugin, mit dem man Spiele spielen kann, welche mit roblox geschrieben wurden

  • widevine - Addon zum Flashplayer, welcher DRM-geschützte Inhalte erlaubt

Ab Version 0.2.5 von Pipelight gibt es für nähere Informationen auch eine Manpage:

man pipelight-plugin 

User Agent

Viele Websites überprüfen anhand des User Agents, welchen Browser und welches Betriebssystem der Nutzer verwendet. Wird ein System oder ein Browser festgestellt, das nicht unterstützt wird, werden dem Nutzer Inhalte gar nicht erst zur Verfügung gestellt. Dann kann natürlich auch Pipelight nicht weiterhelfen. Um dies zu umgehen, muss der Webseite ein anderer Browser und ein anderes Betriebssystem vorgegaukelt werden. Hierzu gibt es viele Möglichkeiten, allerdings werden je Browser spezielle Applikationen empfohlen 🇬🇧.

Der eigene User Agent kann z.B. mittels der Webseite Pipelight diagnostic 🇬🇧 getestet werden. Wichtig bei anderen Testseiten ist, dass nicht nur der User Agent überprüft wird, der per HTTP-Header gesendet wird, sondern auch der Wert von navigator.userAgent, der mit Hilfe von Javascript abfragt wird.

Firefox

Nach der Einbindung von User Agent Overrider 🇬🇧 in Firefox öffnet man die Einstellungen und fügt folgende zwei Zeilen zum Ende der Eingabebox hinzu:

Firefox 15/Windows: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1
Safari/OSX: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10

Anschließend wählt man die Option "Firefox 15/Windows", wenn man Silverlight oder "Safari/OSX", wenn man Unity3D nutzen möchten.

Problembehebung

Flashplayer installieren

Pipelight auf dem aktuellen Stand bringen:

sudo pipelight-plugin --update 

Einen Editor [4] öffnen, mit Root-Rechte und nach /usr/share/pipelight/install-dependency navigieren.

Bei # Set default return value bearbeitet man den Abschnitt wine-flash-installer) wie folgt:

# sind zu ändern
# INS=(install_flash "24_0_0_221")
INS=(install_flash "25_0_0_148")
# URL="http://fpdownload.macromedia.com/get/flashplayer/pdc/24.0.0.221/install_flash_player.exe"
URL="http://fpdownload.adobe.com/get/flashplayer/pdc/25.0.0.148/install_flash_player.exe"
# SHA="c4d38ca72b0e818d3418c020753132a3c95fccab4dd361b5486a151608689f5c"
SHA="ea80a074018b4de6217a04745b82190957f648246bc94919e9fafb5e5c00ae97"

Die Datei speichern und den Editor schließen.

Spätestens jetzt den Browser schließen und folgende Befehle im Terminal [3] ausführen:

pipelight-plugin --enable flash
sudo pipelight-plugin --create-mozilla-plugins 

Firefox starten.

Sollte dann unter "Extras → Add-ons → Plugins" der Flashplayer noch nicht zusehen sein, den Browser wieder schließen und den Befehl

sudo pipelight-plugin --create-mozilla-plugins 

nochmal ausführen.

Weitere Probleme

  • Falls nach einiger Zeit Probleme oder Fehler auftreten, besteht die Möglichkeit, das Benutzerverzeichnis von Pipelight manuell zu löschen:

    rm -rf ~/.wine-pipelight/ 

    Beim anschließenden Start des Browsers werden alle Plugins neu installiert und sollten so wieder funktionieren.

  • Falls das Plugin "Silverlight Plug-In 5.1.x" nicht (mehr) unter den Firefox Plugins (about:addons) auftaucht, dann folgenden Befehl ausführen und Firefox neustarten:

    sudo pipelight-plugin --create-mozilla-plugins 

  • Von der Benutzung der Firefox-Erweiterungen NoScript 🇩🇪 oder HTTPS Everywhere wird dringend abgeraten, da es hiermit zu Abstürzen der Pipelight-Plugins kommen kann!

  • Falls eine Webseite den eigenen Browser trotz aktiviertem und richtig eingestelltem User Agent als Linux-Browser erkennt, kann es helfen, die vorhandenen Cookies zu löschen (bekanntes Problem bei Maxdome.de).

  • Falls ein Bug erkannt wird, kann dieser als Fehlerbericht 🇬🇧 auf Launchpad erfasst werden.

Intern

Extern