Возможно, вам нужен термин "X сервер"?
X - это протокол удаленного интерфейса, который также используется для локального графического интерфейса. Но важно то, что он прекрасно работает для отображения на удаленных хостах и приема ввода от них.
Любая машина с Linux, имеющая графический интерфейс, может выступать в качестве «тонкого клиента» в этом сценарии (и большинство дистрибутивов могут быть настроены на работу очень мало, кроме X-сервера, менеджера окон и инструмента удаленного входа в систему), и практически любая машина (linux или иная) с доступом к сети может выступать в качестве хоста для вашего приложения.
Мне не сразу понятно, можно ли получить USB-вход через X или нет. Если ваше устройство USB можно настроить для отправки ввода, как это было с клавиатуры, я думаю, что вы золотой.
Причуды терминологии с X:
- Машина, на которой отображается графический интерфейс пользователя и которая управляет клавиатурой и мышью, является «сервером».
- Машина, на которой выполняется код, является "клиентом".
Почему? Потому что сервер делает монитор, клавиатуру и мышь доступными для клиента. Не жалуйтесь мне, это использование давно.
Примечание: есть ли что-то, что мешает вам разрабатывать веб-приложение? Таким образом, вы получаете кросс-платформенную совместимость с любой хост-ОС, которая может работать с достаточно мощным веб-браузером (то есть все ОС для ПК, современные игровые консоли, некоторые смартфоны и т. Д. И т. Д.).