Можно ли настроить браузер хост-машины в качестве браузера гостевой системы по умолчанию

8

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

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

Хост: Windows 7

Гость: GNU / Linux & KDE

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

CND
источник
1
Каков ваш настоящий вопрос, поскольку он кажется очень широким?
Дейв
Пояснение: Вы говорите: «Когда я нахожусь в веб-браузере Guest Gnu / Linux и нажимаю на конкретную ссылку, затем сверните гостя, разверните веб-браузер хоста и откройте конкретную страницу». Или «Когда я в веб-браузере Guest Gnu / Linux и нажимаю определенную ссылку, откройте страницу, размещенную на хосте». Или как я могу просмотреть файлы хоста от гостя, Или что-то еще.
Ctrl-Alt-Delor
не в гостевом веб-браузере, kde имеет браузерное приложение по умолчанию, я хочу сделать его браузером хоста.
2012 года
Тебе придется сказать мне, что ты хочешь, я не могу догадаться. Итак, 1) KDE имеет инструмент для установки веб-браузера по умолчанию. это верно? 2) Вы хотите, чтобы хост использовал какой-то браузер, как это установлено в гостевом kde. это верно?
Ctrl-Alt-Delor
1) Да, KDE является основным DE, поэтому настройки -> приложения по умолчанию -> веб-браузер 2) нет, я хочу, чтобы ссылки открывались на веб-браузере хоста, когда я хочу открыть какую-то ссылку у гостя.
2012 года

Ответы:

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 позволяет указать путь к скрипту, который будет запускаться при каждом нажатии на ссылку.

Аксель Изуард
источник
Как вы думаете, может быть, это возможно при использовании Virtualbox API? Добавление еще одного сервиса (ssh) - это накладные расходы)
cnd
Я только что посмотрел на это, этот API был бы полезен только на аппаратной стороне, такой как управление мышью, клавиатурой, BIOS, ... Вы можете связать с ним события на мышке, но он только вернет относительные или абсолютные координаты мыши.
Аксель Изуард
Я все еще сомневаюсь в этом, но, возможно, вы правы, и ssh - единственный способ запустить что-то на хосте, но это печально, запуск сервера ssh на хост-машине не совсем то, что я хотел, но это решение и полностью решает вопрос. Может быть, я осознаю это позже, спасибо.
cnd
1

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

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

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

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

Удачи.

Аксель Изуард
источник
Virtualbox - это не ssh ... Мне нужно перехватить, когда ссылка поступает в браузер, а затем как-то перенаправить ее на VirtualBox - так что есть 2 разные стороны вопроса. Может быть, я спрашиваю об этом в Stackoverflow, потому что речь идет о VBox API и скриптах?
12:44
Вы не хотите иметь браузер на своем гостевом компьютере, хотите ли вы нажимать ссылки, появляющиеся в терминалах или других приложениях?
Аксель Изуард
да, например, в моем клиентском приложении IRC.
2012 года
Ладно, это будет полностью зависеть от приложения IRC, вам придется делать то же самое, что я сказал, для каждого типа приложений, которые вы хотите перенаправить, я действительно не знаю способа обнаружить щелчок мышью по ссылке в общем виде.
Аксель Изуард
нет необходимости обнаруживать щелчок мышью или делать это для любого приложения. Я хочу заменить приложение веб-браузера по умолчанию каким-то сценарием, который перенаправит меня (каким-то образом) на хост.
2012 года
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'.

Олег Припин
источник