Bug 54590 - XDG переменная XDG_DESKTOP_DIR более не указывает на "Рабочий стол"
Summary: XDG переменная XDG_DESKTOP_DIR более не указывает на "Рабочий стол"
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: gpupdate (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Danila Skachedubov
QA Contact: qa-sisyphus
URL:
Keywords:
: 57267 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-06-02 09:26 MSK by Anton Shevtsov
Modified: 2025-12-19 13:41 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Shevtsov 2025-06-02 09:26:33 MSK
месяца 3-4-5 как команда xdg-user-dir DESKTOP возвращает не "Рабочий стол"

[domainuser2@host-15 ~]$  xdg-user-dir DESKTOP
/home/TEST.ALT/domainuser2/Рабочий стол

А Desktop 
[domainuser1@host-15 ~]$ xdg-user-dir DESKTOP
/home/TEST.ALT/domainuser1/Desktop

и, как следствие, у ГП неадекватно ведут себя (или тот же shared-desktop-icons), в проводнике Caja если выбрать Рабочий стол - нельзя создать ничего. Глобального /etc/skel/.config/user-dirs.dirs нет, в /etc/xdg/user-dirs.{conf,default} ожидаемые english названия папок.

Воспроизвести достаточно просто. У продолжительного существующего пользователя вывести cat   ~/.config/user-dirs.dirs 

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/Рабочий стол"
XDG_DOWNLOAD_DIR="$HOME/Загрузки"
XDG_TEMPLATES_DIR="$HOME/Шаблоны"
XDG_PUBLICSHARE_DIR="$HOME/Общедоступные"
XDG_DOCUMENTS_DIR="$HOME/Документы"
XDG_MUSIC_DIR="$HOME/Музыка"
XDG_PICTURES_DIR="$HOME/Изображения"
XDG_VIDEOS_DIR="$HOME/Видео

затем переименовать его домашнюю папку, чтобы профиль создался заново и зайти снова , вывод уже будет таким cat   ~/.config/user-dirs.dirs 

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Загрузки"
XDG_TEMPLATES_DIR="$HOME/Шаблоны"
XDG_PUBLICSHARE_DIR="$HOME/Общедоступные"
XDG_DOCUMENTS_DIR="$HOME/Документы"
XDG_MUSIC_DIR="$HOME/Музыка"
XDG_PICTURES_DIR="$HOME/Изображения"
XDG_VIDEOS_DIR="$HOME/Видео
Comment 1 Anton Shevtsov 2025-06-02 09:37:27 MSK
если создать в /etc/skel/.config глобальный user-dirs.dirs, то Рабочий стол появляется, но принадлежащий руту

[domainuser1@host-15 ~]$ cat /etc/skel/.config/user-dirs.dirs 
XDG_DESKTOP_DIR="$HOME/Рабочий стол"
XDG_DOWNLOAD_DIR="$HOME/Загрузки"
XDG_TEMPLATES_DIR="$HOME/Шаблоны"
XDG_PUBLICSHARE_DIR="$HOME/Общедоступные"
XDG_DOCUMENTS_DIR="$HOME/Документы"
XDG_MUSIC_DIR="$HOME/Музыка"
XDG_PICTURES_DIR="$HOME/Изображения"
XDG_VIDEOS_DIR="$HOME/Видео"

[domainuser1@host-15 ~]$ ll ~/ | grep Рабочий
drwxr-xr-x  2 root        root          4096 июн  2 11:31 Рабочий стол/

[domainuser1@host-15 ~]$ xdg-user-dir DESKTOP
/home/TEST.ALT/domainuser1/Рабочий стол

[domainuser1@host-15 ~]$ cat ~/.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/Рабочий стол"
XDG_DOWNLOAD_DIR="$HOME/"
XDG_TEMPLATES_DIR="$HOME/"
XDG_PUBLICSHARE_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/"
XDG_MUSIC_DIR="$HOME/"
XDG_PICTURES_DIR="$HOME/"
XDG_VIDEOS_DIR="$HOME/"
Comment 2 Anton Shevtsov 2025-06-02 09:46:06 MSK
При изменении глобального /etc/xdg/user-dirs.defaults

[domainuser1@host-15 ~]$ cat /etc/xdg/user-dirs.defaults
# Default settings for user directories
#
# The values are relative pathnames from the home directory and
# will be translated on a per-path-element basis into the users locale
DESKTOP=Рабочий стол
DOWNLOAD=Downloads
TEMPLATES=Templates
PUBLICSHARE=Public
DOCUMENTS=Documents
MUSIC=Music
PICTURES=Pictures
VIDEOS=Videos
# Another alternative is:
#MUSIC=Documents/Music
#PICTURES=Documents/Pictures
#VIDEOS=Documents/Videos

не происходит его применение
[domainuser1@host-15 ~]$ xdg-user-dir DESKTOP
/home/TEST.ALT/domainuser1/Desktop

[domainuser1@host-15 ~]$ ll ~/ | grep Desktop
drwxr-xr-x  2 root        root         4096 июн  2 11:43 Desktop/
Comment 3 Anton Shevtsov 2025-06-02 11:51:56 MSK
пока победил вот так.. в /etc/xdg/user-dirs.defaults гвоздями прибил и в /etc/X11/profile.d/xdg-user-dirs.sh форсированный апдейт

[sogouser1@host-15 Рабочий стол]$ grep DESKTOP /etc/xdg/user-dirs.defaults
DESKTOP=Рабочий стол

[sogouser1@host-15 Рабочий стол]$ cat /etc/X11/profile.d/xdg-user-dirs.sh 
#!/bin/sh
# Copyright (C) 2007 Red Hat, Inc. All rights reserved. This
# copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the
# GNU General Public License version 2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
if [ -x /usr/bin/xdg-user-dirs-update ]; then
   # /usr/bin/xdg-user-dirs-update
    /usr/bin/xdg-user-dirs-update --force
fi
Comment 4 Белая Алёна 2025-06-16 16:48:43 MSK
Антон, добрый день!

Есть ли какой-то способ воспроизвести проблему не для "продолжительно существующего" пользователя? Проверки проводила для доменов на Sisyphus и на Р10, ни там, ни там проблема не воспроизводится. 
Попробовала воспроизвести для доменных пользователей в недавно созданном домене, воспроизвести не получилось. Также попробовала поменять время (и на контроллере домена, и на рабочей станции) чтобы искусственно "состарить" пользователя, однако проблему опять же воспроизвести не смогла. 
Попробовала провести несколько манипуляций с директориями и затем сбросить изменения с помощью команды:
$ xdg-user-dirs-update --force

сброс настроек возвращает "Рабочий стол" в качестве рабочего стола. 

Изменение файла /etc/xdg/user-dirs.defaults корректно отрабатывает для заново создающихся домашних директорий пользователей. 

Для локальных пользователей переименование домашней директории приводит к тому, что под этим пользователем нельзя зайти в систему.
Comment 5 Anton Shevtsov 2025-06-16 18:42:23 MSK
(Ответ для Белая Алёна на комментарий #4)
> Антон, добрый день!
> 
> Есть ли какой-то способ воспроизвести проблему не для "продолжительно
> существующего" пользователя? Проверки проводила для доменов на Sisyphus и на
> Р10, ни там, ни там проблема не воспроизводится. 
> Попробовала воспроизвести для доменных пользователей в недавно созданном
> домене, воспроизвести не получилось. Также попробовала поменять время (и на
> контроллере домена, и на рабочей станции) чтобы искусственно "состарить"
> пользователя, однако проблему опять же воспроизвести не смогла. 
> Попробовала провести несколько манипуляций с директориями и затем сбросить
> изменения с помощью команды:
> $ xdg-user-dirs-update --force
> 
> сброс настроек возвращает "Рабочий стол" в качестве рабочего стола. 
> 
> Изменение файла /etc/xdg/user-dirs.defaults корректно отрабатывает для
> заново создающихся домашних директорий пользователей. 
> 
> Для локальных пользователей переименование домашней директории приводит к
> тому, что под этим пользователем нельзя зайти в систему.

А я не знаю. Просто в один момент при очередном обновлении п10, стало так.
Нашел в РМ #121341 такую же проблему
Comment 6 Белая Алёна 2025-06-17 13:10:05 MSK
Можете пожалуйста уточнить следующую информацию:
1. Какой домен у вас развернут? Samba, FreeIPA, AD?
2. Какие операционные системы используются в качестве контроллера домена и в качестве клиента? 
3. Какие версии пакетов xdg-user-dir и домена? 
4. Что показывает вывод команды $ locale для доменного пользователя?
Comment 7 Белая Алёна 2025-06-18 14:23:30 MSK
Воспроизведено в Sisyphus, версии пакетов:
samba-4.20.8-alt2
gpupdate-0.13.2-alt1
xdg-user-dirs-0.18-alt2

стенды:
Alt Server 11, обновленный до Sisyphus, в качестве контроллера домена
Alt Workstation K 11, обновленный до Sisyphus, в качестве клиента

Ошибку удалось воспроизвести по следующим шагам: 
1. Развернуть домен Samba с групповыми политиками и ввести клиента в домен с включением групповых политик
2. Создать двух пользователей в домене, например, testuser и testuser1
3. Зайти одним из пользователей (например testuser) на машину клиента и открыть admc: 
$ kinit administrator
$ admc
4. Во вкладке "Объекты групповых политик" выбрать политику Default Domain Policy (или создать любую другую политику), ПКМ на политику -> Изменить
5. В открывшемся GPUI создать политику Значки: <domainname> -> Компьютер -> Настройки -> Настройки системы -> Значки -> ПКМ на области справа -> Новый -> Создать -> Указать любые данные. Место нахождения указать как "Рабочий стол" -> Сохранить изменения
6. Перезагрузить систему 
7. После перезагрузки зайти в систему доменным пользователем, которым вход еще не выполнялся (например testuser1)
8. Выполнить команду:
$ xdg-user-dir DESKTOP 

Результат: 
/home/SAMBA.TESTDOMAIN/testuser1/Desktop

Ожидаемый результат: 
/home/SAMBA.TESTDOMAIN/testuser1/Рабочий стол

В проводнике вместо рабочего стола также указана директория Desktop. 
В файле ~/.config/user-dirs.dirs также указан Desktop вместо 'Рабочий стол'
$ cat .config/user-dirs.dirs 
...
# 
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Загрузки"
XDG_TEMPLATES_DIR="$HOME/Шаблоны"
...

Похоже, что проблема появляется из-за переменной %DesktopDir% в gpupdate, потому что проблема также воспроизводится, если, например, создать через групповые политики папку по пути %DesktopDir%/dir. В /etc/skel после этого появляется папка Desktop, в которой создаются значки/директории из групповых политик. Когда входит новый пользователь, видимо именно эта директория оказывает свое влияние на переменную в xdg-user-dir. 
Также вероятно, что в том числе поэтому для пользователей, уже входивших в систему, директории/значки на рабочем столе не создаются. 
Т.е. проблема, получается, на стыке взаимодействия между xdg-user-dirs и gpupdate.

Прошу @antohami и @greh вместе взглянуть на проблему. Возможно ошибку стоит перевесить на gpupdate.
Comment 8 Антон Мидюков 2025-06-18 15:34:53 MSK
Проблема не в xdg-user-dirs.
Comment 9 Danila Skachedubov 2025-06-19 11:16:24 MSK
Добрый день, в следующей версии gpupdate будет исправлено.
Comment 10 Котюхов Михаил Андреевич 2025-12-19 13:41:42 MSK
*** Bug 57267 has been marked as a duplicate of this bug. ***