xdotool не удается установить профиль терминала на Ubuntu 22.04

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

Я использую Ubuntu 22.04. У меня есть три профиля в терминале: один встроенный по умолчанию и два, которые я создал сам:

вставьте описание изображения здесь

Мой профиль “OCaml” имеет синий цвет фона среди прочего:

вставьте описание изображения здесь

Но когда я пытаюсь использовать xdotool, как предложено в ответах на этот более старый вопрос, чтобы программно установить мой профиль, ни один из них не работает: цвет фона остается неизменным.

вставьте описание изображения здесь

Есть идеи?

Обновление: Просто чтобы было ясно, я не ищу способ установить мой профиль по умолчанию на “OCaml”, я хочу оставить профиль по умолчанию таким, какой он есть, и использовать мой профиль Ocaml только тогда, когда вы угадали, я программирую на языке OCaml. Причина, по которой я хочу сделать это программно, используя командную строку, заключается в том, что в настоящее время, когда я начинаю программировать на OCaml в своем терминале, я выполняю два отдельных действия: вызываю bash-скрипт для настройки своей среды OCaml и устанавливаю профиль на OCaml с помощью графического интерфейса Gnome. Я хотел бы объединить эти два действия в одно, чтобы сэкономить время.

Ответ или решение

Чтобы установить профиль терминала с помощью xdotool в Ubuntu 22.04, вам необходимо использовать комбинацию CLI инструментов, так как xdotool не всегда может правильно управлять графическими элементами интерфейса, особенно при работе с профилями терминала.

Вот шаги, которые вы можете предпринять для решения вашей проблемы:

  1. Убедитесь, что xdotool установлен:
    Для начала убедитесь, что у вас установлен xdotool. Выполните следующую команду в терминале:

    sudo apt install xdotool
  2. Используйте gsettings для изменения профиля:
    Вместо использования xdotool, вы можете изменить профиль терминала с помощью gsettings. Это более надежный метод, поскольку gsettings напрямую работает с настройками GNOME. Выполните следующую команду, чтобы установить профиль "OCaml":

    gsettings set org.gnome.Terminal.legacy profile:/org/gnome/terminal/legacy/profiles:/:<PROFILE_ID>/visible-name 'OCaml'
    gsettings set org.gnome.Terminal.legacy profile:/org/gnome/terminal/legacy/profiles:/:<PROFILE_ID>/background-color '#<HEX_COLOR>'

    Подставьте <PROFILE_ID> с идентификатором вашего профиля "OCaml" (это строка, которая выглядит примерно как 8e3d4a2b-4f15-4932-92f2-8c3fcb0c780c). Для того чтобы узнать идентификатор, выполните следующую команду:

    gsettings get org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/ list

    В результате вы получите список доступных профилей.

  3. Скрипт для объединения операций:
    Создайте скрипт, который будет настраивать окружение OCaml и менять профиль терминала. Пример скрипта:

    #!/bin/bash
    
    # Установка OCaml окружения
    eval $(opam env)
    
    # Смена профиля на OCaml
    gsettings set org.gnome.Terminal.legacy profile:/org/gnome/terminal/legacy/profiles:/:<PROFILE_ID>/visible-name 'OCaml'
    
    # Открыть новый терминал с OCaml профилем
    gnome-terminal --window --profile=<PROFILE_ID>

    Замените <PROFILE_ID> на ваш идентификатор профиля. Не забудьте сделать скрипт исполняемым:

    chmod +x ваш_скрипт.sh
  4. Тестирование:
    Запустите ваш скрипт и проверьте, что профиль терминала изменяется и OCaml окружение устанавливается корректно.

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

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

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