Google Earth, Linux и шрифты

Установка Google Earth в debian производится нижеследующим способом

apt-get install googleearth-package
make-googleearth-package
dpkg -i googleearth_6.0.3.2197+0.7.0-1_amd64.deb

А вот возможный результат - полное отсутствие кирилических шрифтов

Проблема известная. В интернете в основном рекомендуют удалить библиотеки Qt поставляемые с программой и использовать системные. Если система не 32-битная, то их еще придётся добыть из репозитория и положить в директорию с программой. Я испробовал этот вариант. Шрифты действительно стали системными и читаемыми, но сама программа падала через несколько секунд после запуска с сообщением об ошибке сегментирования. Оно и не удивительно. Неизвестно с какой версией Qt была собрана данная версия Google Earth, и наши библиотеки из репозитория, очевидно, оказались другой версии, не совместимой с ожидаемой.

Я переустановил пакет Google Earth, дабы вернуть всё в изначальное состояние и решил попробовать посмотреть где же происходит поиск шрифтов. Тут на помощь приходит утилита отслеживания системных вызовов strace:

strace -f googleearth 2>trace.txt

Таким образом после запуска и закрытия программы имеем в trace.txt все системные вызовы, которые она производила. Поискав по слову "font" я обнаружил следующие строки:

[pid 31669] open("/home/anonymous/.fonts/fonts.scale", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 31669] open("/home/anonymous/.fonts/fonts.dir", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 10

После прочтения man mkfontscale и man mkfontdir становится примерно понятно что из себя представляют эти два файла. Как видно font.scale у меня не было, а в font.dir было ровно 0 записей. У кого-то может вовсе отсутствовать директория .fonts в домашнем каталоге.

Решение

Итак, нам необходимо добавить шрифтов. Какой же шрифт нам нужен? Если посмотреть зависимости сформированного deb пакета Google Earth, то можно увидеть следующее:

Depends: ttf-dejavu | ttf-bitstream-vera | msttcorefonts

Смотрим какой из них у нас установлен

ls /usr/share/fonts/truetype/

Скопируем его в ~/.fonts и сформируем fonts.scale и fonts.dir

mkdir ~/.fonts  
cp /usr/share/fonts/truetype/ttf-dejavu/* ~/.fonts  
cd ~/.fonts && mkfontscale && mkfontdir

Завершающий этап, но не менее важный - перезапуск X-сервера. После логина запускаем Google Earth и наконец-то можем пользоваться этой замечательной программой:

Add comment

Fields marked * are required.
This form has a bot protection mechanism, that requires Cookies.
Please, don't disable them.



Gravatar-friendly




Paragraphs are created automatically. Available tags: [quote], [code].