GoogleEarth

Материал из ALT Linux Wiki
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Быстрая установка

Источник: [1]

apt-get install lsb-desktop
rpm -Uhv --excludepath /etc/cron.daily google-earth-stable_current_i386.rpm

P7 / Гуглобус 7.1.1.1580

  1. «Честный» пакет для x86_64
  2. Пакет для, гм, i386

Spec всё ещё кривоват, надо править с помощью rpmrebuild. Теперь при первой пересборке достаточно установить зависимости:

lsb-core
libGL
libGLU
libICE
libSM
libX11
libXext
libXrender
fontconfig
libfreetype
libsqlite3

Затем для перепаковки можно использовать скрипт google-earth-rehack.sh (он делает всё, что описано для P6):

$ ./google-earth-rehack.sh Загрузки/google-earth-stable_current_x86_64.rpm
 Do you want to continue ? (y/N) Обрабатываются файлы: google-earth-stable-7.1.1.1580-0
 Поиск Provides (используя /usr/lib/rpm/find-provides)
…
 Записан: /home/<user>/RPM/RPMS/x86_64/google-earth-stable-7.1.1.1580-0.x86_64.rpm
 result: /home/<user>/RPM/RPMS/x86_64/google-earth-stable-7.1.1.1580-0.x86_64.rpm

И собственно

# apt-get install /home/<user>/RPM/RPMS/x86_64/google-earth-stable-7.1.1.1580-0.x86_64.rpm

P6 x86_64 / Гуглобус 6.2.2.6613

  1. Подключаем arepo2
  2. Ставим i586-glibc-nss, i586-libXrender, i586-lsb-core, 586-fontconfig, i586-libGL.32bit, i586-libstdc++6.32bit и (необязательно) i586-libXi и i586-libXcursor . Список получен путём запуска гуглобуса, считывания сообщений об ошибках, а когда они кончились — вот такого grep-а:
    $ strace -efile -foo google-earth; grep '"\(/usr\)\?/lib/[^/]*\.so.*NOENT' o
  3. Скачиваем пакет для Fedora64
  4. Говорим
    rpmrebuild -ep Загрузки/google-earth-stable_current_x86_64.rpm
  5. В процессе редактирования накладываем вот такой diff (или правим руками). Смысл в том, чтобы:
    1. Убрать зависимость на lsb
    2. Убрать обновлялку по крону
    3. Убрать пропихивание ключей и репозиториев
--- etc/googleearth.spec        2012-05-07 14:23:32.000000000 +0400
+++ etc/googleearth.spec.new    2012-05-07 14:31:02.000000000 +0400
@@ -50,7 +50,7 @@
 Provides:      google-earth = 6.2.2.6613
 Provides:      google-earth-stable = 6.2.2.6613-0
 #Requires:      rpmlib(VersionedDependencies) <= 3.0.3-1
-Requires:      lsb >= 3.2
+#Requires:      lsb >= 3.2
 Requires:      wget  
 Requires:      xdg-utils  
 Requires:      /bin/sh  
@@ -66,8 +66,8 @@
 
 Google Earth lets you fly anywhere to see satellite imagery, 3D buildings, 3D trees, terrain, Street View, planets and much more.
 %files
-%dir %attr(0755 root root) "/etc/cron.daily"
-%attr(0755 root root) "/etc/cron.daily/google-earth"
+#dir %attr(0755 root root) "/etc/cron.daily"
+#attr(0755 root root) "/etc/cron.daily/google-earth"
 %dir %attr(0755 root root) "/opt/google/earth/free"
 %attr(0444 root root) "/opt/google/earth/free/ImporterGlobalSettings.ini"
 %attr(0444 root root) "/opt/google/earth/free/ImporterUISettings.ini"
@@ -453,6 +453,7 @@
 # http://www.google.com/linuxrepositories/aboutkey.html)
 install_rpm_key() {
   # Check to see if key already exists.
+  return 0
   rpm -q gpg-pubkey-7fac5991-4615767f > /dev/null 2>&1
   if [ "$?" -eq "0" ]; then
     # Key already exists
@@ -798,8 +799,8 @@
 # what we want here. Also preemptively start atd because for some reason it's
 # not always running, which kind of defeats the purpose of having 'at' as a
 # required LSB command.
-service atd start
-echo "sh /etc/cron.daily/google-earth" | at now + 2 minute
+# service atd start
+# echo "sh /etc/cron.daily/google-earth" | at now + 2 minute
 exit 0
 
 
@@ -824,6 +825,7 @@
 # http://www.google.com/linuxrepositories/aboutkey.html)
 install_rpm_key() {
   # Check to see if key already exists.
+  return 0
   rpm -q gpg-pubkey-7fac5991-4615767f > /dev/null 2>&1
   if [ "$?" -eq "0" ]; then
     # Key already exists

Ставим получившийся пакет:

# apt-get install RPM/RPMS/x86_64/google-earth-stable-6.2.2.6613-0.x86_64.rpm

«Кентавр бета КДЕ4 20101227» / «Google Earth for GNU/Linux 6.0.1.2032» с сайта Google

Проблема

При попытке запустить инсталлятор получаю:

sudo ./GoogleEarthLinux.bin Verifying archive integrity... All good.
Uncompressing Google Earth for GNU/Linux
6.0.1.2032......................................
setup.data/setup.xml:1: parser error : Document is empty

^
setup.data/setup.xml:1: parser error : Start tag expected, '<' not found

^
./setup.sh: line 158:  7253 Segmentation fault      "$setup" "$@"

Решение

Было найдено здесь, хотя там страдали поклонники Дебиана и Убунту:

chmod +x GoogleEarthLinux.bin
./GoogleEarthLinux.bin --target /tmp/ge
cd /tmp/ge/setup.data/bin/Linux/x86/
mv setup.gtk setup.gtk2
cd /tmp/ge
./setup.sh
# нажимаем правую нижнюю кнопку
su -
apt-get install lsb-core
~/google-earth/googleearth %f

В нашем случае начинать нужно с: apt-get install lsb-core . «Правую нижнюю кнопку» написано потому, что надписи на кнопках совершенно нечитабельные. После установки будет предложено запустить программу или выйти. Запускать ни коем случае нельзя, потому как установка производилась из-под root и в дальнейшем запустить её из под пользователя будет очень сложно, поэтому нужно просто выйти и запускать уже из под пользователя. Если в меню КДЕ «Интернет» не появился значок «3D planet viewer…», то запустить нужно так: /opt/google-earth/googleearth

После запуска Google Earth все надписи будут изображены квадратиками до тех пор, пока мы не воспользуемся мудрым советом Геннадия Моцьо (Drool) и не поставим шрифты fonts-bitmap-100dpi и fonts-bitmap-cyrillic. Если эти шрифты и рекомендованные Андреем Рахматуллиным (wRAR) шрифты fonts-ttf-vera и fonts-ttf-dejavu поставить перед установкой GoogleEarth, то никаких проблем со шрифтами ни в процессе установки, ни после неё не будет

Ссылки