Решение проблем с Google Earth под Linux

Nov 24, 2010 10:57


Даа, давненько я не встречал такого количества проблем в одной программе. Если Google Earth под Виндой работает стабильно, то под Linux он даже не может нормально установиться, да и после установки (с применением помощью шаманского бубна) тоже вылезают проблемы. К счастью, в интернете можно найти способы решения многих проблем, а в этом посте я решил собрать вместе способы решения тех проблем, с которыми пришлось столкнуться. Что самое печальное, описанные проблемы тянутся уже не одну версию, а Google так и удосужился как-то исправить ситуацию.

Все, что будет описано ниже проверялось на Ubuntu 10.10. Многие проблемы проявляются только при использовании неанглоязычной локали, но от этого не легче.
Google Earth не устанавливается

Google Earth распространяется в виде файла GoogleEarthLinux.bin. Казалось бы, запускаешь его с помощью команды sudo ./GoogleEarthLinux.bin (или даже без sudo) и все. Однако, не все так просто, при попытке выполнить эту команду выскакивает следующая ошибка:

setup.data/setup.xml:1: parser error : Document is empty ^ setup.data/setup.xml:1: parser error : Start tag expected, '<' not found ^ Невозможно загрузить 'setup.data/setup.xml'
Решение этой проблемы найдено здесь

Для запуска инсталлятора нужно в консоли из директории, где лежит файл GoogleEarthLinux.bin, выполнить следующую команду:

./GoogleEarthLinux.bin --target /tmp/ge
Внешне ничего не изменится, будет получена все та же ошибка, но благодаря параметру -target /tmp/ge инсталлятор начнет распаковывать временные файлы в директорию /tmp/ge (потом, после перезагрузки, эта директория будет удалена).

Теперь в директории /tmp/ge нужно немного пошаманить, а точнее просто переименовать файл setup.gtk в setup.gtk2. Файл этот лежит в директории /tmp/ge/setup.data/bin/Linux/x86/. На самом деле какой-то setup.gtk2 там уже есть, но он нам не нужен.

Итак, выполняем следующие команды:

cd /tmp/ge/setup.data/bin/Linux/x86/ mv setup.gtk setup.gtk2
Теперь остается только перейти в директорию /tmp/ge и запустить инсталлятор:

cd /tmp/ge sudo ./setup.sh
В принципе, устанавливать можно и без прав root’а, в этом случае Google Earth будет устанавливаться в директорию ~/google-earth, а если с правами root’а, то в /opt/google-earth.

После этого будет открыто страшное окно, которое даже не умещается в размеры экрана.




Кнопка «Start» находится в правом нижнем углу экрана, поэтому окно еще надо будет перетащить, чтобы добраться до этой кнопки.

После этого установка успешно завершается, но проблемы только начинаются.
Google Earth падает при запуске

Итак, Google Earth установлен, запускаем его, появляется глобус, пустое окно с подсказками дня и… программа падает. Если запустить Google Earth из консоли (с помощью команды googleearth), то увидим следующие сообщения:

(process:11235): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.26.0/gobject/gtype.c:2710: You forgot to call g_type_init() (process:11235): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed (process:11235): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed Google Earth has caught signal 11. We apologize for the inconvenience, but Google Earth has crashed. This is a bug in the program, and should never happen under normal circumstances. A bug report and debugging data have been written to this text file: /home/jenyay/.googleearth/crashlogs/crashlog-4cec16f9.txt Please include this file if you submit a bug report to Google.
Решение этой проблемы довольно простое (оно было найдено здесь). В падении виноваты советы, которые даются при запуске. Если успеть закрыть окно с очередным советом (который, между прочим, не показывается), то программа благополучно продолжит работать.

Поэтому самое простое, что приходит в голову - просто отключить эти самые советы (кстати, интересно их вообще кто-нибудь читает?) Для этого открываем файл ~/.config/Google/GoogleEarthPlus.conf и в раздел [General] добавляем строку enableTips=false (если там уже есть enableTips=true, то заменить ее на enableTips=false).

Обратите внимание, что к данному моменту для изменения этого файла нужны права root’а, что вызывает другие проблемы, о чем будет сказано ниже.

После этого советы при старте даваться не будут, и Google Earth будет нормально запускаться (но не работать).
Google Earth не сохраняет настройки

Выше я уже писал, что для редактирования файла настроек ~/.config/Google/GoogleEarthPlus.conf нужны права root’а, которой, разумеется, нет у запускаемой программы, поэтому Google Earth и не может сохранить настройки, которые изменили через интерфейс. Дело в том, что владелец файла настроек по умолчанию - root, причем права установлены таким образом, что только он может изменять этот файл.

Здесь выход очевиден - сделать владельцем файла себя любимого.

sudo chown USERNAME ~/.config/Google/GoogleEarthPlus.conf
Здесь вместо USERNAME подставьте имя пользователя.

После этого решается и другая проблема, связанная с тем, что при первом запуске Google Earth создает директории для кеша и других рабочих файлов, что и пытается сообщить пользователю. Пытается, потому что показываемое при этом окно при использовании русской локали не читаемо. Так как Google Earth определяет первый запуск по тому же файлу ~/.config/Google/GoogleEarthPlus.conf, который не может изменить, то это нечитаемое окно будет показываться при каждом запуске. Изменение владельца файла ~/.config/Google/GoogleEarthPlus.conf заодно решает и эту проблему.
Ошибки при открытии треков (gpx и kml)

Следующая проблема связана с импортом путей из файлов gpx и kml. Если попытаться открыть эти файлы, то загружаемые пути «свернутся» в одну точку, причем явно не в том месте, где они должны быть.

Эта проблема, судя по форумам, появилась после обновления библиотеки Qt до версии 4.5.2 и кто виноват Qt или Google неизвестно. Суть проблемы состоит в том, что для русской локали Qt ожидает в качестве разделителя целой и дробной части числа запятую, а в файлах с треками используются точки. Эта проблема тоже довольно легко решается (решение взято здесь).

Для решения этой проблемы открываем файл /opt/google-earth/googleearth в текстовом редакторе с правами root’а (если Google Earth ставился не из-под root’а, то вместо /opt должен быть путь до домашней директории пользователя.

В этом файле ищем строку (она будет ближе к концу)

export LD_LIBRARY_PATH

И после нее добавляем следующую строку:

export LC_NUMERIC=en_US.UTF-8

Все, сохраняем файл и радуемся, что треки теперь открываются нормально. Добавленная строка обозначает, что для цифр надо использовать вражескую американскую локализацию.
Удаление Google Earth

Ну и заодно, чтобы потом не искать, оставлю тут порядок действий для удаления Google Earth.

cd ~/google-earth sh uninstall
Я почти уверен, что в процессе работы с Google Earth под Linux’ом будут попадаться и другие проблемы, здесь я перечислил только те, что заметил к данному моменту. Если что, буду обновлять пост.

Эта запись у меня в блоге

софт, карты, linux

Previous post Next post
Up