Tại sao...
Trong câu trả lời này, tôi đang tập trung vào evince vì bạn đã đề cập đến điều này như là ứng dụng chính của bạn trong câu hỏi.
Nhìn vào mã nguồn, hộp thoại Save-As chỉ đặt tên tệp mặc định. Vì không có thư mục nào được xác định, các thư viện GTK3 cho rằng các thư mục được sử dụng gần đây là thư mục đầu tiên được hiển thị trong hộp thoại.
Các ứng dụng GTK3 phải đặt rõ ràng thư mục để tìm kiếm đầu tiên.
Cá nhân tôi nghĩ rằng thư mục mặc định cho evince nên được xác định - vì vậy bạn nên gửi tệp này trên bugzilla như một yêu cầu danh sách lỗi / mong muốn.
Làm sao...
Sau đây là một cách để buộc evince mặc định vào thư mục Tài liệu thay vì sử dụng gần đây .
Tóm lại, nguồn được thay đổi để lấy thư mục Tài liệu mặc định và đặt đây là thư mục mặc định cho hộp thoại Lưu dưới dạng .
cài đặt các công cụ phát triển cơ bản
sudo apt-get install devscripts build-essential fakeroot
lấy nguồn
cd ~/Downloads
mkdir build
cd build
apt-get source evince
cd evince*
tạo ra sự thay đổi
Mở ev-window.c
gedit shell/ev-window.c
Sao chép và dán đoạn sau vào tệp tại vị trí hiển thị trong ảnh
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 ());
Lưu và đóng gedit
đặt cho nó một tên gói duy nhất
OK, chúng tôi cần đặt cho gói một tên duy nhất để ngăn cập nhật kho lưu trữ ghi đè gói đã thay đổi của bạn
gedit debian / changelog
bây giờ nối +yourname
vào phiên bản hàng đầu và lưu
I E evince (3.2.1-0ubuntu2+fossfreedom)
xây dựng gói
sudo apt-get build-dep evince
debuild -us -uc
NB này sẽ tải xuống 161Mb phụ thuộc
Đi uống cà phê ... và có lẽ là bữa trưa!
cd ..
sudo dpkg -i evince_3.2*.deb
Như một bên - để giữ cho phiên bản mới của evince này không bị nâng cấp trong tương lai, hãy sử dụng synap để ghim phiên bản evince này.