Запустите echo pidgin-data install | dpkg --set-selections (замените pidgin-data на имя удерживаемого пакета) - это изменит статус пакета на install, а не на hold.
Вы не можете создать новый профиль, но вы можете сбросить текущую конфигурацию, используя gconftool-2, изменить его и загрузить.
gconftool-2 --dump '/apps/gnome-terminal' > gnome-terminal-conf.xml
## Modify the file here.
gconftool-2 --load gnome-terminal-conf.xml
Помните, что он возвращает только значения, отличные от значений по умолчанию (или какой gconf обнаруживает как нестандартный), поэтому полученный файл не может быть завершен.
File-> Новый профиль на вашем терминале.
Подробнее см. Здесь
Ссылки:
https: / /help.gnome.org/users/gnome-terminal/stable/pref-profiles.html.enДля терминала GNOME> = 3.8 для создания / редактирования / чтения профилей через cli вы можете использовать либо dconf-cli, либо gsettings. Мой выбор dconf-cli.
Каталог dconf терминала GNOME - /org/gnome/terminal/legacy/profiles:. Все операции происходят в этом каталоге. Я храню его в $dconfdir, который показан в приведенных ниже сценариях.Минимальные шаги:
Создайте UUID для профиля, запустив команду uuidgen. Добавьте ее к list: dconf write "$dconfdir/list" "[..., 'UUID']" Установите visible-name: dconf write "$dconfdir/:UUID"/visible-name "'NAME'". После этого, даже если многие настройки не установлены, в настройках графического интерфейса терминала появится новый профиль, чтобы вы могли редактировать настройки через графический интерфейс.
Рабочий скрипт:
#!/bin/bash
dconfdir=/org/gnome/terminal/legacy/profiles:
create_new_profile() {
local profile_ids=($(dconf list $dconfdir/ | grep ^: |\
sed 's/\///g' | sed 's/://g'))
local profile_name="$1"
local profile_ids_old="$(dconf read "$dconfdir"/list | tr -d "]")"
local profile_id="$(uuidgen)"
[ -z "$profile_ids_old" ] && local lb="[" # if there's no `list` key
[ ${#profile_ids[@]} -gt 0 ] && local delimiter=, # if the list is empty
dconf write $dconfdir/list \
"${profile_ids_old}${delimiter} '$profile_id']"
dconf write "$dconfdir/:$profile_id"/visible-name "'$profile_name'"
echo $profile_id
}
# Create profile
id=$(create_new_profile TEST)
Будьте осторожны с кавычками вокруг значения, которое вы пишете. Как сказано в руководстве,
Каталог dconf терминала GNOME - /org/gnome/terminal/legacy/profiles:. Все операции происходят в этом каталоге. Я храню его в $dconfdir, который показан в сценариях ниже.
При настройке ключа вам также нужно указать VALUE. Формат значения представляет собой формат сериализованного GVariant, так, например, строка должна содержать явные кавычки: "'foo'". Этот формат также используется при печати значений.
dconf write /org/gnome/terminal/legacy/profiles:/:UUID/KEY "'NAME'"
Вы можете установить дополнительные параметры профиля через cli, если хотите. Выполнить
для установки. Вы можете использовать dconf-editor для проверки доступных параметров. Перейдите к пути, например /org/gnome/terminal/legacy/profiles:/:9ca4ab84-42f2-4acf-8aa9-50e6351b209a/. Лучше проверить старый профиль с множеством опций.
Вы можете dconf dump установить старый профиль и load на существующий. Чтобы дублировать профиль, вам нужно создать новый, используя приведенные выше шаги, и скопировать старый профиль, чтобы переопределить его. Не забудьте переименовать его после переопределения.
# ... codes from last script
duplicate_profile() {
local from_profile_id="$1"; shift
local to_profile_name="$1"; shift
local profile_ids=($(dconf list $dconfdir/ | grep ^: |\
sed 's/\///g' | sed 's/://g'))
# If UUID doesn't exist, abort
in_array "$from_profile_id" "${profile_ids[@]}" || return 1
# Create a new profile
local id=$(create_new_profile "$to_profile_name")
# Copy an old profile and write it to the new
dconf dump "$dconfdir/:$from_profile_id/" \
| dconf load "$dconfdir/:$id/"
# Rename
dconf write "$dconfdir/:$id"/visible-name "'$to_profile_name'"
}
# Create a profile from an existing one
duplicate_profile $id TEST1
Рабочий скрипт:
get_profile_uuid() {
# Print the UUID linked to the profile name sent in parameter
local profile_ids=($(dconf list $dconfdir/ | grep ^: |\
sed 's/\///g' | sed 's/://g'))
local profile_name="$1"
for i in ${!profile_ids[*]}; do
if [[ "$(dconf read $dconfdir/:${profile_ids[i]}/visible-name)" == \
"'$profile_name'" ]]; then
echo "${profile_ids[i]}"
return 0
fi
done
}
id=$(get_profile_uuid Default)
Получить UUID профиля по его имени:
[ f5]