IT-словарь › Инфраструктура › Идентификатор ресурса (XID)

Идентификатор ресурса (XID)

Инфраструктура Svenska → Обновлено: 2026-10-18

29-битное число, идентифицирующее каждое окно, pixmap, шрифт и курсор в X-сервере; его выбирает сам клиент, чтобы создавать окно, не дожидаясь ответа.

Всё, чем клиент владеет в X-сервере, — окна, pixmap, графические контексты, шрифты, курсоры, цветовые карты — адресуется идентификатором ресурса: 32-битным полем протокола, у которого три старших бита всегда равны нулю. Необычно то, кто их выдаёт. При установке соединения клиент получает resource_id_base и resource_id_mask и дальше сам выделяет себе ID, считая вверх внутри маски. Поэтому XCreateWindow возвращает ID сразу, пока запрос ещё лежит в буфере, а в сетях 1980-х это экономило один круговой обход на объект. Платой стала конечность ID у клиента (обычно 221) и долгий потолок X.Org в 256 клиентов; когда ID кончаются, Xlib просит свободные диапазоны через расширение XC-MISC.

В отладке ID встречаются повсюду: xwininfo печатает «Window id: 0x3400005», xprop -id, xkill -id и xdotool принимают их аргументом, а xrestop показывает, кто копит больше всего ресурсов. Ошибки BadWindow, BadDrawable, BadPixmap значат, что ID указывает не туда, а BadIDChoice — что клиент выбрал уже занятый. С закрытием соединения ресурсы исчезают, если не запрошено RetainPermanent: так xsetroot завершается, а фон остаётся.

← Назад к словарю