Startseite
» LINUX
»
So führen Sie Safari unter Linux aus: Optionen für Fernzugriff und WebKit
So führen Sie Safari unter Linux aus: Optionen für Fernzugriff und WebKit
Apple bietet keine aktuelle, offiziell unterstützte Safari-Version für Linux an. Die letzte Windows-Version, Safari 5.1.7, erschien 2010 und ist veraltet. Verwenden Sie einen Remote-Mac für die aktuelle Safari-Version oder Playwrights WebKit-Build für Linux-Tests; WebKit ist nicht Safari.
Schematisch, keine Live-Paketsuche: Apple veröffentlicht keine aktuelle Linux-Version von Safari.
Wählen Sie die Methode, die zu Ihrem Ziel passt.
Ihr Ziel
Verwenden
Was Sie erhalten
Öffnen oder testen Sie eine Website in Safari.
Eine Remote-macOS-Browsersitzung
Safari läuft auf einem Mac und wird von Linux aus gesteuert.
Führen Sie automatisierte Browserprüfungen unter Linux durch
Playwright WebKit
Ein auf WebKit basierender Browser, nicht die Safari-Version.
Normales Surfen unter Linux
Ein unterstützter Linux-Browser wie Firefox oder Chromium
Ein gepflegter Browser mit Linux-Updates
Um Safari-spezifisches Verhalten, Erweiterungen, Medienunterstützung oder eine genaue Versionsnummer zu ermitteln, testen Sie dies bitte in der tatsächlichen Safari-Version unter macOS. Linux WebKit kann zwar Probleme mit der Engine aufdecken, aber nicht Apples Browser zertifizieren.
Verwenden Sie eine echte Safari-Sitzung unter Linux.
Ein Browsertestdienst ist auch ohne Mac eine unkomplizierte Option. BrowserStack Live bietet Cloud-Browsersitzungen und unterstützt unter anderem Safari. Die Übersicht und die aktuelle Browserliste finden Sie hier; die verfügbaren macOS- und Safari-Versionen können sich ändern.
Öffnen Sie das Dashboard eines Remote-Browsers. Melden Sie sich bei einem Dienst an, der Safari für macOS auf Desktop-Computern anbietet. Wählen Sie in der Geräte- oder Browserauswahl einen macOS-Desktop und eine verfügbare Safari-Version aus.
Starten Sie eine Sitzung und öffnen Sie Ihre Website. Geben Sie die Adresse der öffentlichen Website in das Browserfenster des Remote-Rechners ein. Der Browser läuft auf dem Remote-Mac; der Linux-Rechner zeigt diese Sitzung lediglich an und steuert sie.
Eine Remote-Sitzung ermöglicht es dem Linux-Desktop, einen auf macOS laufenden Browser zu steuern; diese schematische Darstellung ist kein Screenshot von BrowserStack.
Erreichen Sie ein lokales Entwicklungsgebiet
Wenn die Website nur auf Ihrem Linux-Rechner läuft, kann ein entfernter Browser localhost nicht selbstständig erreichen. Verwenden Sie den lokalen Testtunnel des Dienstes. BrowserStack unterstützt in der offiziellen Konfiguration eine Linux-Befehlszeilenanwendung für diesen Zweck.
Laden Sie die zu Ihrer Systemarchitektur passende Linux-Binärdatei aus den BrowserStack Local Testing-Anweisungen herunter und extrahieren Sie anschließend die ZIP-Datei.
Kopieren Sie Ihren Zugriffsschlüssel aus Ihren Kontoeinstellungen. Wechseln Sie in einem Terminal in den Ordner mit der extrahierten Binärdatei und führen Sie folgenden Befehl aus:
./BrowserStackLocal --key YOUR_ACCESS_KEY
Ersetzen Sie den Platzhalter durch Ihren eigenen Schlüssel und lassen Sie das Terminal während des Tests geöffnet. Starten oder starten Sie anschließend die Live-Sitzung mit aktiviertem lokalem Testen neu und geben Sie Ihre lokale Adresse ein, z. B. http://localhost:3000. Beenden Sie den Tunnel mit , Ctrl+Cwenn Sie fertig sind. Behandeln Sie den Zugriffsschlüssel wie ein Passwort und fügen Sie ihn nicht in öffentlichen Code ein oder geben Sie ihn weiter.
Der lokale Testtunnel leitet eine Entwicklungsseite an einen Remote-Browser weiter; dies ist eine konzeptionelle Ansicht, kein Service-Dashboard.
WebKit lokal mit Playwright ausführen
Für automatisierte Tests, die unter Linux oder in einer Linux-CI-Umgebung ausgeführt werden, kann Playwright seine WebKit-Version installieren. Auf einem System mit Python 3 erstellen Sie eine virtuelle Umgebung, installieren Playwright und laden die passende Browser-Binärdatei herunter.
Ein minimales Python-Skript kann diesen Browser starten und eine Seite laden:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.webkit.launch()
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
Führen Sie das Skript mit Python aus. Falls der Browser fehlende Systembibliotheken meldet, installieren Sie die WebKit-Abhängigkeiten für Ihre Distribution oder folgen Sie der Anleitung von Playwright zur Browserinstallation und den Systemvoraussetzungen . Führen Sie den Browserinstallationsbefehl nach einem Playwright-Update erneut aus, falls sich die erforderlichen Browser-Builds geändert haben.
Playwright WebKit ist ein separater Linux-Testbrowser, nicht das Safari-Fenster, das in dieser schematischen Darstellung daneben gezeigt wird.
Playwrights WebKit ist eine angepasste Version der WebKit-Quellen und keine offizielle Safari-Version. Es kann Änderungen gegenüber Safari enthalten. Das Verhalten kann je nach Betriebssystem variieren. Für eine optimale Übereinstimmung mit Safari empfiehlt Playwright die Verwendung von WebKit unter macOS, insbesondere für die Videowiedergabe.
Warum Wine und der alte Safari-Installer eine schlechte Wahl sind
Die alte Wine-Methode startete Safari für Windows, nicht eine aktuelle Linux-Version. Apple bezeichnet Safari 5.1.7 aus dem Jahr 2010 als veraltet. Wine kann keine fehlenden Sicherheitsupdates oder moderne Safari-Funktionen hinzufügen. Vermeiden Sie inoffizielle Installationsserver und verwenden Sie diesen Browser niemals für sensible Konten. Wenn Sie ihn für historische Testzwecke aufbewahren, trennen Sie ihn von Ihren alltäglichen Browserdaten.
Schnelle Fehlerbehebung
Die Remotesitzung kann localhost nicht öffnen: Stellen Sie sicher, dass der lokale Tunnel noch aktiv ist, die Live-Sitzung über aktiviertes lokales Testen verfügt und Ihr Entwicklungsserver auf dem in der URL angegebenen Port lauscht.
Playwright WebKit startet nicht: Überprüfen Sie, ob Linux-Bibliotheken fehlen, und befolgen Sie die Anweisungen zu den Systemabhängigkeiten Ihrer Distribution.
Ein WebKit-Test ist erfolgreich, aber Safari weicht weiterhin ab: Wiederholen Sie den Test im echten Safari unter macOS. Die beiden Umgebungen können sich hinsichtlich Browser-Patches und Plattformfunktionen unterscheiden.