Perché...
In questa risposta mi sto concentrando sull'evince poiché hai menzionato questa come la tua applicazione chiave nella domanda.
Guardando il codice sorgente, la finestra di dialogo Salva con nome imposta solo il nome file predefinito. Poiché non è stata definita alcuna cartella, le librerie GTK3 presuppongono che le cartelle utilizzate di recente sia la prima cartella da visualizzare nella finestra di dialogo.
Le applicazioni GTK3 devono impostare esplicitamente la cartella per la prima ricerca.
Personalmente penso che la cartella predefinita per evince dovrebbe essere definita - come tale dovresti archiviarla su bugzilla come richiesta di bug / lista dei desideri.
Come...
Di seguito è un modo per forzare l'evince alla cartella Documenti predefinita anziché alla precedente utilizzata di recente .
In breve, l'origine viene modificata per ottenere la cartella Documenti predefinita e impostarla come cartella predefinita per la finestra di dialogo Salva con nome .
installare gli strumenti di sviluppo di base
sudo apt-get install devscripts build-essential fakeroot
ottenere la fonte
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
Fai il cambiamento
Apri ev-window.c
gedit shell/ev-window.c
Copia e incolla quanto segue nel file nella posizione mostrata nell'immagine
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 ());
Salva e chiudi gedit
assegnagli un nome pacchetto univoco
OK, dobbiamo assegnare al pacchetto un nome univoco per impedire agli aggiornamenti del repository di sovrascrivere il pacchetto modificato
gedit debian / log delle modifiche
ora aggiungi +yourname
alla versione di prima linea e salva
vale a dire evince (3.2.1-0ubuntu2+fossfreedom)
costruire il pacchetto
sudo apt-get build-dep evince
debuild -us -uc
NB questo scaricherà 161 Mb di dipendenze
Vai a prendere un caffè ... e probabilmente a pranzo!
cd ..
sudo dpkg -i evince_3.2*.deb
A parte questo, per evitare che questa nuova versione di evince venga aggiornata in futuro, usa synaptic per aggiungere questa versione di evince.