Баг с точками входа (user places) в Dolphin и KDialog

Есть в KDE 5 один баг, который попался мне еще на заре «пятых кед», проявлял себя в разных дистрибутивах, обсуждался, хоть и вяло, как на наших, так и на зарубежных форумах, и тем не менее — еще жив. Совсем недавно он попался мне в свежем Manjaro KDE, вот прямо сейчас я наблюдаю его в Debian 9.4, сталкивался я с ним и в Linux Mint KDE и в Kubuntu и в Maui… В общем, на удивление живучий баг, хоть, вроде как, и известный. В статье речь пойдет про «костыль», которым этот баг можно нейтрализовать (на полноценное решение не тянет, но поможет).

Речь идет о баге связанном с «точками входа» (по-английски — user places) или попросту закладками в файловом менеджере Dolphin и в системном диалоге сохранения и открытия файлов KDE — KDialog. Суть бага вот в чем: если добавить какую-либо папку с кириллическим именем в «точки входа» Dolphin, то потом, при попытке обратится к ней возникает глюк — всегда в KDialog а иногда и в самом Dolphin. Суть глюка на скриншоте ниже:


Глюк в KDialog

Немного поясняю: у меня есть папка /media/Data/Проверка, которую я добавил в «точки входа». При попытке воспользоваться этой «закладкой» в KDialog, вместо означенной папки я попадаю в /media/Data/???????? и это бесит! Это реально мешает работать. Для примера на скриншоте выше — диалог сохранения файла. И в итоге сохраню я его в /media/Data/, а не туда, куда хотел.

Нивелировать негативный эффект от этого бага можно двумя способами.

Способ 1, для ленивых и не притязательных

Уложусь в одну строку: не добавляйте в «точки доступа» папки с кириллическими именами. Ваш кэп.

Глюк завязан именно на кириллицу, если пользоваться исключительно латиницей — никаких проблем.

Способ 2, для патриотов

Как быть, если мы все-таки хотим использовать в именах папок кириллицу?

Первая половина способа — добавлять «точки доступа» надо не через Dolphin, а через KDialog. То есть:

  • открываем любую программу, ну скажем Okular;
  • нажимаем файл > открыть;
  • в появившемся диалоге открытия файла добавляем необходимые «точки доступа».

Профит! Если так сделать, то все работает верно. Проблема в том, что спустя некоторое время глюк опять всплывает.

Заглянем в проблему глубже. Настройки точек доступа хранятся в файле /home/user/.local/share/user-places.xbel.

Проблема в неправильной кодировке. Если мы добавляем дочку доступа с кириллицей через KDialog, получается вот так:

user-places.xbel

А если через Dolphin, то изначально здесь будет кириллица, но вскоре она превратится в тыкву в это:


user-places.xbel

Со всеми вытекающими последствиями, описанными в начале. Если добавлять «точки входа» через KDialog, со временем они тоже могут принять такой вид, видимо Dolphin зачем-то перезаписывает файл (но это уже догадки).

Для себя решил проблему так:

  • после установки системы открыл KDialog через Okular (не принципиально, подойдет любая программа, которая использует именно KDialog);
  • создал необходимые точки доступа;
  • перешел в Dolphin в папку /home/user/.local/share/;
  • запретил запись в файл user-places.xbel (правый клик по файлу > Свойства > Права — для всех трех групп выбрать «Чтение»).

Плюс решения в том, что уже добавленные точки доступа не «портятся». Минус — чтобы добавить новые, надо менять права этого файла.

Вот собственно и весь «костыль».

В заключении хочу написать, что меня удивляет тот факт, что глюк этот обсуждается достаточно вяло (и до сих пор не исправлен). Такое впечатление, что появляется он не у всех. Или просто не все используют эти самые «точки доступа»?

Ну и наконец — если Вам известно иное решение этой проблемы, поделитесь в комментариях, буду признателен!

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.