Как запустить браузер на сервере
В данной статье, рассмотрим как установить браузеры Chrome и Firefox на Windows Server (на примере Windows Server 2008).
Для начала установите Windows Server 2008. С этим проблем возникнуть не должно, в случае, если вы заказали VDS с Windows Server у компании Friendhosting LTD, то система установится автоматически, а если же вы хотите установить самостоятельно, вручную, то используйте данную инструкцию по установке Windows Server из собственного iso.
После того как система Windows Server 2008 уже установлена, может возникнуть вопрос, как всё-таки установить на неё современный браузер, потому что Internet Explorer 8 уже морально устарел и не поддерживает работу большинства современных сайтов, а если и поддерживает, то возникает масса неудобств с некорректным отображением контента. Даже если сразу попытаться установить Chrome, используя для получения загрузчика Internet Explorer, то из этого может ничего не получиться, потому что может не работать кнопка загрузки для получения установщика и установка завершится, так и не начавшись.
Есть разные варианты, как это можно обойти. Например, загрузить full package Chrome для оффлайн установки, скачать portable версию Chrome и работать с ней, попытаться скопировать Chrome с компьютера, на котором он уже установлен и запустить его на рабочей системе Windows Server 2008. Но все эти варианты ненадежны и могут появиться ошибки в процессе их реализации. Ниже опишем ещё один проверенный вариант.
Установка Firefox на Windows Server
Для установки браузера на ваш сервер, нужно перейти на страницу Firefox и выполнить загрузку установочного файла.
После нажатия кнопки “Загрузить сейчас”, автоматическая загрузка может не произойти, поэтому нужно нажать “Щелкните здесь”, чтобы перейти к загрузке установщика в ручном режиме.
Переходите на страницу, с выбором языка, для установщика:
Скачиваем нужный файл, в нашем случае это Windows 64-bit и выполняем установку браузера Firefox.
С установкой проблем возникнуть не должно.
Готово, браузер Firefox на Windows 2008 установлен.
Установка Chrome на Windows Server
И выполняем загрузку, а затем установку.
Вот и всё, у нас установлено два современных браузера, без которых сейчас сложно представить себе работу с сайтами.
По этой причине я запускаю скрипт js на стороне клиента, используя Google хромированная консоль, этот скрипт сохраняет данные в LocalStorage который я использую после.
Проблема в том, что иногда у меня есть низкоскоростной интернет, или мне приходится запускать этот скрипт на моем компьютере, это занимает много времени. Может быть, не так много, но делать каждый день, это становится действительно проблематичным.
Я хотел сделать эту работу на стороне сервера, всегда есть высокая скорость интернета, и я бы хотел возможность запустить скрипт с моего телефона, всякий раз, когда
или где-нибудь, и я пытаюсь понять, как реализовать.
Мне нужен браузер на стороне сервера, который будет запускать JS, и просто все, что такой же как клиент.
- Запустить браузер
- Дождитесь загрузки страницы
- запустить скрипт js
Большинство серверов не имеют графический интерфейс и вернусь на терминал просто HTML-код.
Но есть много хост-сервисов, java-серверов и многое другое, не только apach или nginx. На Java, как я знаю, вы можете создать браузер своих собственных,
так что это вроде как можно бежать функция браузера на сервере.
Вопрос в том, есть ли готовые инструменты который я могу просто использовать, или, может быть, написать такую функциональность, но используя библиотеки, фреймворки, чтобы иметь возможность писать это как можно быстрее, не тратя много времени. Поскольку я не работаю над созданием браузера на стороне сервера, я просто хочу иметь возможность запускать некоторые js.
Я работаю с php, js, python. Ява только SE и на клиенте. JavaEE имеет много библиотек и множество возможностей. Может кто знает на каком языке
я мог бы понять это. Любые фреймворки, или, может быть, на Linux это возможно, или есть хост-серверы, которые могут работать в качестве клиента, некоторые компании, я думаю, делают такого рода персонал, чтобы выполнять какую-то работу автоматически.
Я думал о фантомах или ноделях, но я для них новичок, и, думаю, я бы потратил много времени без результата.
Любые советы, ссылки, мнения, идеи очень помогли бы мне, спасибо .
Phantomjs работает, но вы не можете войти с помощью Phantomjs, возможно, потому что он не хранит cookie или данные сеанса, или, может быть, нет заголовков, поэтому вместо использования программ веб-скреппера просто используйте настоящий браузер на сервере
PhantomJS действительно неудобен, неудобен или что-то еще, для тестирования вы не получаете никакой информации, это занимает слишком много времени, вы не можете запустить только js-скрипт.
SetTimeout внутри оценки, кажется, не работает, даже проверка на это занимает много времени
valuJavascript зависает (он не запускает phantom.exit (0)), вам нужно перезапустить cmd и перейти к cd и снова ввести все команды.
Очень простые манипуляции перерастают в огромные проблемы. Я не знаю, почему фантомы были созданы, это было только для того, чтобы захватить или сделать действительно простой штат. Даже парсер из фантомов ужасен. Там нет учебников, ни одного использования. Нет графического интерфейса, сценарий внутри оценки выглядит так, как будто запускает js неправильно, действительно трудно определить и понять, как он работает внутри. У вас нет доступа, никакой информации, когда она возвращает пустую строку или просто нет. Никаких ошибок, просто ничего. Было ли это популярно, я не знаю, я слышал раньше о фантомах, кажется, просто ничего, безобразно, бесполезно.
Я думал о WebDriver, например, селен, нет необходимости запускать селен на клиенте, запуск на сервере кажется немного дороже. Нет хостинга, который бы давал вам vds с графическим интерфейсом, а не с сервером ubuntu, потому что вам нужен браузер.
У меня есть сценарий, который работает на JS, и он имеет несколько функций, а не только синтаксический анализ, своего рода бот, который анализирует пользовательские данные, следует, отписывает, публикует данные и запускает, бросает пользователей. Вопрос был «Как запустить функциональность браузера на сервере», я просто хотел эмулировать браузер с помощью программы, запускаемой сразу для 100 учетных записей на сервере, но я думаю, это невозможно. Возможно, я закрою вопрос решением «Нет решения, вы не можете запустить браузер на сервере». Использование WebDriver слишком дорого. Нет никакой программы, для веб-драйверов вы могли бы использовать сразу Ex: Chrome, Firefox, Opera, Yandex и, кажется, все, но они также используют много оперативной памяти, что слишком дорого на VDS-сервере.
Решение
Я думаю, что вы можете использовать phantomjs , Я использовал это для завершения многих пауков, которые нуждаются в операции входа в систему или загрузки JS.
Вы можете войти, используя Phantomjs, и он может установить cookie, данные сеанса и заголовки запроса. Все, что вам нужно сделать, это найти метод, как это:
phantomjs Войти в Instagram
Другие решения
Оба сценария вдохновили меня на создание утилиты, не требующей входа в систему. Это хорошее место для начала, по крайней мере.
привет всем. просьба не оставлять без ответа хочу при установке debian выбрать лишь установку х сервер. смогу ли я запусить полноценный браузер в таком случае? или научите ,что нужно сделать, чтобы запустить этот чертов браузер чисто из терминала не имея ничего кроме х сервера. спасибо
Конечно сможешь, вот это в .xinitrc напиши:
chrome замени на твой браузер.
Теперь ты ничего нормально запустить не сможешь.
P. S. Запускать x-сервер вот так:
спасибо за ответы, но было бы просто офигенно, если бы они еще были понятны. вы пишите, что после того, как я выполню то что вы написали, то после этого вообще нормально запусить ничего не смогу. как это понимать?
Окружение это просто хомячковые программы, они не обязательны.
Чтобы запустить что-то ещё, тебе нужно будет переключаться в соседний терминал и запускать что-то, такскать окошки, ты, конечно, не сможешь.
ребета, стопэ. если я могу теоретически запускать приложения без графического окружения рабочего стола, то почему у меня не выходит такой фокус? : ctrl+alt+f1 -выхожу и через терминал пытаюсь запусить установленый уже у меня бразер. и ничего не выходит, выдает что приложение не нейдено. почему? что нужно сделать, что установить , чтобы все получалось на системе в которой кроме х сервера и установленного браузера ничего нет. браузер будет установлен через терминал
Покажи, что ты вводишь в терминал, и где у тебя x-сервер.
медведей учат ездить на велосепеде. может быть смогу. подробнее пожалуйста, что нужно сделать? устанаваливаю дебиан, выбираю при установке лишь х сервер. захожу в терминал, скачиваю deb пакет с браузером, устанавливаю его. и что, теоретически его можно запустить? если да , то как?
display=:0.0 путь до файла ну и тд
отлично))) спасибо ребята и еще минуту важего драгоценного времени. а если вообще взять и установить сервеный линукс. с него я смогу юзать интернет? в нем браузер полноценный могу запустить?
Серверный, тебе название не говорит? Сможешь.
в нем браузер полноценный могу запустить?
Сможешь.
Серверный линукс от обычного форматов исполняемых файлов не отличается.
не много поясню. я не хочу ничего видеть кроме терминала и приложения , которое я запущу через него. то есть установив debian сервер или убунту сервер смогу запусить на нем браузер яндекс или мозила например, так? если да, то как это сделать?
смогу запусить на нем браузер яндекс или мозила например, так?
Вот так, вроде, ставится мозилла.
я не хочу ничего видеть кроме терминала и приложения
В таком случае тебе больше подойдёт какой-нибудь ratpoison как оконный менеджер.
Просто без него браузер перекроет терминал, и придётся закрывать браузер, чтобы открыть терминал.
Я выше описал, там xterm открывается всё-таки.
запускал так firefox. жалкое зрелище: меню не работает, контекстное тоже не открывается, адресная строка и строка поиска ведут себя очень странно, стирая то, что пытаешься написать, выбор поисковика не работает.
лучше поставить какой-нибудь минимальный wm.
я просто так уже запутался, что не прочитал . извините
Делай так, как делает Mozilla.
TMW ставь и работай.
Для начала - запусти в консоле
Короче, не слушай ты этих красноглазых гентушников. У меня стоит Арч, но в дебиане все аналогично. Сначала ты устанавливаешь базовую систему с mini.iso образа, далее ставишь X-сервер (графику). Теперь, тебе нужен любой базовый виндовменеджер (WM) чтобы отрисовывать окошечки. Попробуй к примеру openbox либо dwm, это достаточно минималистичные вм. Потом устанавливай лису. Чтобы запустить графику с браузером, тебе нужен .xinitrc файл. Делаешь вот так:
Открываешь его в терминале через nano (командой nano
/.xinitrc) и в самом конце тебе надо добавить примерно такие строки:
exec openbox & exec firefox
Запускать иксы командой startx
Чтобы переключаться между браузером и терминалом, используй ctrl+alt+F1 и ctrl+alt+F2
Хочу, чтобы клик по ссылке запускал указанную по ссылке программу с указанными параметрами. Без всяких вопросов. Клик - и крутится.
Такое сегодня хоть в одном браузере возможно?
А жаль. Вот бы дырище было :)
А что если это оформить в виде веб скрипта, крутящегося на каком-то простеньком сервере? А скрипт уже может запустить все что угодно.
запускай на локальной машинке простенький веб сервер, ссылка на странице пускай ведет на него, во время обработки запроса твой вебсервер пусть уже выполняет программку. Только надо будет повозиться с xauth, что бы вебсервер от своего псевдопользователя смог запускать проги в сессиях обычных юзеров.
>Такое сегодня хоть в одном браузере возможно?
ага, rm -rf? размечтался!
>А что если это оформить в виде веб скрипта, крутящегося на каком-то простеньком сервере?
Слишком геморройно. Коллекция и веб-сервер на одной машине, просмотр и запуск (по NFS) - с другой. Вариант - с сервера делать ssh+exec на другую машину не особо покатит, так как смотреть нужно с разных машин :) Хотя, если определять на ком запускать по IP. Можно, но всё равно геморройно.
Да, в IE2 это работало и было очень удобно для интранета :)
хотя можно заюзать и фишки xul
Под Linux есть ActiveX?
Да поставь винду, и скажи себе "да зато у меня линакс на сервере".
ЗЫ NFS клиент под винду должен быть, сам видел 100 лет назад.
Или можно через хелпер-аппликейшн. Когда браузер сам стартует прогу по типу файла.
> Коллекция и веб-сервер на одной машине, просмотр и запуск (по NFS) - с другой.
Дурацкий вопрос. Как запустить из HTML программу по ссылке? :)
Дурацкий ответ: По клику на ссылке javascript пишет в cookie команду с параметром. А демон (по inotify) парсит файл (sqlite базу) кукисов и исполняет команду.
Почему бы не передать в адресной строке команду с параметром?
Почему бы не передать в адресной строке команду с параметром?
Передать куда/кому? Локальному демону? Можно и так. Можно по-быстрому накостылить скрипт с netcat в качестве сетевого интерфейса.
>Под Linux есть ActiveX?
Но есть Java Plug-in.
Если апплет распространять с сертификатом (подписанный апплет), которому доверяет пользователь, то можно запускать сторонние приложения из апплета, давать апплету такие же права, как локальному приложению.
Но не всякий пользователь захочет/сможет импортировать сертификат для доверенных апплетов в собственное хранилище ключей Java (JKS).
ну это для лохалкоста, так что пойдет
чет я не догоняю. В любом браузере есть возможнсть открытия файлов разных типов (скорее всего MIME) разными прогами. Почему нельзя открывать выполяемые файлы bash'ем, например.
С параметрами думать надо.
А ещё можно браузер настроить на то, чтобы открывал данный тип ссылок данной программой.
> Конкретные функции не помню, но идея такова: яваскрипт ведь умеет писать в файлы?
> ну это для лохалкоста, так что пойдет
Для локалхоста можно вообще greasemonkey поставить со всеми правами на локальные файлы.
А если посмотреть в сторону джава-апплета?
А что, в этих ваших линуксах браузеры позволяют запускать файлы? НЕ ВЕ РЮ
Как-то браузеры могут iTunes открывать. Вот в эту сторону нужно и копать.
если правильно скучерявится то могут
Я так понимаю, можно сделать custom protol (exe:// например). Нужно просто ассоциации правильно прописать.
>ЗЫ NFS клиент под винду должен быть, сам видел 100 лет назад.
Угу. Но только даже сегодня нет работающего с русскими именами или со всякими «:» в имени.
Не катит. Мне нужно разное виде запускать в разных плейерах. Скажем, есть такие, которые только vlc корректно показывает. Как из mythtv вызывать vlc или kaffeine? Опять же, мне нужен просмотр деталей о фильма в виде полноценной страницы - с обложкой, сюжетом, ролями. Писать свой плагин? Проще придумать что-то с нормальным браузером. Ну и я так и не добился от mythtv безупречной работы. То с русским проблемы, то тормозит, то глючит.
Читайте также: