¿Es posible transportar cualquier dispositivo a través de TCP?

¿Es posible transportar cualquier dispositivo a través de TCP?

¿Es posible transportar todo el dispositivo como en la entrada /dev a través de TCP? Estoy hablando de transportar, por ejemplo, un joystick a través de TCP o mouse/puerto rs232/desarrollador de framebuffer, desarrollador de tarjeta de sonido, discos, etc.

Lo que más me interesan son los dispositivos de entrada: teclados, joysticks, tabletas, ratones, etc. de una forma más genérica que el software especializado para ratones/teclados remotos.

Respuesta1

Mientras sean dispositivos USB, lo que buscas es posible desde hace varios años conUSB/IP. Desde entonces ha sidointroducido en Linux 3.17. Vea el usbippaquete en sistemas tipo Debian. Incluso puede tener clientes Windows (es decir, acceder a dispositivos USB conectados a un servidor Linux).

En cuanto a los dispositivos de bloque, Linux viene ofreciendoDispositivo de bloqueo de redsoporte por mucho más tiempo.

Respuesta2

Sí, esto se puede hacer al menos para dispositivos simples como un mouse, pero tendrás que escribir algo de código. Básicamente, tendrías un proceso en la máquina con el dispositivo físico que se comunica con el dispositivo. Luego, este proceso transporta el protocolo a través de TCP al otro host. El proceso de recepción tendrá que emular cualquier interfaz que el proceso final (un servidor X11 o un compositor Wayland) espere ver. En el caso más simple, el receptor puede configurar una canalización con nombre en la que se escriben los datos y que reemplaza el archivo de dispositivo utilizado normalmente.

información relacionada