Ich verwende VirtualBox OSE unter Ubuntu 10.04.
Ich habe eine Windows 7-Gast-VM, die ich fast ausschließlich für MS Outlook verwende, um auf mein Exchange-Postfach zuzugreifen. Wenn ich in Outlook auf eine URL klicke, wird diese offensichtlich im IE in der Gast-VM geöffnet. Gibt es eine Möglichkeit, eine Umleitung durchzuführen?
Wenn ich auf eine URL in der VM klicke, soll sie in meinem Standardbrowser auf dem Ubuntu-Host geladen werden.
browser
virtualbox
redirection
integration
ThatGraemeGuy
quelle
quelle
Antworten:
Wenn es so etwas gäbe, wäre es eine enorme Sicherheitslücke.
Sie können höchstens die freigegebene Zwischenablage verwenden: Wenn Gastzugaben installiert sind, kann die Zwischenablage Ihres Gastbetriebssystems für Ihr Hostbetriebssystem freigegeben werden.
quelle
Theoretisch ja. Sie können einen Stub-Handler innerhalb des Gasts veranlassen, eine Nachricht an einen Daemon zu senden, der auf dem Host ausgeführt wird und tatsächlich die richtige Anwendung aufruft. Ich habe selbst noch nie ein solches Setup gesehen.
quelle
gnome-open
nur dievirbr0
Schnittstelle verwenden und anhören . Unter Windows würde ich wahrscheinlich immer noch Ruby verwenden, um die Nachricht zu senden.Ich hatte die gleiche Idee wie Ignacio Vazquez-Abrams und habe sie umgesetzt.
Der erste Teil davon ist also ein HTTP-Server, der Anforderungen auf dem Computer abhört, auf dem Sie den Browser öffnen möchten. Bei einer eingehenden Anfrage wird (in einem Browser) die URL geöffnet, die als Argument für eine POST-Anfrage angegeben wurde.
Wähle eins:
Sie sollten dieses Skript zum Start hinzufügen, es soll im Hintergrund ausgeführt werden.
Der zweite Teil ruft die Anfrage auf.
Wähle eins:
Sie sollten dieses Skript als Standardbrowser festlegen. Wie das geht, ist ... eine separate Frage. Sie können nach "Windows-benutzerdefinierte ausführbare Datei als Standardbrowser festlegen" suchen .
Es kann auch als Befehlszeilenprogramm verwendet werden:
./open_url.py 'http://google.com/'
Die Python-Skripte sollten auf allen wichtigen Systemen mit einer einigermaßen aktuellen Python-Version funktionieren (ich vermute 2.6+, 3.1+).
Wenn Sie unter Windows nicht möchten, dass ein Python-Skript in einem Befehlsfenster ausgeführt wird, sollten Sie seine Erweiterung in ändern
.pyw
. Verwenden Sie den Task-Manager, wenn Sie ihn stoppen möchten (suchen Sie nach pythonw.exe ).Der VirtualBox-Netzwerkadapter sollte auf NAT eingestellt sein (Standardeinstellung). Mehr zur IP-Adresse hier . Die Wahl des Hafens ist willkürlich. Sie können 1337 überall in etwas anderes ändern .
Der Server ist sicher, da er nur Verbindungen von localhost abhört. Mit VirtualBox funktioniert es irgendwie. Wenn Sie jedoch möchten, dass dies remote funktioniert, geben Sie die abhörende IP-Adresse als
'0.0.0.0'
oder''
anstelle von an'localhost'
.quelle
Wenn Sie Google Chrome unter beiden Betriebssystemen als Browser verwenden, kann der Push-Browser hilfreich sein: http://pushbrowserapp.com/
Grundsätzlich handelt es sich um eine Erweiterung, mit der Sie Registerkarten von einem Gerät an ein anderes senden können. Derzeit werden Chrome- und iOS-Geräte unterstützt. In Ihrer Situation würden Sie in Outlook auf den Link klicken, er würde in Chrome in der VM geöffnet, Sie würden auf das Push-Browser-Symbol klicken und die Registerkarte würde in Chrome auf Ihrem Ubuntu-Computer geöffnet.
quelle
Ich bin in der gleichen Situation. Hier ist meine bessere Lösung als nichts:
Ich habe das Skript erstellt, das Folgendes
~/bin/pburl
enthält:Dabei wird jede URL, die Sie in Ihrer Zwischenablage haben, mit dem Standard-URL-Handler von gnome (in meinem Fall Chrome) als URL geöffnet.
Meine Verwendung ist:
pburl
.Presto! Die URL wird geöffnet.
Es ist nicht so gut wie nur ein Klick, aber es verkürzt die gesamte Routine zum Kopieren, Öffnen, Browser-Einfügen.
quelle
Ich habe keine 50 Punkte, daher kann ich unter Oleh Pyrpins Beitrag keinen Kommentar abgeben.
Ich habe einige Verbesserungen:
Oleh und ich haben privat korrespondiert und er hat Informationen zum Einrichten einer systemd-Benutzereinheit bereitgestellt. Dies kann verwendet werden, um das Skript beim Booten innerhalb der Benutzersitzung auszuführen (damit der Browser des Benutzers angezeigt wird). Anweisungen finden Sie hier: [ https://gist.github.com/oprypin/0f0c3479ab53e00988b52919e5d7c144[1]
Ich habe einige Verbesserungen am Python-Servercode vorgenommen. Ich verwende Host Only Networking in VirtualBox und verwende iptables, um Zertifizierungsdaten aus der VM weiterzuleiten. Ich fand heraus, dass das Server-Python-Skript abstürzen würde, wenn das Netzwerk von VirtualBox nicht aktiv wäre. Meine Änderung prüft, ob das Netzwerk bereit ist und wenn nicht, schläft 10 Sekunden lang und versucht es erneut.
Ich habe die Windows-Gastseite etwas anders implementiert. Ich habe einen Windows-Port von Curl (Quelle unbekannt, sorry). Ich dachte, ich würde das verwenden, anstatt Python auf dem Windows-System zu installieren. Wenn Sie keine Locke haben, können Sie das im ersten Link bereitgestellte Client-Python-Skript verwenden.
Ich habe eine Batch-Datei url_redirect_client.bat erstellt, die Folgendes enthält:
Ich habe die obige Batch-Datei mit diesem Registrierungsschlüssel zum Standard-Windows-Webbrowser und -Handler von .htm und .html gemacht:
Ich habe dies für ein paar Tage ausgeführt und es scheint gut zu funktionieren. Ich bin auf ein Problem mit einer extrem langen URL von Amazon gestoßen, dies ist fehlgeschlagen. Möglicherweise tritt bei der Verwendung des clientseitigen Python-Skripts des ursprünglichen Autors dieses Problem nicht auf, oder es ist möglicherweise eine andere Person erforderlich, um darauf aufzubauen und es zu verbessern.
quelle