Dlaczego...
W tej odpowiedzi koncentruję się na ewince, ponieważ wspomniałeś o tym jako o kluczowym zastosowaniu w pytaniu.
Patrząc na kod źródłowy, okno dialogowe Zapisz jako określa tylko domyślną nazwę pliku. Ponieważ nie zdefiniowano żadnego folderu, biblioteki GTK3 zakładają, że ostatnio używane foldery są pierwszym folderem wyświetlanym w oknie dialogowym.
Aplikacje GTK3 muszą jawnie ustawić folder na pierwsze wyszukiwanie.
Osobiście uważam, że należy zdefiniować domyślny folder dla evince - jako taki powinieneś zapisać go w Bugzilli jako prośbę o błąd / listę życzeń.
W jaki sposób...
Poniżej przedstawiono jeden sposób na wymuszenie domyślnego ustawienia opcji evince w folderze Dokumenty, a nie w poprzednim ostatnio używanym .
Podsumowując, źródło zostaje zmienione, aby uzyskać domyślny folder Dokument i ustawić go jako domyślny folder dla okna dialogowego Zapisz jako .
zainstaluj podstawowe narzędzia programistyczne
sudo apt-get install devscripts build-essential fakeroot
zdobądź źródło
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
dokonać zmiany
Otwórz ev-window.c
gedit shell/ev-window.c
Skopiuj i wklej następujące elementy do pliku w miejscu pokazanym na obrazie
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 ());
Zapisz i zamknij gedit
nadaj mu unikalną nazwę pakietu
OK, musimy nadać pakietowi unikalną nazwę, aby zapobiec zastąpieniu zmienionego pakietu przez aktualizacje repozytorium
gedit debian / changelog
teraz dołącz +yourname
do górnej linii i zapisz
to znaczy evince (3.2.1-0ubuntu2+fossfreedom)
zbuduj pakiet
sudo apt-get build-dep evince
debuild -us -uc
Uwaga: spowoduje to pobranie 161 MB zależności
Idź na kawę ... i prawdopodobnie lunch!
cd ..
sudo dpkg -i evince_3.2*.deb
Na marginesie - aby zapobiec aktualizacji tej nowej wersji evince w przyszłości, użyj synaptic do przypięcia tej wersji evince.