8

Поэтому я хочу, чтобы меня перенаправляли в браузер хост-системы, когда я нажимал какую-то ссылку в гостевой системе.

Обратите внимание, что я вообще не хочу иметь браузер в гостевой системе.

Хост: Windows 7

Гость: GNU/Linux & KDE

Вариант использования: у меня есть 2 монитора, один для Linux (работает в VirtualBox), но я хочу иметь один браузер для обоих, поэтому, когда я нажимаю на какую-то ссылку в IRC-клиенте Linux, я хочу, чтобы эта ссылка открывалась в работающем браузере на хост-системе ,

3 ответа3

5

Еще один ответ из-за некоторых разъяснений ниже.

Как вы сказали, вы можете создать небольшой скрипт и установить его в качестве браузера по умолчанию в настройках KDE. Чтобы сделать это проще всего, вы должны просто отправить команду firefox на хост-компьютер через SSH. Вот ссылка, описывающая, как настроить SSH-сервер в Windows 7, http://codeoptimism.com/2010/10/08/SSH-on-Windows-7-the-full-awesome-implementation

Тогда сценарий будет таким простым (не забудьте разрешить выполнение):

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

Запустите эту команду, прежде чем использовать ее в качестве веб-браузера по умолчанию, так как вам придется добавить компьютер в список известных хостов. Вам также нужно будет установить аутентификацию с открытым ключом, чтобы он не запрашивал пароль.

KDE4 позволяет указать путь к скрипту, который будет запускаться при каждом нажатии на ссылку.

1

Для этого не существует популярных онлайн-решений, но я думаю, что вы можете попытаться создать два плагина (с Greasemonkey, NPAPI или FireBreath), и это будет немного сложнее, так как ваш хост-компьютер - Windows 7, как я не знаю любой способ выполнить команду удаленно, как с использованием SSH.

  • Один для вашей хост-системы, который прослушивает порт для входящих соединений и получает заказ на переход по ссылке, которую вы щелкнете в веб-браузере вашей гостевой системы.

  • Еще один для вашей гостевой системы, который подключится к вашему слушателю и отправит пакет, содержащий ссылку для прохождения.

Если вы чувствуете себя хорошо с этим решением и готовы начать, я предлагаю вам спросить StackOverflow, если вам нужна помощь во время его выполнения.

Удачи.

0

В одной системе создайте демон, который прослушивает запросы и открывает URL-адреса в браузере.
В другой системе установите в браузере по умолчанию что-то, что вызывает такой запрос.


Итак, первая часть этого - HTTP-сервер, который прослушивает запросы на компьютере, на котором вы хотите открыть браузер. При входящем запросе он открывает (в браузере) URL-адрес, указанный в качестве аргумента запроса POST.

Выбери один:

Вы должны добавить этот скрипт в автозагрузку, он должен работать в фоновом режиме.


Вторая часть - это то, что вызывает запрос.

Выбери один:

Вы должны назначить этот скрипт в качестве браузера по умолчанию.
В KDE: Приложения по умолчанию → Веб-браузер

Его также можно использовать в качестве инструмента командной строки: ./open_url.sh 'http://google.com/'


Скрипты Python должны работать на всех основных системах с любой достаточно свежей версией Python (я подозреваю, 2.6+, 3.1+).

В Windows, если вы не хотите, чтобы скрипт Python запускался в командном окне, вы должны изменить его расширение на .pyw . Используйте диспетчер задач, если хотите остановить его (ищите pythonw.exe).

Сетевой адаптер VirtualBox должен быть настроен на NAT (настройка по умолчанию). Подробнее об IP-адресе здесь. Выбор порта является произвольным, смело меняйте 1337 на что-то другое везде.

Сервер защищен, потому что он слушает только соединения с локального хоста. VirtualBox заставляет его работать как-то. Но если вы хотите, чтобы это работало удаленно, укажите прослушиваемый IP-адрес как '0.0.0.0' или '' вместо 'localhost' .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .