Warum...
In dieser Antwort konzentriere ich mich auf evince, da Sie dies als Ihre Schlüsselanwendung in der Frage erwähnt haben.
Im Quellcode wird im Dialogfeld " Speichern unter " nur der Standarddateiname festgelegt. Da kein Ordner definiert ist, gehen die GTK3-Bibliotheken davon aus, dass der zuletzt verwendete Ordner der erste Ordner ist, der im Dialogfeld angezeigt wird.
GTK3-Anwendungen müssen den Ordner explizit so einstellen, dass er zuerst durchsucht wird.
Persönlich denke ich, dass der Standardordner für evince definiert werden sollte - als solcher sollten Sie dies auf Bugzilla als Bug- / Wunschliste-Anfrage ablegen.
Wie...
Mit der folgenden Methode können Sie evince zwingen, den Ordner " Dokumente " als Standardordner festzulegen, anstatt den zuletzt verwendeten .
Zusammenfassend wird die Quelle geändert, um den Standardordner " Dokument " zu erhalten und diesen als Standardordner für das Dialogfeld " Speichern unter" festzulegen.
Installieren Sie die grundlegenden Entwicklungstools
sudo apt-get install devscripts build-essential fakeroot
Holen Sie sich die Quelle
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
mach die Veränderung
Öffne ev-window.c
gedit shell/ev-window.c
Kopieren Sie das Folgende und fügen Sie es an der im Bild gezeigten Position in die Datei ein
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 ());
Speichern und schließen Sie gedit
Geben Sie ihm einen eindeutigen Paketnamen
OK, wir müssen dem Paket einen eindeutigen Namen geben, um zu verhindern, dass Repository-Updates Ihr geändertes Paket überschreiben
gedit debian / changelog
Jetzt +yourname
an die oberste Zeile anhängen und speichern
dh evince (3.2.1-0ubuntu2+fossfreedom)
Bauen Sie das Paket
sudo apt-get build-dep evince
debuild -us -uc
NB das wird 161 MB Abhängigkeiten herunterladen
Geh auf einen Kaffee ... und wahrscheinlich Mittagessen!
cd ..
sudo dpkg -i evince_3.2*.deb
Nebenbei bemerkt - um zu verhindern, dass diese neue Version von evince in Zukunft aktualisiert wird, verwenden Sie synaptic , um diese Version von evince zu fixieren.