LINUX.ORG.RU
ФорумAdmin

XDG_RUNTIME_DIR прибили гвоздями? ваши мысли?!

 


1

2

добрый день

до Slackware 14.2+ не было никаких проблем :о)

переопределял для себя «кастомные» каталоги XDG_xxx - на RAM-DISK типа:

export XDG_RUNTIME_DIR=$RAM_DISK/.var/run
export  XDG_CACHE_HOME=$RAM_DISK/.var/cache

в Slackware 14.2+ выяснилось то, что значение переменной XDG_RUNTIME_DIR игнорируется и системой под эти цели принудительно используется каталог:

/var/run/user/$ID

причем, если оставить «старое кастомное переопределение», то

KDE4/5 - будет игнорировать эту настройку и просто принципиально юзать «новый стандарт каталога»

/var/run/user/$ID

а вот TDE-14.0.7 будет честно пытаться использовать «кастомную настройку»

XDG_RUNTIME_DIR=$RAM_DISK/.var/run
а т.к. «вся система» использует «другой каталог» то рабочий стол TDE начинает тупить, глючить и выеживаться, причем, сообщения ошибок «неочевидны» и говорят, типа "... DCOP <blah-blash-blah> ..."

причем, по умолчанию каталог

/var/run
находится на HDD, а не на «подобной» /dev/shm, что ВООБЩЕ не есть гуд

...

понятное дело, бодаться в лоб я не стал, использую «так как есть», и то, что «я чё-та да не знаю, Ё!»

но, хотелось бы услышать ваши мнения, идеи, все что думаете по этому поводу и, особенно, по поводу «а нахрена так делать?!» :о)

короче, просто поболагурим на «тему»

спасибо

p.s. уточняю, мне непонятно (больше всего волнует) не то, что TDE глючит, а почему весь мир/все остальные принудительно, как по договоренности игнорируют XDG_RUNTIME_DIR :o)

★★★★

Последнее исправление: sunjob (всего исправлений: 3)

https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

$XDG_RUNTIME_DIR defines the base directory relative to which user-specific non-essential runtime files and other file objects (such as sockets, named pipes, ...) should be stored. The directory MUST be owned by the user, and he MUST be the only one having read and write access to it. Its Unix access mode MUST be 0700.

The lifetime of the directory MUST be bound to the user being logged in. It MUST be created when the user first logs in and if the user fully logs out the directory MUST be removed. If the user logs in more than once he should get pointed to the same directory, and it is mandatory that the directory continues to exist from his first login to his last logout on the system, and not removed in between. Files in the directory MUST not survive reboot or a full logout/login cycle.

The directory MUST be on a local file system and not shared with any other system. The directory MUST by fully-featured by the standards of the operating system. More specifically, on Unix-like operating systems AF_UNIX sockets, symbolic links, hard links, proper permissions, file locking, sparse files, memory mapping, file change notifications, a reliable hard link count must be supported, and no restrictions on the file name character set should be imposed. Files in this directory MAY be subjected to periodic clean-up. To ensure that your files are not removed, they should have their access time timestamp modified at least once every 6 hours of monotonic time or the 'sticky' bit should be set on the file.

If $XDG_RUNTIME_DIR is not set applications should fall back to a replacement directory with similar capabilities and print a warning message. Applications should use this directory for communication and synchronization purposes and should not place larger files in it, since it might reside in runtime memory and cannot necessarily be swapped out to disk.


1) $RAM_DISK/.var/run соответствует всем перечисленным требованиям?
2) еще момент — где задается? Должно быть непосредственно после входа пользователя. На этот момент $RAM_DISK содержит правильное значение?

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от bormant

1й пункт из серии пермишнов для доступа пользователя и «тараканов» на предмет хочушек «сохранения или нет» ... да, соотв. ВСЕМ... требованиям, как и до этого момента соответствовал и работал

хотя, не исключено, что-то упустил :о)

до Slackware 14.2+ не было никаких проблем

...

где задается?

точнее создаются:

/etc/rc.d/       define TMP=/dev/shm/tmp     (mkdir)
/etc/profiles.d/ define TMP+=/USER + XDG_xxx (mkdir)

Должно быть непосредственно после входа пользователя

оно еще до того...

На этот момент $RAM_DISK содержит

да, типа что-то

XDG_RUNTIME_DIR = /dev/shm/tmp/USER/.var/run
XDG_CACHE_HOME  = /dev/shm/tmp/USER/.var/cache

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 3)
Ответ на: комментарий от bormant

p.s. уточняю, мне непонятно (больше всего волнует) не то, что TDE глючит, а почему весь мир/все остальные принудительно, как по договоренности игнорируют XDG_RUNTIME_DIR :o)

sunjob ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.