МАШИННАЯ политика создания ярлыков. Ярлык создается, но поля Icon, Description не заполняются, остаются дефолтными. В них нет значений определенных политикой Версия gpupdate [WIN\winuser5@host-16 Рабочий стол]$ rpm -q gpupdate gpupdate-0.16.1-alt1.noarch Пример МАШИННОЙ политики [WIN\winuser5@host-16 Рабочий стол]$ gpresult -m -n shortcuts МАШИННЫЕ НАСТРОЙКИ ------------------ Примененные Объекты Групповой Политики -------------------------------------- GPO shortcuts Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{287F1017-569B-47CD-A09D-A0AE73594C28} Версия 327685 GUID {287F1017-569B-47CD-A09D-A0AE73594C28} Ключи /Software/BaseALT/Policies/GPUpdate/ShortcutsMerge 1 Настройки Тип Значки Расположение %DesktopDir%\custom-chromium Путь /usr/bin/chromium Целевой путь - Аргументы https://portal.lukoil.com/hr-services Имя custom-chromium Действие R Дата изменения 16.09.2026 17:27:16 Путь к файлу modem-symbolic Комментарий my-comment-2 В контексте пользователя - Тип ссылки FILESYSTEM Шаблон файла раб. стола - Отключено Нет Удаление политики Нет UID {457d58e3-eeed-454b-9506-109188e55715} Игнорировать ошибки Нет Применить однократно Нет Дата изменения 16.09.2026 17:27:16 Фильтры - Поля "Комментарий", "Путь к файлу" (который в указывает путь к значку\пиктограмме\иконке) - не проставляются. Они в любых вариациях остаются дефолтными т.е. [WIN\winuser5@host-16 Рабочий стол]$ cat custom-chromium.desktop [Desktop Entry] Version=1.0 Type=Application Name=custom-chromium Terminal=false Exec=/usr/bin/chromium https://portal.lukoil.com/hr-services Comment= Icon=chromium Одинаковое поведение, как у родных доменных пользователей, так и у пользователей из трастового домена [gp1@host-16 Рабочий стол]$ cat custom-chromium.desktop [Desktop Entry] Version=1.0 Type=Application Name=custom-chromium Terminal=false Exec=/usr/bin/chromium https://portal.lukoil.com/hr-services Comment= Icon=chromium [gp1@host-16 Рабочий стол]$ id uid=1001413(gp1) gid=1000513(domain users) группы=1000513(domain users),14(uucp),19(proc),22(cdrom),71(floppy),80(cdwriter),81(audio),83(radio),100(users),444(usershares),466(vboxusers),472(camera),476(fuse),479(video),490(vboxsf),491(vboxadd),498(xgrp),499(scanner),501(pammount_users),10003(BUILTIN\users),1001135(sales),1001413(gp1)
Подтверждаю, причина найдена. Воспроизводится при включённом «Слиянии ярлыков» (ShortcutsMerge=1) на gpupdate 0.16.1 (p11), 0.16.3 (Сизиф) и 0.13 (СП 10.2). Машинный ярлык в /etc/skel создаётся правильно (Comment=…, Icon=/usr/share/icons/…). Но копия этого ярлыка на рабочем столе пользователя при слиянии — "Name=… Exec=/usr/bin/xterm Comment=" без Icon (на 0.13 — пустой Comment и Icon по умолчанию). Причина в коде 0.16.x: shortcut_applier_user.get_machine_shortcuts() собирает объект shortcut(dest, path, arguments, name, action, target_type) из dconf и не переносит поля icon и comment, хотя в dconf они есть ('icon': '/usr/share/icons/…', 'comment': '…').
Результат проверки воспроизводимости Проверено в Sisyphus: клиент Альт Рабочая станция, обновлённая до текущего состояния репозитория, gpupdate-0.16.3-alt1; домен Samba AD (samba-dc-4.22.11-alt3). Сценарий: машинная политика с ShortcutsMerge=1 (Software\BaseALT\Policies\GPUpdate) и машинным ярлыком Preferences/Shortcuts: shortcutPath=%DesktopDir%\custom-chromium, targetPath=/usr/bin/chromium, arguments=https://example.org/hr-services, action=R, iconPath=modem-symbolic, comment=my-comment-2. На клиенте выполнен gpupdate --target Computer, затем вход доменного пользователя в графический сеанс. Результат: - /etc/skel/Рабочий стол/custom-chromium.desktop создаётся корректно: Comment=my-comment-2, Icon=modem-symbolic. В /etc/dconf/db/policy.d/policy.ini для Preferences/Machine/Shortcuts присутствуют 'icon': 'modem-symbolic' и 'comment': 'my-comment-2'. - При входе пользователя ~/Рабочий стол/custom-chromium.desktop перезаписывается без значений из политики: Comment= Icon=chromium (значок взят из /usr/share/applications/chromium.desktop). Состояние: Ошибка воспроизводится в Sisyphus на gpupdate-0.16.3-alt1. Причина совпадает с описанной в комментарии 1: shortcut_applier_user.get_machine_shortcuts() (gpoa/frontend/shortcut_applier.py) создаёт объект shortcut только из dest, path, arguments, name, action и target_type и не переносит icon и comment, хотя в dconf они есть. Примечание: на стенде вход доменного пользователя блокировался падением sssd_be (sssd-2.12.0-alt1, bug 60591); для проверки использован ad_gpo_access_control = disabled. На результат проверки gpupdate это не влияет. Рекомендация: в get_machine_shortcuts() переносить в объект shortcut поля icon и comment (set_icon(), set_comment()), а также остальные поля машинного ярлыка, которые read_shortcuts() заполняет из Shortcuts.xml. Исправить в Sisyphus и перенести в p11.
gpupdate-0.16.4-alt1 -> sisyphus: Thu Oct 15 2026 Valery Sinelnikov <greh@altlinux> 0.16.4-alt1 - Added: gpupdate-machine-run for commands with isolated machine Kerberos credentials (closes: 60548) GPO-configurable user policy refresh on SSH login (closes: 53161) Chromium 153 integer-valued policy exceptions Optional strict exit status for policy scripts - Fixed: User file policies creating root-owned home directories (closes: 48946) KDE policy application without a graphical environment (closes: 60718) Missing icon and comment in merged machine shortcuts (closes: 60563) GNOME and XFCE shortcut trust metadata (closes: 56019) Absolute local script paths (closes: 47135) Structured Chromium and Yandex JSON preservation through dconf (closes: 46281) Yandex numeric policy types for delays, limits and import settings ADMX numeric-value extraction for decimal elements and enums Packaged display manager plugin discovery and safe GDM background updates LightDM greeter detection and native INI configuration User polkit rule isolation, plugin execution and privilege-worker IPC GPO cache identity, FreeIPA refresh handling and loopback precedence Policy-scoped and per-user apply-once state, managed-file and hidden cleanup Cached policy application File-operation safety, bounded worker IPC and command-group cleanup Kerberos credential isolation and LAPS retry post-actions Native DWORD handling in Firewall and NTP, standalone GSettings lock updates Script preparation failures and active timer shutdown when disabling gpupdate Browser policy publication and GDM restoration across theme upgrades Configuration preservation on upgrade and policy execution error reporting - Packaging: Ship shared applier templates with gpoa-lib - Documentation: Clarified plugin translation paths and documented regression test scenarios