È possibile configurare il browser del computer host come browser del sistema guest predefinito


8

Quindi voglio essere reindirizzato al mio browser del sistema host quando faccio clic su un collegamento nel sistema guest.

Nota che non voglio affatto avere un browser sul sistema guest.

Host: Windows 7

Ospite: GNU / Linux e KDE

Caso d'uso: ho 2 monitor, uno è per Linux (in esecuzione in VirtualBox) ma voglio avere un browser per entrambi, quindi quando faccio clic su un collegamento nel client IRC Linux voglio che questo collegamento venga aperto nell'esecuzione del browser sul sistema host .


1
Qual è la tua vera domanda in quanto sembra molto ampia?
Dave,

Chiarimento: stai dicendo: "Quando mi trovo nel browser Web Guest Gnu / Linux e faccio clic su un collegamento specifico, quindi minimizzo l'ospite, massimizzo il browser Web host e apro la pagina specifica". Oppure "Quando mi trovo nel browser Web Guest Gnu / Linux e faccio clic su un collegamento specifico, apro una pagina ospitata sull'host". O come sfogliare i file host dal guest, o qualcos'altro.
ctrl-alt-delor,

non nel browser web guest, kde ha l'app browser predefinita, voglio renderlo il browser dell'host.
CND

Dovrai dirmi cosa vuoi, non posso immaginare. Quindi 1) KDE ha uno strumento per impostare il browser predefinito. è corretto? 2) Vuoi che l'host usi un browser, come impostato in guest kde. è corretto?
ctrl-alt-delor,

1) Sì, KDE è il DE principale quindi le impostazioni -> applicazioni predefinite -> browser web 2) no, voglio che i collegamenti vengano aperti sul browser web dell'host quando voglio aprire alcuni collegamenti dal guest.
cnd

Risposte:


5

Un'altra risposta a causa di alcuni chiarimenti di seguito.

Come hai detto, puoi creare un piccolo script e impostarlo come browser predefinito nelle impostazioni di KDE. Per rendere queste cose nel modo più semplice possibile, devi semplicemente inviare il comando firefox al tuo computer host tramite SSH. Ecco un link che descrive come configurare un server SSH su Windows 7, http://codeoptimism.com/2010/10/08/SSH-on-Windows-7-the-full-awesome-implementation

Quindi lo script sarebbe semplice (non dimenticare di consentire l'esecuzione):

#!/bin/sh
ssh user@192.168.1.20 '/c/Program\ Files/Mozilla\ Firefox/firefox.exe $1'

Esegui questo comando prima di utilizzarlo come browser Web predefinito, poiché dovresti aggiungere la macchina nell'elenco degli host conosciuti. Dovrai anche impostare un'autenticazione con chiave pubblica, in modo che non richieda la password.

KDE4 shoud ti consente di specificare il percorso dello script da eseguire ogni volta che fai clic su un link.


Cosa pensi che potrebbe essere possibile utilizzando l'API di Virtualbox? L'aggiunta di un altro servizio (ssh) è un sovraccarico)
cnd

Ci ho appena dato un'occhiata, questa API sarebbe utile solo sul lato hardware, come il controllo di mouse, tastiera, BIOS, ... Puoi associare gli eventi sul mouse con esso, ma restituirebbe solo il coordinate relative o assolute del mouse.
Axel Isouard,

Ne dubito ancora, ma forse hai ragione e ssh è l'unico modo per eseguire qualcosa sull'host ma è triste, eseguire server ssh su una macchina host non è proprio quello che volevo, ma è una soluzione e rispondi pienamente alla domanda. Forse me ne accorgerò un po 'più tardi, grazie.
CND

1

Non ci sono soluzioni popolari online per questo, ma penso che potresti provare a creare due plugin (con Greasemonkey, NPAPI o FireBreath), e sarebbe un po 'più difficile dal momento che il tuo computer host è Windows 7 come non lo so qualsiasi modo per eseguire un comando da remoto come usare SSH.

  • Uno per il tuo sistema host, che ascolta una porta per le connessioni in entrata e ottiene l'ordine di navigare attraverso un collegamento su cui farai clic nel browser del tuo sistema ospite.

  • Un altro per il tuo sistema guest, che si collegherà al tuo ascoltatore e invierà un pacchetto contenente il link per passare.

Se ti senti bene con questa soluzione e sei pronto per iniziare, ti suggerisco di chiedere a StackOverflow se hai bisogno di aiuto mentre lo fai.

In bocca al lupo.


Virtualbox non è ssh ... Devo agganciare quando il link arriva al browser, quindi reindirizzarlo a VirtualBox in qualche modo - quindi ci sono 2 diversi lati della domanda. Forse la shell me lo chiede su StackOverflow perché riguarda l'API VBox e gli script?
cnd

Non vuoi avere un browser nella tua macchina ospite, vuoi fare clic sui collegamenti che appaiono nei terminali o in altre applicazioni?
Axel Isouard,

sì, ad esempio nella mia applicazione client IRC.
cnd

Va bene, dipenderà completamente dall'applicazione IRC, dovrai fare la stessa cosa che ho detto per ogni tipo di applicazione che vorresti essere reindirizzato, non so davvero come rilevare un clic del mouse su un link in modo generico.
Axel Isouard,

non c'è bisogno di rilevare un clic del mouse o farlo per qualsiasi applicazione che voglio sostituire l'applicazione del browser Web predefinita con un qualche tipo di script che mi reindirizzerà (in qualche modo) all'host.
cnd

0

Su un sistema crea un demone che ascolta le richieste e apre gli URL in un browser.
Sull'altro sistema imposta il tuo browser predefinito su qualcosa che invoca tale richiesta.


Quindi la prima parte di questo è un server HTTP che ascolta le richieste sulla macchina in cui si desidera aprire il browser. Su una richiesta in arrivo apre (in un browser) l'URL fornito come argomento di una richiesta POST.

Sceglierne uno:

Dovresti aggiungere questo script all'avvio, dovrebbe essere eseguito in background.


La seconda parte è qualcosa che invoca la richiesta.

Sceglierne uno:

È necessario designare questo script come browser predefinito.
In KDE: Applicazioni predefinite → Browser Web

Può anche essere usato come strumento da riga di comando: ./open_url.sh 'http://google.com/'


Gli script Python dovrebbero funzionare su tutti i principali sistemi con qualsiasi versione di Python abbastanza recente (sospetto 2.6+, 3.1+).

Su Windows, se non si desidera eseguire uno script Python in una finestra di comando, è necessario modificarne l'estensione in .pyw. Utilizzare Task Manager se si desidera arrestarlo (cercare pythonw.exe ).

L'adattatore di rete VirtualBox deve essere impostato su NAT (impostazione predefinita). Maggiori informazioni sull'indirizzo IP qui . La scelta del porto è arbitraria, sentiti libero di cambiare il 1337 in qualcos'altro ovunque.

Il server è sicuro perché ascolta solo le connessioni da localhost. VirtualBox lo fa funzionare in qualche modo. Ma se vuoi che funzioni in remoto, specifica l'indirizzo IP di ascolto come '0.0.0.0'o ''invece di 'localhost'.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.