xwininfo -tree -root | grep -v "не имеет имени" | grep -v childЭто немного другой подход, чем тот, который вы просили: вместо того, чтобы перечислять процессы, он перечисляет окна. Если вы ищете список идентификаторов процессов, это не решает задачу. Если вы ищете список того, что работает, это делает.
Очевидно, что этот подход не покажет вам название любой программы, в которой в качестве имени указано «child». Тем не менее, если вы ищете быстрый и простой вариант, который будет служить большинству целей, это может быть один.
Да, и, кстати, есть ряд других опций для xwininfo, например, возможность указать имя только одного окна (вместо указания корневого окна).