LINUX.ORG.RU

Mozilla навязывает мне ~/Desktop

 , , ,


0

2

Сначала это было в thunderbird и firefox, теперь переползло в icedove и palemoon...

Если кратко: Софт от mozilla создает каталог ~/Desktop во врема запуска и ничего с этим поделоть нельзя, сначала думал на xdg-dirs и перенаправить ~/Desktop -> /tmp, но это не спасает! Mozilla софт всеравно создает этот проклятый каталог. Смотрев strace, ничего интересного не увидел(софтина просто создает каталог, без причины). Как победить без патчинга и пересборки?

★★★★
Ответ на: комментарий от Ja-Ja-Hey-Ho

Еще советуют проверить, что в ~/.config/user-dirs.dirs прописано.

Я пробовал в нем переназначать Desktop на tmp и тот-же dolphin это подхватил, но ff пофиг.

If I change the line I mentioned earlier from XDG_DESKTOP_DIR=«$HOME» to XDG_DESKTOP_DIR=«/home/username» solved the problem.

хм, ну ок можно в /etc/profile добавить попробовать

log4tmp ★★★★ ()

У меня последний PaleMoon всякие ~/Говнокаталоги не создаёт. ~/.config/user-dirs.dirs есть, чтобы подавить эту ересь, и вроде работает с $HOME.

xaizek ★★★★★ ()

> Софт от mozilla создает каталог ~/Desktop во врема запуска и ничего с этим поделоть нельзя

Можно и нужно, изменить один pref.
Как патчем перед компиляцией, так и при первом запуске - firefox/fennec/thunderbird.

~/Desktop и есть `DownloadDir`, который создаётся при отработке prefs при каждом запуске.

 pref("browser.urlbar.daysBeforeHidingSuggestionsPrompt", 4);
@@ -328,7 +328,7 @@
 // feedback from their action.
 pref("browser.download.saveLinkAsFilenameTimeout", 4000);
 
-pref("browser.download.useDownloadDir", true);
+pref("browser.download.useDownloadDir", false);
 pref("browser.download.folderList", 1);
 pref("browser.download.manager.addToRecentDocs", true);
 pref("browser.download.manager.resumeOnWakeDelay", 10000);
@@ -787,7 +787,7 @@
 pref("browser.sessionstore.resume_session_once", false);

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

Действительно, создаётся ~/Desktop несмотря ни на что.

lor@lor ~ % ls ~ | grep Desktop
drwxr-xr-x  1 lor  100      162 Dec  1 18:26 Desktop/
# Desktop становится Desktop.sav
lor@lor ~ % mv Desktop Desktop.sav
lor@lor ~ % ls ~ | grep Desktop   
drwxr-xr-x  1 lor  100      162 Dec  1 18:26 Desktop.sav/
# Создаётся новый профайл firefox
lor@lor ~ % firefox -p 
# Проверяется - создание firefox с новым профайлом Desktop в ~
# Создаёт
lor@lor ~ % ls ~ | grep Desktop
drwxr-xr-x  1 lor  100        0 Dec 23 20:41 Desktop/
drwxr-xr-x  1 lor  100      162 Dec  1 18:26 Desktop.sav/

Вопрос, конечно - с какой целью и в каком месте сурс есть Desktop?
Найдено, где и как создаётся: firefox-52.5.2esr/xpcom/io/Specialsystemdirectory.cpp

  char* dir = xdg_user_dir_lookup(
    xdg_user_dirs + xdg_user_dir_offsets[aSystemDirectory - Unix_XDG_Desktop]);

  nsresult rv;
...
  if (NS_FAILED(rv)) {
    return rv;
  }
  if (!exists) {
    rv = file->Create(nsIFile::DIRECTORY_TYPE, 0755);
    if (NS_FAILED(rv)) {
      return rv;
    }
  }
rv = file->Create(nsIFile::DIRECTORY_TYPE, 0755);
Вот так и создаётся Desktop, если его не существует.

Можно этот место удалить в сурс.
(И попробовать, не сломается ли что иное при этом?)

blitz ()