Saltar al contenido

Cómo hacer que Sikuli funcione en modo sin cabeza

Solución:

Conseguí ejecutar correctamente sikuli en modo sin cabeza (sin monitor físico conectado)

Ubuntu: comprobar Xvfb.

Ventanas: instale el controlador de pantalla en la máquina (para que no tenga cabeza) desde los controladores de pantalla de las adiciones de invitados de virtualbox y use TightVNC para configurar de forma remota la resolución desde otra máquina.

Pasos detallados para windows 7

Asumir que:

  1. Máquina A: para ser una máquina sin cabeza, Windows 7, con servidor vnc listo (por ejemplo, servidor TightVNC instalado y esperando conexiones).
  2. Máquina B: se utilizará para configurar de forma remota el controlador de pantalla virtual en la máquina A.

pasos:

  1. Descargue el archivo iso de adiciones de invitados de virtualbox en la Máquina A desde aquí (para obtener la última versión, verifique la última versión aquí y descargue VBoxGuestAdditions_x.yziso)
    ingrese la descripción de la imagen aquí
  2. Extraiga el archivo iso (posiblemente con winrar) en un directorio (llamémoslo carpeta D)
    ingrese la descripción de la imagen aquí
  3. usando el símbolo del sistema cd a la carpeta D
  4. Extracción del controlador

    -Para extraer los controladores de 32 bits a “C: Drivers”, haga lo siguiente:

    • VBoxWindowsAdditions-x86 / extract / D = C: Controladores

    -Para los controladores de 64 bits:

    • VBoxWindowsAdditions-amd64 / extract / D = C: Controladores

    controladores extraídos

  5. Ir al administrador de dispositivos
    mi computadora / administrar

  6. agregar hardwareingrese la descripción de la imagen aquí

  7. Elemento de lista

  8. Elemento de lista

  9. Elemento de lista

  10. Elemento de lista

  11. Elemento de lista

  12. Elemento de lista

  13. Elemento de lista

  14. Elemento de lista

  15. Elemento de lista

  16. Reinicie y conéctese con el visor VNC, ahora debería poder cambiar la resolución de la pantalla
    ingrese la descripción de la imagen aquí

otra información valiosa sobre Launchpad.

Conseguí que SikuliX funcionara en un verdadero modo sin cabeza en GCE con un sistema cliente de Windows 2016. Se necesita algo de cinta adhesiva y otros artilugios de Rube Goldberg para funcionar, pero se puede hacer.

El problema es que, para GCE (y probablemente AWS y otros clientes de Windows en entornos de nube), no tiene un adaptador de video virtual y una pantalla, por lo que, a menos que haya una conexión RDP abierta con el cliente, no tiene una pantalla. , y SikuliX / OpenCV obtendrá un escritorio negro de 1024×768 y fallará.

Entonces, la pregunta es cómo crear una conexión RDP sin tener una pantalla real en cualquier lugar. Hice esto usando Xvfb (búfer de marco virtual de X Windows). Sin embargo, esto requiere una segunda máquina virtual. Xvfb se ejecuta en Linux. La otra pieza del rompecabezas es xfreerdp 2.0. La versión 2.x es necesaria para la compatibilidad con versiones recientes de Windows. 1.x se incluye con algunas distribuciones de Linux; Es posible que 2.x deba compilarse a partir de fuentes, según el tipo de Linux que esté utilizando. Estoy usando CentOS, que requirió que construyera el mío.

Los comandos para establecer la sesión RDP sin cabeza, una vez que las piezas están en su lugar, se ven así:

/usr/bin/Xvfb :0 -screen 0 1920x1080x24 &
export DISPLAY=:0.0
/usr/local/bin/xfreerdp /size:1920x1080 /u:[WindowsUser] /p:"[WindowsPassword]" /v:[WindowsTarget]

En nuestro entorno, automatizamos esto como parte del trabajo de compilación iniciado por Jenkins. Para que esto funcione bajo el esclavo de Jenkins, también era necesario ejecutar el esclavo de Jenkins como un proceso de usuario, en lugar de un servicio … esto se puede lograr habilitando el inicio de sesión de administrador automático y configurando el script de inicio del esclavo como una ejecución (en comando logon).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *