LINUX.ORG.RU

Борьба с помойкой KDE5 в $USER

 ,


0

0

KDE5 устраивает помойку в $USER/.config и $USER/.cache, поэтому возникает вопрос как с этим бороться.

Придумал вот какое решение.

Добавляем в LD_PRELOAD=kde_paths_fix.so (например, через /etc/profile.d/kde_fix_paths.sh).

Что делает kde_paths_fix.so: если запускается бинарник, который слинкован c libKF5ConfigCore.so.5, тогда меняем переменные среды XDG_CACHE_HOME и XDG_CONFIG_HOME на заранее заданные.

Поскольку hardcoded значения не есть комильфо, то можно читать переменные среды, например, KDE5_CACHE_DIR и KDE5_CONFIG_DIR.

Увы, я не C программист, и нет никаких идей как это написать. Было бы круто, если бы кто-то помог.

Я так понимаю, тут кода на одну страницу.

Cast i-rinat.

Вопрос обсуждали тут, но всем по фигу.



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

что за помойка? никакой помойки. просто теперь кдеешный софт не завязан на кеды (передавайте привет гному)

anonymous
()

кде сохраняет конфиги и кэш в стандартных директориях xdg
КОДОЕ ПЯТЬ СРЁТ!И11 ДОПОМОХИТЕ!

Наркоман.

annerleen ★★★★☆
()
Ответ на: комментарий от anonymous

И ты тоже норкоман. До 5х кед они конфиги в ~/.kde[4] хранили (точнее, до kde apps 17.12, когда были выкинуты последние из четвёртокедных программ).

redgremlin ★★★★★
()

KDE5 устраивает помойку в $USER/.config и $USER/.cache, поэтому возникает вопрос как с этим бороться.

Я удалил KDE и у меня теперь чистота и порядок.

anonymous
()

Просто ставить кедоаппсы через флатпак, и проблемы не будет.

anonymous
()

KDE5 устраивает помойку в $USER/.config и $USER/.cache

А куда по-твоему оно должно писать кеш и конфиги?

Kroz ★★★★★
()

Насчет конфига - хз, кеды не юзаю с 4х, а ~/.cache вынесен в tmpfs, как и куча другой ненужной херни типа /tmp и /var/tmp

dygger1
()
Ответ на: комментарий от i-rinat

Fedora 29 + KDE в виртуалке запусти и посмотри.

KDE ужас что устраивает.

anonymous
()
Ответ на: комментарий от hateyoufeel

Красава! Чего только не сделаешь, чтобы kde хомяк не засирал своими файлами :)

anonymous
()
Ответ на: комментарий от rumgot

интересно один только я пользуюсь линупсом лишь постольку-поскольку (вся сереверная инфраструктура работает на debian, docker и пр.) пишу код на целевой платформе и знаю не больше чем нужно для работы, ну а дома я использую линупс опять же потому что программировать на нем удобно И ВО ВСЕХ ЭТИХ ВАШИХ KDE НЕ РАЗБИРАЮСЬ???????????? поставил бубунту и забил, никогда даже не пытался рабочий стол сменить

tz4678 ★★
()
Ответ на: комментарий от i-rinat

Проблема в:

  • Firefox
  • Palemoon
  • gtk
  • Clion
  • Atom
  • Android studio
  • cmake
  • dub
  • dbus
  • electron
  • fltk
  • easystroke
  • emacs
  • eclipse
  • gimp
  • idea
  • mono
  • npm
  • skype
  • steam
  • thunderbird
  • vscode

И других приложениях, которые срут конфигами и кешем непосредственно в $HOME, а не в $HOME/.config и $HOME/.cache

SR_team ★★★★★
()
Ответ на: комментарий от i-rinat

Писанина ТС выглядит как сарказм, думаю имелась в виду проблема именно тучи софта, которая пишет не в ~/.config и ~/.cache, ведь ~/.config с ~/.cache и так можно перенести, изменив переменные среды.

SR_team ★★★★★
()
Ответ на: комментарий от i-rinat

С ним-то в чём проблема?

Ты просто не видел, какую помойку там устраивает KDE. Например, файлы с неочевидными названиями прямо в ~/.config, а не в своих подкаталогах.

anonymous
()

Борьба с помойкой KDE5

Нет кодое - нет помойки.

entefeed ☆☆☆
()

оплачивать работу по написанию будешь?

тогда я могу

missxu
()
Ответ на: комментарий от i-rinat

Приложения и должны писать в ~/.config и ~/.cache. В чём проблема-то?

он хочет «специальный загон» для специального софта(типо КДЕ и прочего)

ну сделать то можно, вообще изи

missxu
()
Ответ на: комментарий от anonymous

Например, файлы с неочевидными названиями прямо в ~/.config, а не в своих подкаталогах.

Не помню, чтобы в XDG Base Directory Specification было требование иметь отдельные директории.

Я ещё понимаю, почему напрягало большое количество файлов и директорий в ~. Но теперь большая часть в ~/.config. Ты туда что, часто лазишь? Зачем?

i-rinat ★★★★★
()
Ответ на: комментарий от SR_team

Возможно, это от старых версий dbus. Довольно давно пофиксили, но вроде надо использовать dbus-user-session вместо dbus-x11.

anonymous
()
Ответ на: комментарий от i-rinat

Да, спецификация не требует, но почему-то никто больше не разводит там помойку. И когда вдруг надо найти какой-то конфиг, это раздражает.

anonymous
()
Ответ на: комментарий от tz4678

У меня примерно также, только использую кубунту или кде.неон.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Они мне не мешают, при желании можно их куда надо запихать. Мне не нравится, что по дефолту они срут в хомяк

SR_team ★★★★★
()
Ответ на: комментарий от SR_team

мне из-за автора пришлось убунту переустановить. поставил я се значит kde... а потом когда сносил kubuntu-desktop... ну вы понели.

tz4678 ★★
()
Ответ на: комментарий от tz4678

Молодец. Только тут не ТС виноват. Типа ты не знал, как будет...

rumgot ★★★★★
()

КДЕ присосавшаяся к божественному qtcurve короче кочерга которая испортила дополнительные совместимости и возможно много других программ

anonymous
()
Ответ на: комментарий от i-rinat

Приложения должны писать в $XDG_CONFIG_HOME и $XDG_DATA_HOME и $XDG_CACHE_HOME, вот в чём проблема.

Любой пользователь (вроде ТС) должен иметь возможность переопределить эти переменные в профайле, чтобы не писать говнобиблиотеки для прелоада.

E ★★★
()
Ответ на: комментарий от SR_team

Это давно уже не проблема. Большинство из этих приложений имеют ключи/переменные окружения для указания, где хранить настройки и данные. Из всего этого списка проблемы остаются только с dbus и проприетарными монстрами вроде андроид студии/эклипс.

E ★★★
()
Ответ на: комментарий от E

На самом деле и eclipse, и android studio, и все остальное можно вынудить использовать правильные директории жонглируя переменныеми XDG_CONFIG_HOME, XDG_CACHE_HOME, HOME.Например FF вот так можно хранить конфиги в ~/.config:

XDG_CACHE_HOME="$HOME/.cache" XDG_CONFIG_HOME="$HOME/.config" HOME="$HOME/.config" firefox
Но вот директория с конфигами все равно будет скрыта

SR_team ★★★★★
()
Ответ на: комментарий от E

ТС пишет про приложения из KDE5, которые уже (давно) пишут свои конфиги в XDG_CONFIG_HOME. Но они пишут это без уважения...

i-rinat ★★★★★
()
Ответ на: комментарий от SR_team

XDG_CACHE_HOME=«$HOME/.cache» XDG_CONFIG_HOME=«$HOME/.config»

Это делает за тебя любой современный дистр. Именно поэтому это не поможет в случае eclipse/android studio - они могут просто игнорировать эти спецификации и продолжать срать в хомяк. К тому же, ты забыл про XDG_DATA_HOME.

HOME=«$HOME/.config»

А это - инфернальный костыль. Это помогло бы, конечно, но никогда так не делай и не предлагай никому, я надеюсь, не надо пояснять, почему.

А что тебе нужно было сделать, так это погуглить «firefox xdg» и найти там упоминание XRE_PROFILE_LOCAL_PATH.

E ★★★
()
Ответ на: комментарий от i-rinat

Да, я упустил это из виду совершенно. Май бэд.

E ★★★
()
Ответ на: комментарий от Thetan

Не хотите реестра

Реестр тоже уже давно есть. Например, в ~/.config/dconf/user. Правда, там не просто свалка типизированных значений, как в реестре Windows, а набор схем с перечислением полей и граничных значений.

i-rinat ★★★★★
()
Ответ на: комментарий от Thetan

Реестры не нужны, ~/.var/app/* наиболее логичный вариант, всегда ясно в какой директории данные конкретного приложения находятся, и не нужно их выискивать по всему ~/ или прочим реестрам.

anonymous
()

Борьба с помойкой KDE5

sudo apt purge kde && sudo apt autoremove

meliafaro ★★★★★
()
Ответ на: комментарий от i-rinat

Меня напрягает помойка в в том смысле, что логически все KDE приложения для меня - часть некой экосистемы, поэтому в идеале должны лежать в ~/.config/kde

Если посмотреть на ~/.cache, то там просто лютый ужас - какие-то бесконечные кэши плазмы, тем, QML и прочего говна ~ 200MB весом.

QML, слава богу, можно отключить, то мне не нужно ещё 100MB кэшей тем оформления - я бы их вынес в /tmp или /var/tmp, но, увы, не представляю как.

anonymous
()
Ответ на: комментарий от i-rinat

Там ещё и описания настроек, в отличие от.

anonymous
()
Ответ на: комментарий от anonymous

Меня напрягает помойка в в том смысле, что логически все KDE приложения для меня - часть некой экосистемы, поэтому в идеале должны лежать в ~/.config/kde

Приложения KDE используют класс KConfig. Он в отдельном пакете, отдельной библиотекой. Так что по идее, достаточно его пропатчить и пересобрать. С остальными директориями — так же.

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

Тут есть проблема - надо поднимать среду разработки для KDE - 100500 зависимостей.

Плюс, пересборка после каждого обновления KDE.

Плюс, придётся мирится с тем, что в системе самосборные пакеты - что не гуд для безопасности.

anonymous
()
Ответ на: комментарий от anonymous

Тут есть проблема - надо поднимать среду разработки для KDE - 100500 зависимостей.

Во-первых, это не проблема, если собираешь в chroot. С schroot это становится ещё проще. Первоначальная настройка там довольно простая и быстрая.

Во-вторых, из зависимостей там:

Build-Depends: cmake (>= 3.0~), debhelper (>= 11~), doxygen (>= 1.8.13~),
 extra-cmake-modules (>= 5.49.0~),  graphviz, libqt5sql5-sqlite,
 pkg-kde-tools (>= 0.15.15ubuntu1~), qtbase5-dev (>= 5.8.0~),
 qttools5-dev (>= 5.4), qttools5-dev-tools (>= 5.4)
Не так уж и много. Из KDE'шного — только pkg-kde-tools и extra-cmake-modules.

Плюс, пересборка после каждого обновления KDE.

Да, это неизбежное.

Плюс, придётся мирится с тем, что в системе самосборные пакеты - что не гуд для безопасности.

Как самосборные пакеты влияют на безопасность?

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