Так как я пользуюсь при создании сайта отладкой сразу в двух Операционных Системах, а до ноутбука с Windows приходиться еще и тянуться (это при наличае природной толики ленивости в организме) — захотелось придумать способ, самый простой, при котором я мог-бы открывать страницы в браузере ноутбука со своего компьютера под управлением ОС Xubuntu.

Самым удобным способом мне показалось открытие меню по горячей клавише, где я мог бы задать URL, который необходимо открыть на Windows. И именно такой идеей я и руководствовался, создавая свой «ленивый костыль». 🙂

Я написал HTML страницу, в которой используется Java Script для проверки методом GET, на предмет изменения данных в файле у себя на локальном сервере в Xubuntu. И если данные в файле изменились с предыдущей проверки — в iframe на этой странице загружается URL, указанный в данном файле. Это часть, которая будет выполняться в OS Windows в браузере.

Для указания необходимого URL адреса я решил написать простую утилиту на FreePascal, которая брала бы данные из формы ввода и записывала их (стирая предыдущие данные) в файл, к которому, собственно, и обращается написанный ранее Java Script. И запуск этой утилиты я повесил на нажатие «горячей клавиши».

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

Html страница:

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title>UPDATE SYNC </title>
	<style type="text/css">
		iframe.frame {
			width:100%;
			height:600px;
		}
	</style>
		<!-- Подключим jquery -->
	<script type="text/javascript" src="./jquery.js"></script>
	<script type="text/javascript">
		<!-- Создадим GET запрос -->
		function upd() {
		$.get("./update", {
		  }, onupd
		  );
		}
			<!-- Напишем ф-цию обработки запроса -->
		function onupd(data){
			var eurl = document.getElementById('frame').src.trim();
			if(eurl.slice(-1) == '/') {
				eurl = document.getElementById('frame').src.slice(0, -1);
			}
			if(data.trim() != eurl) {
				document.getElementById('frame').src = data.trim();
			}
		}
			<!-- Здесь используется таймер, по которому происходит запрос к файлу - 1000=1 секунда -->
		function start(){ idIntrv = setInterval('upd()', 6000);}
		function stop(){  clearInterval(idIntrv);}
	</script>
</head>
<body>
	<iframe id="frame" src="http://192.168.0.31/now/" name="preview-frame" frameborder="0" noresize="noresize" class="frame"></iframe>
	<a href="javascript:start();">Следить</a> <br />
	<a href="javascript:stop();">Остановить слежку</a>
</body>
</html>

Код во FreePascal еще проще (привожу обработчик нажатия на кнопку):

var
  Form1: TForm1;
  upFile : text;

procedure TForm1.Button1Click(Sender: TObject);
begin
     system.assign   (upFile, './update'); //Укажем файл
     rewrite  (upFile); //Откроем его для перезаписи
     writeln (upFile, Form1.Edit1.text); //Запишем значение, указанное в поле ввода (его нужно создать)
     system.close (upFile); //Закрываем файл
end;

Скачать архив со всем готовым:
https://maddot.ru/share/files/1403687202_upd.zip ~4 MB

В составе:
jquery.js
index.html
update — файл, который перезаписывает утилита на FPC, ему нужны права на чтение и записьэ
updater — сама утилита

У меня все это лежит на локальном сервере в каталоге /upd.