Вопрос или проблема
В последнее время я занимался настройкой 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.
-
Перемещение шрифта в корректную директорию:
Шрифт может корректно отображаться в gnome-terminal, если он перемещен в папку~/.local/share/fonts
. В некоторых дистрибутивах Linux также помогает размещение шрифтов в системной директории, например,/usr/share/fonts/truetype/ubuntu
.mv ~/.fonts/cure.se.ttf ~/.local/share/fonts/
-
Обновление кеша шрифтов:
После перемещения шрифта необходимо обновить системный кеш шрифтов, чтобы сделать их доступными для всех приложений.sudo fc-cache -vf ~/.local/share/fonts
-
Изменение разрешений:
Удостоверьтесь, что файл шрифта имеет корректные разрешения доступа. Это может предотвратить проблемы с чтением шрифта gnome-terminal.chmod 755 ~/.local/share/fonts/cure.se.ttf
-
Настройка через 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, желающего повысить эффективность и удобство использования своей ОС.