Почему...
В этом ответе я концентрируюсь на evince, так как вы упомянули это в качестве ключевого приложения в этом вопросе.
Глядя на исходный код, диалог « Сохранить как » устанавливает только имя файла по умолчанию. Поскольку папка не определена, библиотеки GTK3 предполагают, что папки « Недавно использованные» являются первой папкой, отображаемой в диалоговом окне.
Приложения GTK3 должны явно установить папку для первого поиска в.
Лично я думаю, что папка по умолчанию для evince должна быть определена - как таковой, вы должны подать это на bugzilla как запрос bug / wish-list.
Как...
Ниже приведен один из способов заставить evince установить по умолчанию папку « Документы », а не предыдущую, использованную недавно .
Таким образом, источник изменяется, чтобы получить папку « Документ » по умолчанию и установить ее в качестве папки по умолчанию для диалогового окна « Сохранить как ».
установить основные инструменты разработки
sudo apt-get install devscripts build-essential fakeroot
получить источник
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
внести изменения
Откройте ev-window.c
gedit shell/ev-window.c
Скопируйте и вставьте следующее в файл в позиции, показанной на изображении
const gchar *folder;
folder = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS);
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fc),
folder ? folder : g_get_home_dir ());
Сохранить и закрыть Gedit
дать ему уникальное имя пакета
ОК, нам нужно присвоить пакету уникальное имя, чтобы обновления хранилища не могли перезаписать ваш измененный пакет.
gedit debian / changelog
теперь добавьте +yourname
в верхнюю строку версию и сохраните
т.е. evince (3.2.1-0ubuntu2+fossfreedom)
собрать пакет
sudo apt-get build-dep evince
debuild -us -uc
NB это загрузит 161Mb зависимостей
Перейти на кофе ... и, вероятно, обед!
cd ..
sudo dpkg -i evince_3.2*.deb
В качестве отступления - чтобы не допустить обновления этой новой версии evince в будущем, используйте synaptic для закрепления этой версии evince.