Использование установленных шрифтов в gnome-terminal

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

В последнее время я занимался настройкой gnome-terminal, чтобы она выглядела более привлекательно. Я пытался использовать установленные шрифты, которые находились в моей папке ~/.fonts (установлены с помощью Font Viewer), но когда я редактирую профиль gnome-terminal, установленный шрифт не отображается.

Шрифт, который я пытаюсь использовать, – cure.se.ttf, и каждая другая программа, позволяющая менять шрифты, работает, а также он установлен глобально.

Я неправильно их устанавливаю, или они должны находиться в определённом месте?

Похоже, что интерфейс настройки фильтрует не моноширинные шрифты.

Обходным путём является использование dconf для установки шрифтов напрямую:

# получите ваш profile id
dconf list '/org/gnome/terminal/legacy/profiles:/'
# получите текущий шрифт
dconf read '/org/gnome/terminal/legacy/profiles:/:PROFILE_ID/font'
# установите шрифт, убедитесь, что используете одинарные кавычки
dconf write '/org/gnome/terminal/legacy/profiles:/:PROFILE_ID/font' "'FreeMono 18'"

Для меня сработало размещение файлов шрифтов в ~/.local/share/fonts и выполнение команды,

$ sudo fc-cache -vf ~/.local/share/fonts

Шрифты в ~/.local/share/fonts теперь доступны для всех приложений.

У меня была такая же проблема. Установка разрешений на шрифт решила мою проблему. Например:

chmod 755 ~/.fonts/cure.se.ttf

Затем откройте новый экземпляр терминала.

На Ubuntu 22.04, размещение новых файлов .ttf в /usr/share/fonts/truetype/ubuntu позволяет новым шрифтам автоматически появляться в настройках шрифтов gnome-terminal.

Надеюсь, это поможет!

Обновление кеша шрифтов может решить проблему. Попробуйте выполнить следующую команду:

fc-cache -vf ~/.fonts

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

Использование установленных шрифтов в gnome-terminal может быть несколько сложным процессом, особенно если речь идет о специфичных настройках, таких как изменение внешнего вида терминала с помощью пользовательских шрифтов. Рассмотрим основные аспекты решения этой задачи, основываясь на предоставленных данных и знаниях о работе шрифтов в GNOME и Linux в целом.

Теория

GNOME Terminal и другие подобные ему приложения изначально настроены использовать системные шрифты, которые обычно хранятся в общих директориях, таких как /usr/share/fonts или ~/.local/share/fonts. Основная задача пользователя — убедиться, что шрифт, который вы хотите использовать, корректно установлен и доступен для системы.

GNOME Terminal, как правило, фильтрует шрифты, оставляя только моноширинные, так как они обеспечивают наилучшую читаемость и удобство кодинга. Это объясняется следующим фрагментом кода, который вы упомянули, занимающегося фильтрацией немоноширинных шрифтов. Однако это ограничение можно обойти, если воспользоваться более низкоуровневыми инструментами конфигурации GNOME, такими как dconf.

Пример

Рассмотрим типичный сценарий, где пользователь пытается установить шрифт cure.se.ttf, размещенный в домашнем каталоге ~/.fonts, из Font Viewer, но сталкивается с проблемой отсутствия его в списке доступных шрифтов в gnome-terminal.

  1. Перемещение шрифта в корректную директорию:
    Шрифт может корректно отображаться в gnome-terminal, если он перемещен в папку ~/.local/share/fonts. В некоторых дистрибутивах Linux также помогает размещение шрифтов в системной директории, например, /usr/share/fonts/truetype/ubuntu.

    mv ~/.fonts/cure.se.ttf ~/.local/share/fonts/
  2. Обновление кеша шрифтов:
    После перемещения шрифта необходимо обновить системный кеш шрифтов, чтобы сделать их доступными для всех приложений.

    sudo fc-cache -vf ~/.local/share/fonts
  3. Изменение разрешений:
    Удостоверьтесь, что файл шрифта имеет корректные разрешения доступа. Это может предотвратить проблемы с чтением шрифта gnome-terminal.

    chmod 755 ~/.local/share/fonts/cure.se.ttf
  4. Настройка через dconf:
    Если гном-терминал все равно не отображает шрифт, его можно установить напрямую через dconf.

    • Сначала получите ID профиля gnome-terminal:
    dconf list '/org/gnome/terminal/legacy/profiles:/'
    • Затем измените шрифт вашего текущего профиля:
    dconf write '/org/gnome/terminal/legacy/profiles:/:PROFILE_ID/font' "'cure.se 12'"

Применение

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

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

Разобравшись с этой задачей, пользователи смогут расширять свои навыки работы с системой, включая настройку других элементов интерфейса и автоматизацию рутинных процессов. В этом контексте, знание работы с системным кешем и правами доступа становиться важной частью арсенала любого пользователя Linux, желающего повысить эффективность и удобство использования своей ОС.

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

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