Вопрос или проблема
Я использую Ubuntu 16.04 и хочу иметь возможность узнать, какой профиль используется в данном терминальном эмуляторе. Достаточно просто его названия.
Это triviale найти с помощью графического интерфейса: достаточно щелкнуть правой кнопкой мыши в окне терминала, и используемый профиль будет указан в разделе “Профили”. Вы также можете перейти в меню Правка -> Предпочтения профиля -> Имя профиля.
Я хотел бы получить эту информацию через командную строку, но не могу найти, как это сделать.
Я нашел следующий скрипт по адресу https://github.com/helino/current-gnome-terminal-profile/blob/master/current-gnome-terminal-profile.sh:
#!/bin/bash
FNAME="$HOME/.current_gnome_profile"
gnome-terminal --save-config=$FNAME
ENTRY=`grep ProfileID < $FNAME`
rm $FNAME
TERM_PROFILE=${ENTRY#*=}
echo -n "$TERM_PROFILE"
Ответ или решение
Для того чтобы узнать, какой профиль используется в gnome-terminal из командной строки, можно воспользоваться следующим скриптом. Он сохраняет текущую конфигурацию терминала в временный файл, извлекает идентификатор профиля и затем выводит его название.
Создайте файл current-profile.sh
и скопируйте в него следующий код:
#!/bin/bash
# Создаем временный файл для хранения конфигурации
FNAME="$HOME/.current_gnome_profile"
# Сохраняем конфигурацию gnome-terminal в временный файл
gnome-terminal --save-config="$FNAME" > /dev/null 2>&1
# Извлекаем строку с идентификатором профиля
ENTRY=$(grep ProfileId "$FNAME")
# Удаляем временный файл
rm "$FNAME"
# Извлекаем и выводим имя профиля
PROFILE_ID=${ENTRY#*=}
PROFILE_NAME=$(gsettings get org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$PROFILE_ID/ visible-name)
echo "${PROFILE_NAME:1:-1}" # Убираем кавычки из результата
Инструкции по использованию:
-
Создайте скрипт:
Откройте терминал и создайте файл с помощью команды:nano current-profile.sh
Вставьте в него код, приведенный выше. Затем сохраните файл и выйдите из редактора (в nano — Ctrl+X, затем Y и Enter).
-
Сделайте скрипт исполняемым:
Измените права доступа к файлу, чтобы он стал исполняемым:chmod +x current-profile.sh
-
Запустите скрипт:
Выполните скрипт, чтобы получить информацию о текущем профиле:./current-profile.sh
Скрипт выведет имя используемого в данный момент профиля в gnome-terminal.
Примечания:
- Убедитесь, что у вас установлены необходимые пакеты, такие как
gsettings
, которые обычно идут в стандартной поставке Ubuntu и gnome-terminal. - Данный метод работает на версиях gnome-terminal, поддерживающих команды gsettings и старые версии профилей. На более новых версиях могут потребоваться дополнительные изменения.
Таким образом, с помощью этого скрипта вы сможете легко узнать, какой профиль gnome-terminal используется в данный момент из командной строки.