Как найти текущий профиль gnome-terminal с помощью командной строки?

Вопрос или проблема

Я использую 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}"  # Убираем кавычки из результата

Инструкции по использованию:

  1. Создайте скрипт:
    Откройте терминал и создайте файл с помощью команды:

    nano current-profile.sh

    Вставьте в него код, приведенный выше. Затем сохраните файл и выйдите из редактора (в nano — Ctrl+X, затем Y и Enter).

  2. Сделайте скрипт исполняемым:
    Измените права доступа к файлу, чтобы он стал исполняемым:

    chmod +x current-profile.sh
  3. Запустите скрипт:
    Выполните скрипт, чтобы получить информацию о текущем профиле:

    ./current-profile.sh

Скрипт выведет имя используемого в данный момент профиля в gnome-terminal.

Примечания:

  • Убедитесь, что у вас установлены необходимые пакеты, такие как gsettings, которые обычно идут в стандартной поставке Ubuntu и gnome-terminal.
  • Данный метод работает на версиях gnome-terminal, поддерживающих команды gsettings и старые версии профилей. На более новых версиях могут потребоваться дополнительные изменения.

Таким образом, с помощью этого скрипта вы сможете легко узнать, какой профиль gnome-terminal используется в данный момент из командной строки.

Оцените материал
Добавить комментарий

Капча загружается...