Summary: | Неправильные категории приложений при наличии altlinux-freedesktop-menu-{nested-menu,cinnamon} | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Artem Varaksa <varaksaaa> | ||||
Component: | altlinux-freedesktop-menu | Assignee: | viy <viy> | ||||
Status: | NEW --- | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P5 | CC: | antohami, viy | ||||
Version: | unstable | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 48618 | ||||||
Attachments: |
|
Description
Artem Varaksa
2023-11-27 16:37:55 MSK
стандартные меню altlinux-freedesktop-menu-shallow-menu altlinux-freedesktop-menu-nested-menu предоставляют альтернативами %_sysconfdir/xdg/menus/applications.menu Которым cinnamon ранее не пользовался. Вместо этого он пользовался своим собственным %_sysconfdir/xdg/menus/cinnamon-applications.menu из altlinux-freedesktop-menu-cinnamon. Для этого cinnamon выставлял переменную XDG_MENU_PREFIX=cinnamon- То, что он начал реагировать на %_sysconfdir/xdg/menus/applications.menu означает, что где-то что-то сломалось, и это может быть как сам cinnamon, так и способ его запуска. Скорее всего, не выставляется переменная XDG_MENU_PREFIX= Это очень интересно, но сильно прошу прощения, сейчас мне негде посмотреть. Если у вас есть возможность, хотел бы попросить вас провести несколько экспериментов и приложить скриншоты. Для каждого эксперимента хотелось бы 1) скриншоты увидеть, 2) что показывает rpm -qa | grep altlinux-freedesktop-menu 3) что показывает у пользователя env | grep XDG_ 1) если с нуля ставить cinnamon (т.е. на новом пользователе, или у старого очистить домашнюю директорию, и почистить следы cinnamon в /var, если такие есть) нормальные ли в нем меню? и ломаются сразу после altlinux-freedesktop-menu-nested-menu, логаут-логин не помогает? 2) если сначала поставить altlinux-freedesktop-menu-nested-menu а потом с нуля ставить cinnamon, то тоже ломаются? Created attachment 15119 [details] Скриншоты ===== TL;DR ===== * Порядок установки не влияет. При наличии nested-menu, после выхода/входа или перезагрузки меню ломается (одинаковым образом). * Последующие выходы/входы и перезагрузки не исправляют меню. * Во 2 эксперименте в MATE меню не сломано. Однако после установки cinnamon и входа в сессию Cinnamon в категории Администрирование в меню MATE приложения задублировались (возможно, отдельная проблема) и появились новые категории, например Полезное. * XDG_MENU_PREFIX=cinnamon- ======== Подробно ======== Начальное состояние =================== Начальное состояние одинаковое для обоих экспериментов. На чистой виртуальной машине workstation-10.1-x86-64, обновлённой до Sisyphus: > # rpm -qa | grep altlinux-freedesktop-menu > altlinux-freedesktop-menu-icon-theme-default-0.0.26-alt1.noarch > altlinux-freedesktop-menu-common-0.69-alt1.noarch Пока что сессия - MATE: > # rpm -qa | grep cinnamon > (ничего) > $ env | grep XDG_ > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_SEAT=seat0 > XDG_SESSION_DESKTOP=mate > XDG_SESSION_TYPE=x11 > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/test > XDG_CURRENT_DESKTOP=MATE > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_ACTIVATION_TOKEN=mate-menu.py-3083-workstation-10-1-x86-64-20231108.localdomain-mate-terminal-0_TIME396771 > XDG_SESSION_CLASS=user > XDG_VTNR=1 > XDG_SESSION_ID=6 > XDG_RUNTIME_DIR=/run/user/500 Эксперимент 1 ============= Часть 1: установка сinnamon --------------------------- > # apt-get install -y cinnamon > # reboot На экране входа выбираю сессию Cinnamon. > # rpm -qa | grep altlinux-freedesktop-menu > altlinux-freedesktop-menu-shallow-menu-0.69-alt1.noarch > altlinux-freedesktop-menu-cinnamon-0.69-alt1.noarch > altlinux-freedesktop-menu-icon-theme-default-0.0.26-alt1.noarch > altlinux-freedesktop-menu-common-0.69-alt1.noarch > # rpm -qa | grep cinnamon > cinnamon-settings-daemon-5.8.1-alt1.x86_64 > muffin-cinnamon-5.8.1-alt1.noarch > libcinnamon-screensaver-5.8.1-alt1.gitd5ad373.x86_64 > cinnamon-desktop-data-5.8.0-alt1.x86_64 > libcinnamon-menus-5.8.0-alt1.x86_64 > libcinnamon-desktop-5.8.0-alt1.x86_64 > altlinux-freedesktop-menu-cinnamon-0.69-alt1.noarch > cinnamon-session-translations-5.8.2-alt1.noarch > cinnamon-5.8.4-alt2.git69727ba.x86_64 > cinnamon-screensaver-translations-5.8.2-alt1.noarch > libcinnamon-desktop-gir-5.8.0-alt1.x86_64 > cinnamon-data-5.8.4-alt2.git69727ba.noarch > cinnamon-control-center-translations-5.8.2-alt1.noarch > cinnamon-translations-5.8.2-alt1.noarch > cinnamon-control-center-data-5.8.2-alt1.noarch > cinnamon-screensaver-5.8.1-alt1.gitd5ad373.x86_64 > libcinnamon-screensaver-gir-5.8.1-alt1.gitd5ad373.x86_64 > cinnamon-desktop-schemas-5.8.0-alt1.noarch > libcinnamon-menus-gir-5.8.0-alt1.x86_64 > cinnamon-control-center-5.8.2-alt1.x86_64 > cinnamon-settings-daemon-translations-5.8.2-alt1.noarch > cinnamon-session-5.8.1-alt1.x86_64 > $ env | grep XDG_ > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_MENU_PREFIX=cinnamon- > XDG_SEAT=seat0 > XDG_SESSION_DESKTOP=cinnamon > XDG_SESSION_TYPE=x11 > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/test > XDG_CURRENT_DESKTOP=X-Cinnamon > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_ACTIVATION_TOKEN=cinnamon-3038-workstation-10-1-x86-64-20231108.localdomain-mate-terminal-0_TIME209424 > XDG_SESSION_CLASS=user > XDG_VTNR=1 > XDG_SESSION_ID=3 > XDG_RUNTIME_DIR=/run/user/500 > XDG_DATA_DIRS=/usr/share/gnome:/usr/share:/usr/local/share:/var/lib/flatpak/exports/share:/home/test/.local/share/flatpak/exports/share > # ll /etc/xdg/menus/ > итого 136 > drwxr-xr-x 4 root root 4096 ноя 28 13:08 ./ > lrwxrwxrwx 1 root root 65 ноя 28 13:08 altlinux-applications.menu -> '/etc/alternatives/links/|etc|xdg|menus|altlinux-applications.menu' > -rw-r--r-- 1 root root 2102 ноя 28 13:08 cinnamon-applications.menu > drwxr-xr-x 2 root root 4096 ноя 28 13:08 cinnamon-applications-merged/ > drwxr-xr-x 6 root root 4096 ноя 27 16:05 ../ > -rw-r--r-- 1 root root 4983 ноя 27 16:04 altlinux-utility.menu > drwxr-xr-x 2 root root 4096 ноя 27 16:04 applications-merged/ > -rw-r--r-- 1 root root 4827 ноя 27 16:04 altlinux-office.menu > -rw-r--r-- 1 root root 3687 ноя 27 16:04 altlinux-science.menu > -rw-r--r-- 1 root root 9330 ноя 27 16:04 altlinux-settings.menu > -rw-r--r-- 1 root root 3118 ноя 27 16:04 altlinux-system.menu > -rw-r--r-- 1 root root 8304 ноя 27 16:04 altlinux-education.menu > -rw-r--r-- 1 root root 3655 ноя 27 16:04 altlinux-games.menu > -rw-r--r-- 1 root root 3353 ноя 27 16:04 altlinux-graphics.menu > -rw-r--r-- 1 root root 4699 ноя 27 16:04 altlinux-multimedia.menu > -rw-r--r-- 1 root root 3783 ноя 27 16:04 altlinux-network.menu > -rw-r--r-- 1 root root 3741 ноя 27 16:04 altlinux-applications-mate-like.menu > -rw-r--r-- 1 root root 1984 ноя 27 16:04 altlinux-applications-nested.menu > -rw-r--r-- 1 root root 3721 ноя 27 16:04 altlinux-applications-shallow.menu > -rw-r--r-- 1 root root 3939 ноя 27 16:04 altlinux-development.menu > -rw-r--r-- 1 root root 4561 окт 26 22:35 matecc.menu > -rw-r--r-- 1 root root 487 окт 26 22:35 mate-screensavers.menu > -rw-r--r-- 1 root root 1494 окт 26 22:25 mate-settings.menu > -rw-r--r-- 1 root root 4147 окт 26 22:25 mate-applications.menu > -rw-r--r-- 1 root root 3242 окт 26 22:25 mate-preferences-categories.menu Папки {,cinnamon-}applications-merged - пустые. Интересно, что присутствует altlinux-applications-nested.menu, хотя пакет altlinux-freedesktop-menu-nested-menu не установлен - он предоставляется пакетом common: > # rpm -qf /etc/xdg/menus/altlinux-applications-nested.menu > altlinux-freedesktop-menu-common-0.69-alt1.noarch На данный момент категории меню корректные (см. скриншоты > Эксперимент 1 > 1 cinnamon). Часть 2: установка altlinux-freedesktop-menu-nested-menu -------------------------------------------------------- > # apt-get install -y altlinux-freedesktop-menu-nested-menu > # rpm -qa | grep altlinux-freedesktop-menu > altlinux-freedesktop-menu-shallow-menu-0.69-alt1.noarch > altlinux-freedesktop-menu-cinnamon-0.69-alt1.noarch > altlinux-freedesktop-menu-icon-theme-default-0.0.26-alt1.noarch > altlinux-freedesktop-menu-nested-menu-0.69-alt1.noarch > altlinux-freedesktop-menu-common-0.69-alt1.noarch Сразу меню не меняется. После выхода из сессии и входа обратно меню ломается (см. скриншоты > Эксперимент 1 > 2 nested-menu). > $ env | grep XDG_ > (особо изменений нет, только:) > -XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > +XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 > -XDG_ACTIVATION_TOKEN=cinnamon-3038-workstation-10-1-x86-64-20231108.localdomain-mate-terminal-0_TIME209424 > +XDG_ACTIVATION_TOKEN=cinnamon-5188-workstation-10-1-x86-64-20231108.localdomain-mate-terminal-0_TIME1603791 > -XDG_SESSION_ID=3 > +XDG_SESSION_ID=9 > # ll /etc/xdg/menus/ > (без изменений) Если ещё раз выйти и войти или перезагрузиться, меню не исправляется. Эксперимент 2 ============= Часть 1: установка altlinux-freedesktop-menu-nested-menu -------------------------------------------------------- > # apt-get install -y altlinux-freedesktop-menu-nested-menu > # rpm -qa | grep altlinux-freedesktop-menu > altlinux-freedesktop-menu-nested-menu-0.69-alt1.noarch > altlinux-freedesktop-menu-icon-theme-default-0.0.26-alt1.noarch > altlinux-freedesktop-menu-common-0.69-alt1.noarch На данном этапе Cinnamon ещё нет, но после выхода/входа видно, что меню в MATE не ломается и не меняется (подкатегорий нет) (см. скриншот Эксперимент 2 > 1 nested-menu > mate menu офис). Часть 2: установка сinnamon --------------------------- > # apt-get install -y cinnamon > # reboot На экране входа выбираю сессию Cinnamon. Теперь ...-shallow-menu не установился: > # rpm -qa | grep altlinux-freedesktop-menu > altlinux-freedesktop-menu-nested-menu-0.69-alt1.noarch > altlinux-freedesktop-menu-icon-theme-default-0.0.26-alt1.noarch > altlinux-freedesktop-menu-common-0.69-alt1.noarch > altlinux-freedesktop-menu-cinnamon-0.69-alt1.noarch В $ env | grep XDG_ изменений кроме ожидаемых не заметно. Меню сломано так же, как и в эксперименте 1, и выход/вход, перезагрузка не помогают. Если выйти из сессии и зайти в MATE, там меню всё ещё не сломано. Однако появились дубликаты приложений в категории Администрирование (см. скриншот Эксперимент 2 > 2 cinnamon > mate menu администрирование) и появились новые категории, например Полезное - не уверен, связано это с данной ошибкой или нет. До установки cinnamon и входа в сессию Cinnamon дубликатов нет. Благодарю! Благодаря вашим экспериментам разобрался и вспомнил, как оно на самом деле устроено. Текущая ситуация возникла из-за недотестирования, и, соответственно, недоразвешивания багов по апстримам. Благодаря вашим усилиям, есть шанс наконец сдвинуть это дало с места. Итак, для показа меню cinnamon сливает в одно целое /etc/xdg/menus/cinnamon-applications.menu (altlinux-freedesktop-menu-cinnamon) + /etc/xdg/menus/applications.menu (альтернативами altlinux-freedesktop-menu-shallow-menu | altlinux-freedesktop-menu-nested-menu) + редактирование меню у пользователя - ~/.config/menus/* Здесь все пока по https://specifications.freedesktop.org/menu-spec/latest/ Также ничего злодейского нет в altlinux-freedesktop-menu-nested-menu. Это простое многоуровневое меню основная категория > подкатегория > приложения как и altlinux-freedesktop-menu-shallow-menu простое одноуровневое меню основная категория > приложения Но видимо майнтайнер cinnamon пользовался только shallow-menu и вписал в altlinux-freedesktop-menu-cinnamon ряд редактирований для изменения вида, специфических для shallow-menu. Похоже, эти подстройки не работают как ожидалось для nested-menu. Буду разбираться. У меня намечается задержка, пересобран perl, и теперь надо чинить пакеты. Поэтому 3-4 дня не будет движений. |