Как я могу SSH к сеансу vncserver

Я хочу запустить тесты веб-страницы, он будет использовать селен для запуска теста на Firefox.

А пока я хочу использовать vnc viewer, чтобы увидеть прогрессирующие тесты.

Но я не хочу вводить команды в VNC Viewer. Могу ли я подключиться к сеансу vnc, чтобы я мог запустить тест с помощью putty или других клиентов ssh.

Например, если я наберу firefox Команда Я вижу, как браузер открывается в программе просмотра.

Спасибо

1 ответ

Длинное сообщение предупреждение!

Вот что я думаю, вы спрашиваете:

  • У вас есть экземпляр VNC-сервера, работающего на Selen.
    • Этот экземпляр контролируется чем-то или сценарием на selenium, или каким-либо другим клиентом vnc.
    • Этот экземпляр имеет виртуальный кадровый буфер и сеанс xwindows, на котором вы можете запустить свой тест.
  • Тогда вы хотите два вида соединений
    • Возможность ввода команды, например, ssh в оболочку на терминале x-session на поле selenium
    • Возможность просмотра из системы на основе Putty, которую вы можете запускать и останавливать, не влияя на работу программ в окне селена. Я предполагаю, что средство просмотра является системой Windows, потому что это то, на чем работает putty.

Это требует от вас настроить четыре вещи.

1) Сеанс на селеновом ящике; 2) туннельные VNC-туннели; 3) управляющий сеанс VNC; 4) сеансы зрителя.

1) Вам нужен сеанс Xvnc на поле селена. Вы захотите начать это с помощью vncserver, потому что он многое сделает для вас. Выберите неиспользуемый порт VNC (они находятся в диапазоне 5900 + номер дисплея). Вы предоставляете номер дисплея (например,: 2), геометрию (я считаю, что я также должен предоставить глубину), а для безопасности - аргумент localhost.

Это заставляет команду выглядеть примерно так:

vncserver :2 -geometry 1280x1024 -depth 24 -localhost -AlwaysShared

Если вы запускаете эту команду впервые, она запросит у вас пароль, и по умолчанию этот пароль будет использовать одностороннее шифрование и будет храниться в вашем домашнем каталоге, ~/.vnc/passwd . (Проверьте справочные страницы на наличие необходимых разрешений.) Опять же, если это ваш первый раз, сценарий vncserver также настроит еще 1 файл и каждый раз при запуске создает два новых файла: (.log и .pid).

  • xstart это сценарий оболочки, который запускает сеанс x в буфере виртуальных кадров. Было бы полезно, если бы кто-то мог дать ссылку на это - это обидно, и, кажется, отличается в каждой системе. Это сложно, используя файлы, которые находятся вне вашего домашнего каталога. Я рекомендую иметь другого пользователя, в чьем пространстве вы можете запускать эти тесты. У вас гораздо больше шансов на успех с файлом xstart, предоставленным vncserver
  • hostname:session.log содержит выходные данные команд из сценария xstart. Это может быть удобно, чтобы выяснить, что происходит не так.
  • hostname:session.pid содержит идентификатор процесса сервера Xvnc, так что vncserver -kill:2 знает, кого убить.

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

Putty -> configuration -> SSH -> Auth (где вы указываете, где находится ваш закрытый ключ.

Putty -> configuration -> SSH -> Auth (где вы указываете, где находится ваш закрытый ключ configuration -> SSH -> Auth (где вы указываете, где находится ваш закрытый ключ">

Здесь вы вводите имена портов для туннелей - записи настроены для добавления удаленного: 5902 <-> localhost: 5901

Здесь вы вводите имена портов для туннелей - записи настроены для добавления удаленного: 5902 <-> localhost: 5901 localhost: 5901">

3) Настройте управляющее соединение. У вас есть два варианта.

  1. Вы можете установить переменную отображения в вашем терминале Putty

bash% export DISPLAY =: 2
bash% firefox &

  1. После того, как туннели запущены и работают, вы можете подключить как свой клиент vnc, так и клиент vnc для просмотра. Я использую сжатый VNC на Windows, и он работает просто отлично. Обратите внимание, что вместо того, чтобы давать имя удаленного хоста в silentvnc, вы предоставляете соединение localhost:2, как показано на рисунке ниже:

используйте кнопку конфигурации в красном кружке, чтобы перейти к следующему меню - Обратите внимание, что вы используете имя хоста 'localhost

используйте красную кнопку конфигурации в кружке, чтобы перейти к следующему меню

два красных кружка показывают, как два варианта, которые вы хотите установить

Два красных кружка показывают две опции, которые вы хотите установить. Для управляющего соединения снимите флажок "Только просмотр".

** 4) Просмотр подключения! ** Вы устанавливаете это так же, как вариант 2 выше, но отметьте флажок только для просмотра.

В обоих случаях вы, вероятно, захотите проверить запрос на совместную сессию

Дайте мне знать, как это работает для вас.

Другие вопросы по тегам