How to save GNOME settings in a file?
I save my configuration in a Git repository to restore it easily later. Recently, I stumbled upon an issue where needed to change GNOME settings with the gsettings command. Is there a way to save these settings in a file that could be symlinked or copied in a predefined location expected by GNOME? I would prefer a method where I don’t need to write a script to call gsettings .
3 Answers 3
Here a little correction for «Dobey» commands :
It’s ok to save all donf settings like this :
dconf dump / > dconf-settings.ini
But you have to restore them like that ! :
GNOME settings are generally stored via the GSettings API, which is an implementation of the DConf specification. This stores the settings in a binary database, which should not be replaced while logged in.
Instead, the settings need to be exported and then loaded in again.
You can use dconf dump / > dconf-settings.ini to dump the settings to an INI file, and then use cat dconf-settings.ini | dconf load / to load those settings back in. You can replace the / with a specific path to limit what settings are dumped and loaded. See man dconf for more details there.
If you want to simply set a single key, rather than whole paths, it would be better to use gsettings for this, with gsettings get and gsettings set in a script.
This mean the whole dconf configuration will be saved and restored, right? I would like to save just what I need actually. Can I dconf load the part I’m just interested in?
@MorganCourbet that would be dconf read and dconf write , but gsettings is a more convenient for that, IMO
@MorganCourbet You can limit to specific paths (groups of settings, such as all the settings for a specific app) with dconf, but for specific individual settings it would be better to simply use the gsettings get/set commands.
KEY FILES To facilitate system configuration with a text editor, dconf can populate databases from plain text keyfiles. For any given system database, keyfiles can be placed into the /etc/dconf/db/database.d/ directory. The keyfiles contain groups of settings as follows: # Some useful default settings for our site [system/proxy/http] host='172.16.0.1' enabled=true [org/gnome/desktop/background] picture-uri='file:///usr/local/rupert-corp/company-wallpaper.jpeg' After changing keyfiles, the database needs to be updated with the dconf(1) tool.
If you just need to have GNOME pick up settings from a file without scripting, this might be the simplest way, but it needs administrator access for creating the key file.
The other option is to save the binary dconf database itself, but that’s not a good option for use with Git as version control. The database is typically located in $XDG_CONFIG_HOME/dconf (i.e., ~/.config/dconf by default). See section on PROFILES in the manpage.
The binary database format that dconf uses by default is not suitable for use on NFS, where mmap does not work well. To handle this common use case, dconf can be configured to place its binary database in XDG_RUNTIME_DIR (which is guaranteed to be local, but non-persistent) and synchronize it with a plain text keyfile in the users home directory.
But it’s not exactly clear how to do this without scripting.
Сохранение настроек в Ubuntu и прочих untu
Отправлено: 10-Ноя-2014 12:37
Сохранение настроек в Ubuntu и прочих untu.
Доброго времени. Оказывается, Ubuntu и сборки, основанные на ней, могут сохранять свои настройки. То-есть, запускаем Ubuntu с носителя, настраиваем на свой вкус, ставим программы и т. д. Выходим из системы. Подключаем носитель к другой машине, загружаем Ubuntu и перед нами настроенная вами система, с любимыми программами, закладками и настройками. ОС, которая всегда с собой в кармане.
Как сделать:
Запускаем из образа:
Качаем образ.
Копируем в папку на носителе.
В меню пишем:
title ubuntu
find —set-root /имя папки/ubuntu.iso
map /имя папки/ubuntu.iso (0xff)
map —hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent iso-scan/filename=/имя папки/ubuntu.iso locale=ru_RU splash
initrd /casper/initrd.lz
Запускаем из папки «ubuntu»
Качаем образ.
На носителе создаем папку «ubuntu».
Все из из образа извлекаем в папку.
В меню пишем:
title ubuntu
kernel / ubuntu /casper/vmlinuz live-media-path=/ ubuntu /casper/ file=/cdrom/preseed/ubuntu.seed boot=casper persistent locale=ru_RU splash
initrd / ubuntu /casper/initrd.lz
Имя папки может быть любое, надо только поменять выделенное синим на свое.
За сохранение настроек отвечает параметр: persistent
За загрузку из папки отвечает параметр: live-media-path=/ ubuntu /casper/
Систему загрузили, в параметрах загрузки указали сохранение настроек. Теперь нам нужно в корне носителя создать файл, в котором система будет сохранять свои настройки. Файл этот должен называться casper-rw и находиться в корне носителя.
Файл casper-rw можно создать программой RMPrepUSB, о создании файла можно почитать по ссылке выше (чуть позже). Можно скачать по ссылкам ниже.
Размер файла зависит от того, сколько изменений вы хотите сохранить (для пробы и осознания достаточно 500 мб). Файлы пустые и в архиве поэтому весят меньше 1 МБ.
Файл 500 МБ
Файл 1000 МБ
Скачиваем архив. Из архива извлекаем файл casper-rw в корень носителя.
Грузимся с носителя, запускаем ОС.
Если все сделали правильно, ОС монтирует файл (увидите в дисках).
Все, можно попробовать поменять обои, создать файл и перезагрузиться. Если все правильно, после перезагрузки все изменения сохранятся.
Отправлено: 10-Ноя-2014 12:40 (спустя 2 минуты)
Наверно этим проще создавать нужного размера файл сохранения из под Windows
http://www.pendrivelinux.com/downloads/Casper-RW-Cr. r-RW-Creator.exe
http://www.henrynestler.com/colinux/tools/toporesize-0.7.1.zip
По моему мнению файл casper-rw лучше прятать в папку, а не в корень диска
persistent persistent-path=имя папки
Отправлено: 11-Янв-2015 21:07 (спустя 2 месяца 1 день)
- valeriduss
- Стаж: 8 лет 6 месяцев
- Сообщений: 15
- Репутация: 0 [+] [-]
Друзья, подскажите пожалуйста, где ошибка.
Сделал флешку и на ней развернул Ubuntu. Т.е . Live-Ubuntu.
В корне флешки создал каталог Ubuntu.
В этот каталог положил четыре файла:
vmlinuz
initrd
ubuntu-14.04.1.iso
casper-rw
Файлы vmlinuz, initrd взял из образа, а casper-rw нашел по Вашей подсказке.
Вот меню запуска.
title Ubuntu ubuntu-14.04.1
kernel /ubuntu/vmlinuz iso-scan/filename=/ubuntu/ubuntu-14.04.1.iso boot=casper persistent-path=/ubuntu/casper-rw locale=ru_RU quiet splash &vt_handoff nomodeset —
initrd /ubuntu/initrd.lz
Ubuntu запускается быстро. Этот &vt_handoff nomodeset параметр я ввел, так как иначе у меня получался «жеванный» экран.
Но остались проблемы с сохранением настроек.
Пожалуйста, подскажите, где моя ошибка.
С уважением Валерий
Отправлено: 11-Янв-2015 22:31 (спустя 1 час 23 минуты)
valeriduss , Приветствую!
Точно уже не скажу, так как давно не занимался этим. Но, думаю, должно быть так:
title Ubuntu ubuntu-14.04.1
kernel /ubuntu/vmlinuz iso-scan/filename=/ubuntu/ubuntu-14.04.1.iso boot=casper persistent persistent-path=ubuntu locale=ru_RU quiet splash &vt_handoff nomodeset —
initrd /ubuntu/initrd.lz
И попробуйте со слешами поиграть.
Отправлено: 11-Фев-2015 15:16 (спустя 30 дней)
puhpol , Добрый день!
Этот вопрос мы обсуждали на старом сайте.
valeriduss , Плагиат из моего блога
Существующие способы использования LiveUSB Ubuntu с сохранением изменений в файле casper-rw имеют существенные ограничения :
— фиксированное имя виртуального диска casper-rw ;
— расположение casper-rw обязательно в корневой директории диска или флешки ;
— использование только FAT32 поскольку на NTFS Ubuntu загружается, но обнпружить casper-rw не может.
В grub4dos имеется команда partnew, создающая виртуальный раздел диска/флешки. С использованием этой команды устраняются перечисленные ограничения. Код для menu.lst выглядит следующим образом :
title LiveUSB ubuntu-13.04
set CSP=/ubuntu/ubuntu-1304
partnew (hd0,3) 0x00 %CSP% > nul
map %CSP% (32)
map —hook
kernel /ubuntu/vmlinuz iso-scan/filename=/ubuntu/ubuntu-1304.iso boot=casper persistent locale=ru_RU splash
initrd /ubuntu/initrd.lz
В примере используется образ ubuntu-1304.iso, расположенный в папке ubuntu. В эту же папку положены файлы vmlinuz и initrd.lz, извлеченные из образа. Сюда же помещен файл виртуального диска ubuntu-1304 в девичестве casper-rw. Имя виртуального диска может быть произвольным.
Предлагаемый способ имеет следующие ограничения :
— виртуальный диск, помимо имени файла, имеет еще и метку, которая проявляется при подключении этого диска. Так вот, эта метка должна быть обязательно casper-rw . Виртуальный диск под windows с именем файла casper-rw и меткой виртуального диска casper-rw создает утилита PDL-Casper-RW-Creator.exe. Как уже упоминалось, имя файла можно изменить на произвольное.
— команда partnew работает только с непрерывными (без фрагментов) файлами, т.е. файл виртуального диска при необходимости нужно дефрагментировать.
Виртуальный раздел можно создать если на диске/флешке имеется не более трех разделов. После создания раздела командой partnew он не использует пространство диска и не исчезает после перезагрузки из ubuntu в другую ОС. Под windows этот раздел не обнаруживается в Управлении дисками, менеджерами дисков Acronis, Paragon. Увидеть его можно в утилите BOOTICE.EXE по кнопке Parts Manage.
Для удаления виртуального раздела можно выполнить под grub4dos команду :
title partnew nul
partnew (hd0,3) 0 0 0
configfile /menu.lst
Следует прявить внимательнось. Применение этой команды к физическому разделу делает этот раздел неразмеченным.
Как сохранить настройки программ при полной переустановке Линукс
Очень редко бывают случаи, когда необходимо полностью переустановить Линукс. Иногда это бывает по требованию обновления оболочки. Имеет смысл произвести таким образом чистку от кучи всяких файлов постоянно генерированных программами и самим Линуксом (по большей части они в корневом разделе), после установок или обновлений скольких-то подряд дистрибутивов, скажем раз в 10 лет.. Если меняете оболочку с одной на другую, тож имеет смысл снести всё.. Предпочитаю стирать EFI, корень / и /home каждый раз.
Покажу что сохраняю, естественно программ может быть больше, главное понять суть..
Настройки программ в основном лежат в конкретном месте, в директории пользователя ~/.config/ (/home/USER/.config/). Там где не указаны конкретные файлы, значит копируем всё содержимое..
Нам необходимо скопировать содержимое директорий, куда-нить на другой диск, флешку итп:
- Делаем принтскрины открытых директорий и рабочего стола с открытым на фоне файловым менеджером Dolphin и открытым Пуском с избранным. После переустановки поможет настроить как было..
- Сохраняю вкладки браузеров, в Mozilla Firefox нажать Alt → Закладки → Показать все закладки → Импорт и резервные копии → Экспорт закладок в HTML файл. (Обратно импорт само собой, он панель закладок может развернуть как отдельную директорию — перетащите потом в менеджере если пользуетесь..)
- ~/Рабочий стол/
- Проверьте в домашней директории — не завалялось ли чего в документах, загрузках итд.
- ~/.local/share/TelegramDesktop/
- ~/.config/audacious/
- ~/.local/share/ktorrent/ (здесь торренты в раздаче)
- ~/.xbindkeysrc
- ~/.config/filezilla/
- ~/NetBeansProjects/
- ~/.config/geany/
- /colorschemes/
- filetype_extensions.conf
- geany.conf
- keybindings.conf
- ~/.config/eiskaltdc++/
- /Certificates/
- antispam
- blacklist
- DCPlusPlus.xml
- Favorites.xml
- HashData.dat
- HashIndex.xml
- ipfilter
- ~/.config/smplayer/ (кроме директории /file_settings/, в ней много файлов туда сохраняются позиции видео итп) Скрипт установки всё настроит.
- ~/notes.txt
После установки Linux, просто устанавливаем программы и копируем обратно файлы, в итоге всё подхватится как и было, ничего руками ковырять в настройках нет необходимости : )
(Если директорий нет: запустите и закройте программы, они создадут файлы конфигурации — копируйте настройки…)
Остальное я перенастраиваю вручную, по причине возможных изменений и незнания где точно конкретные настройки. Решил не тратить время на долгие выяснения там где не надо, руками потыкать быстрее раз в сколько-то лет..
Все свои файлы я храню на отдельном диске, заведите такую привычку — она полезная, позволяет особо не задумываться при сносе системы..