ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Архив за Август, 2013

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

Предыстория такова, что 19.08.2013 я нас своей рабочей машине FreeBSD 8.4-PRERELEASE (32х битка) делаю:

# portsnap fecth update && portupgrade -a

Придя на следующий день на работу и выполняя привычную команду:

# startx

Вместо иксов с enlightenment я получаю черный экран и усё…. приплыли.  На клаву вообще никак не реагирует.. ни свернуть исксы, ни убить иксы не пашет… Пришлось зайти с другой машины по SSH и прибить процесс enlightenment_start руками. Тогда черный экран пропадает и возвращается в консоль.

Просмотр лога /var/log/Xorg.0.log ничего не дает, т.к. ошибок (EE) там никаких нет и ничего даже смутно не указывает на какую либо проблему.

Посмотрев что именно обновлялось стало понятно что апдейтились дрова nvidia и сам enlightenment . Пробовал откатить дрова nvidia, перебрал несколько версий, но тщетно — черный экран и ничего более.

Затем пробовал стартануть исксы без конфига, т.е. сносил /etc/X11/xorg.conf как класс, но результат тот же — черный экран и ничего.  Затем попробовал стартануть иксы с автосгенеренным конфигом:

# Xorg :1 -configure

# X -config /root/xorg.conf.new

История та же — ошибок нет, наблюдаем черный экран. Гуглил.. либо ничего, либо не помогает, либо без решения.

В очередной раз выполнив в google.ru запрос поиска по: startx blank screen freebsd

Нашел только что можно добавить опцию -retro:

# X -config /root/xorg.conf.new -retro

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

После этого пришла мысль попробовать стартануть иксы без window manager`а вообще, тупо только с xterm:

# startx `which xterm`

Все ОК, никаких черных экранов, иксы стартуют, xterm нормально открывается. Такссс. Теперь пробуем самый простенький window manager, который идет с иксами по дефолту:

/usr/local/bin/twm (в портах лежит тут: /usr/ports/x11-wm/twm)

Редактируем /root/.xinitrc, ремим запуск enlightenment и добавляем запуск twm с xterm:

#exec /usr/local/bin/enlightenment_start
xterm &
exec /usr/local/bin/twm

Стартуем иксы и снова все хорошо — twm работает, xterm открылся. До кучи попробовал ещё один простенький wm /usr/ports/x11-wm/fvwm — результат тот же — все работает.

Ну тут, как говорится «К бабке не ходи», все понятно, проблема в самом enlightenment . Открываю xterm и пробую стартануть enlightenment руками оттуда, получаем последней строкой:

/usr/local/lib/enlightenment/utils/enlightenment_init ‘/usr/local/share/enlightenment/data/themes/default.edj’ ‘0’ ‘Enlightenment’ ‘0.17.4’

и все… ничего не происходит… Далее я делал кучу всякой всячины, которую не буду описывать т.к. ничего не помогало. В итоге я пришел к выводу о downgrade enlightenment  с 0.17.4 обратно на 0.17.3, т.к. с этой версией проблем не было.

Сказано — сделано. Ставим /usr/ports/ports-mgmt/portdowngrade и приступаем.

Просто даунгрейд порта /usr/ports/x11-xm/enlightenment ничего не дал… черный экран остался. Становится понятно, что придется даунгрейдить и его зависимости…

Ищем зависимости enlightenment и составляем полный список портов на downgrade согласно зависимостям одного порта от другого.

Делал я это с помощью команды:

# pkg_info -r enlightenment-0.17.3,2 | grep «: e»

А затем до кучи проверил тупо по версии:

# pkg_info | grep 1.7.8

Пройдясь по всем портам из составленного списка командой:

# pkg_info -R FULL_INSTALLED_PORT_NAME

Я расставил порты на downgrade в таком порядке исходя из их зависимостей:

  • 1. ecore-ipc-1.7.8 devel/ecore-ipc
  • 2.  ecore-sdl-1.7.8 graphics/ecore-sdl
  • 3.  edje-1.7.8,2 graphics/edje
  • 4. evas-loader-png-1.7.8 graphics/evas-loader-png
  • 5. evas-loader-jpeg-1.7.8 graphics/evas-loader-jpeg
  • 6. evas-loader-eet-1.7.8 graphics/evas-loader-eet
  • 7. embryo-1.7.8,2 lang/embryo
  • 8. eio-1.7.8 devel/eio
  • 9. efreet-1.7.8 x11/efreet
  • 10. e_dbus-1.7.8,1 devel/e_dbus
  • 11. ecore-evas-1.7.8 graphics/ecore-evas
  • 12. ecore-imf_evas-1.7.8 x11/ecore-imf_evas
  • 13.   ecore-input_evas-1.7.8 x11/ecore-input_evas
  • 14.  ecore-file-1.7.8 devel/ecore-file
  • 15.  ecore-con-1.7.8 net/ecore-con
  • 16.  ecore-imf-1.7.8 x11/ecore-imf
  • 17.  ecore-x11-1.7.8 x11/ecore-x11
  • 18.  ecore-input-1.7.8 x11/ecore-input
  • 19.  ecore-main-1.7.8 devel/ecore-main
  • 20. evas-engine-x11-1.7.8 graphics/evas-engine-buffer
  • 21.  evas-engine-opengl-1.7.8 graphics/evas-engine-opengl
  • 22.  evas-engine-buffer-1.7.8 graphics/evas-engine-buffer
  • 23.  evas-core-1.7.8 graphics/evas-core
  • 24.  eet-1.7.8,2 devel/eet
  • 25.  eina-1.7.8 devel/eina
  • 26. enlightenment x11-wm/enlightenment

Приступаем к downgrade:

# mkdir /usr/downgrade

# cd /usr/downgrade

# portdowngrade x11-wm/enlightenment | more

Смотрим до какой ревизии откатываемся:

------------------------------------------------------------------------
r318442 | gblach | 2013-05-18 23:36:31 +0400 (Sat, 18 May 2013) | 5 lines

- Update EFL libraries to 1.7.7
- Update Enlightenment to 0.17.3

Approved by: crees (mentor)

Вот r318442 то что нам и надо.

Выполняем с названием каждого порта из составленного списка команду portdowngrade ИМЯ_ПОРТА r318442, пример :

# portdowngrade x11-wm/enlightenment r318442

Затем я отмувил даунгрейднутые порты из папки /usr/downgrade на их законные места в папке /usr/ports, т.к. например ecore-sdl при сборке лазает в папку с портом ../../devel/ecore-main.

Теперь начинаем пересбор всех этих портов. Сначала удаляем установленный порт, затем собираем по новой, но уже даунгрейднутый.

Пример:

# pkg_delete -f ecore-ipc-1.7.8

# cd /usr/ports/devel/ecore-ipc

# make; make install

И так с каждым портом из списка. В итоге мы получаем:

# pkg_info | grep enli
enlightenment-0.17.3,2 A very artistic X window manager

Стартуем startx и все СНОВА РАБОТАЕТ !!! УРА !!!!

 

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Авторы:  Панфилов Алексей (lehis (at) subnets.ru) и Николаев Дмитрий (virus (at) subnets.ru)

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту