В этом ответе я концентрируюсь на evince, так как вы упомянули это как свое ключевое приложение в вопросе.
Глядя на исходный код, Диалоговое окно «Сохранить-как» устанавливает только имя файла по умолчанию. Поскольку никакая папка не определена, библиотеки GTK3 предполагают, что папки с последними версиями являются первой папкой, которая будет отображаться в диалоговом окне.
Приложения GTK3 должны явно указать папку для первого поиска.
Лично я думаю, что необходимо определить папку по умолчанию для evince - как таковой вы должны указать это на bugzilla как запрос об ошибке / запросе.
Следующим является один из способов принудительного выравнивания по умолчанию для папки Save-As , а не предыдущей недавно использованной.
Таким образом, источник изменяется для получения значения по умолчанию недавно использовала папку и установила это как папку по умолчанию для диалогового окна , недавно использованного .
установить базовые средства разработки
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 ());
[d 26] Сохранить и закрыть gedit
внести изменения
ОК, нам нужно предоставить пакету уникальное имя, чтобы предотвратить обновление репозитория от вашего измененного пакета
gedit debian / changelog
теперь добавьте +yourname в версию верхней строки и сохраните
т.е. evince (3.2.1-0ubuntu2+fossfreedom)
построить пакет
sudo apt-get build-dep evince
debuild -us -uc
N.B. это будет скачать 161Mb зависимостей
Пойдите для кофе ... и, возможно, обед!
cd ..
sudo dpkg -i evince_3.2*.deb
В стороне - чтобы эта новая версия evince не обновлялась в будущее, используйте gedit , чтобы связать эту версию evince.
Все проблемы безопасности остались в стороне. Я наткнулся на отличный инструмент, который может помочь вам в создании и управлении несколькими версиями php параллельно:
phpbrew отлично справляется с облегчением задания настройки php-источника к вашим потребностям и компиляции:
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew && sudo mv phpbrew /usr/local/bin/phpbrew
phpbrew init
echo '[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc' >> .bashrc
source ~/.phpbrew/bashrc
phpbrew update
phpbrew install --old 5.3.29 +default +mysql +pdo +apxs2
Установка выполняется в ваш каталог $ HOME, и вы можете установить версию php по умолчанию (т.е. /usr/bin/php)
phpbrew switch 7.2
и переопределите вашу текущую / активную версию php, временно установив ее
phpbrew use 5.3.29
Все проблемы безопасности остались в стороне. Я наткнулся на отличный инструмент, который может помочь вам в создании и управлении несколькими версиями php параллельно:
phpbrew отлично справляется с облегчением задания настройки php-источника к вашим потребностям и компиляции:
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew && sudo mv phpbrew /usr/local/bin/phpbrew
phpbrew init
echo '[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc' >> .bashrc
source ~/.phpbrew/bashrc
phpbrew update
phpbrew install --old 5.3.29 +default +mysql +pdo +apxs2
Установка выполняется в ваш каталог $ HOME, и вы можете установить версию php по умолчанию (т.е. /usr/bin/php)
phpbrew switch 7.2
и переопределите вашу текущую / активную версию php, временно установив ее
phpbrew use 5.3.29