Я не думаю, что есть API для этого или даже способ сделать все это. Разбор снимков экрана, созданных java.awt.Robot, не зависит ни от платформы, ни от версии, ни даже от конфигурации, и, в общем, я не думаю, что «экран заблокирован» - это достаточно хорошо определенная концепция, которую можно использовать в этом смысле - в Linux может быть более одного «экрана» (X-сервер), вы можете переключаться на консольные терминалы, у вас могут быть приложения, работающие на одной (или нескольких) машинах, отображающие их GUI на другой машине по сети ...