Наконец, через двадцать лет, существует простое решение без необходимости использования сторонней библиотеки, благодаря Java 9 :
InputStream is;
…
byte[] array = is.readAllBytes();
Обратите внимание также на удобные методы readNBytes(byte[] b, int off, int len)
и transferTo(OutputStream)
для удовлетворения повторяющихся потребностей.
Vinagre (доступный в репозиториях Ubuntu, идет со встроенным Винишком сервера VNC), поддержки, уменьшающие масштаб экрана. Однако, даже когда масштабируется, VNC работает в реальном разрешении хоста; таким образом, Вы все еще отправляете довольно много данных по сети в этом случае.