xlsclients
Подробнее
- Создатель
- Jim Fulton, MIT X Consortium
- Год
- 1989 (X11R4)
- Тип
- Утилита X11
- Лицензия
- MIT
- Исходный код
- gitlab.freedesktop.org
Команда, показывающая, какие программы работают с дисплеем X, по машинам и по командным строкам, — изначально чтобы можно было написать скрипт, перезапускающий всю сессию.
Jim Fulton написал xlsclients в MIT X Consortium в 1989 году, и справка до сих пор говорит о назначении: снять снимок сессии пользователя в виде скрипта. Программа обходит дочерние окна корневого окна и для каждого окна с WM_COMMAND печатает два столбца — имя машины из WM_CLIENT_MACHINE и командную строку: angel xterm -geometry 80x24, по строке на программу; склеенные, эти строки образуют .xsession. С ключом -l добавляются идентификатор окна, WM_NAME, имя значка и экземпляр/класс из WM_CLASS, а -a охватывает все экраны дисплея. Это xprop, вывернутый наизнанку: не всё об одном окне, а одно обо всех.
Характер вывода изменился, хотя сама программа нет. Программы на Xlib и Xt задают WM_COMMAND с полным argv, так что conky -c servers.conf видно целиком. GTK же ставит на невидимое окно-лидер синтетическую командную строку из одного имени программы, поэтому Firefox выглядит как firefox, а скрипт перезапуска теряет все флаги; программы, не задающие свойство, отсутствуют вовсе. Как средство для сессий он списан после появления XSMP, но как быстрая инвентаризация — у каких процессов есть окна на этом дисплее и с каких машин — всё ещё годится, а в 2010 году его переписали на XCB, и он стал одной из первых программ набора X.Org, сделавших этот переход.