Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Укрощение nautilus  (Прочитано 944 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Linuxforse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
    • Linuxforse
Укрощение nautilus
« : 19 Январь 2012, 08:46:04 »
На днях, пресытившись медлительностью KDE решил вернуться к привычному интерфейсу Gnome. Вообще, у меня сейчас на декстопе стоит Kubuntu и по некоторым причинам я не могу сейчас снести систему и установить другой дистрибутив с Gnome из коробки. Да это и не нужно.
Через "Центр программ Muon" был установлен Gnome-Shell, а при загрузке я выбираю Gnome ( Not effects ). В итоге я получил любимый и привычный интерфейс, никаких падений Plasme и самое главное - всё работает без тормозов.
Вроде бы всё отлично, но моя радость длилась недолго. Уже на следующий день я обнаружил непонятное, постоянно растущее увеличение  использования оперативной памяти. При загрузке системы расход оперативной памяти составлял  не более 170 mB. Уже через час эта цифра удваивалась. А через 5 - 6 часов кончалась не только доступная оперативная память ( 1GB ) но и подходил к концу запас swap ( 1GB ). И это при полном отсутствии запущенных программ.
При перезапуске системы всё повторялось.
Ввожу в терминале команду top. Главным пожирателем памяти оказывается файловый менеджер Nautilus. Перезапуск ситуацию улучшил, расход оперативной памяти снизился до 180 MB. Но почти сразу постепенно начал отъедать память, медленно - но уверенно. Начинаю гуглить. Как оказалось, не я один столкнулся с подобной проблемой. Да и не первый год подобное происходит.
Начал колдовать с настройками Nautilse:
Запретил превьюшки для всех файлов.
 Отменил показ количества файлов в папках.
Проверил отсутствие пакета nautilus-clamscan.
По советам с форумом, попытался внести некоторые настройки через dconf-editor.
Ни по отдельности, ни все вместе взятые эти действия результата не принесли.
Запускаю Memory maps для процесса Nautilus. После недолгих поисков находится и виновник ситуации. В пользовательском каталоге по умолчанию расположен файл для записи ошибок X сервера, которые происходят во время данной сессии. Имя этого файла - .xsession-errors. По непонятным причинам он постоянно заполняется сообщениями об ошибках и просто катастрофически увеличивается в размерах, но это как бы ни страшно, плохо то, что nautilus принимает в этом активное участие. Попытка изменить права доступа на этот файл ( для невозможности записи в него ) успеха не имели. Даже с правами root и установкой прав в chmod -v 000 .xsession-errors.
Тогда я просто удалил этот файл. Всё прекратилось. Но после перезапуска системы файл был восстановлен ( пустой ) и всё повторилось. Тогда я написал простейший скрипт для удаления этого файла:

#!/bin/bash


test -e /home/USER/.xsession-errors; rm .xsession-errors;


Кидаю скрипт  в папку со скриптами в домашнем каталоге, даю ему права исполнения и прописываю в автозагрузку. Теперь при загрузке системы этот "зловредный" файл просто будет удаляться. Решение конечно очень костыльное, но вреда от этого никакого а проблема  решена и польза очевидная, nautilus теперь у меня использует не более 18-20 mB. Даже если кому то вдруг понадобится файл .xsession-errors - его легко восстановить в правах, удалив из автозагрузки наш скрипт.
Буду рад если мой рецепт ещё кому то поможет. Жду ваших комментариев и критики. Всем успехов !
Взято с моего блога http://linuxforse.blogspot.com/
Публикую это не для саморекламы, а для помощи другим пользователям.

Оффлайн easy2002

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2786
  • Мурманск
    • Просмотр профиля
Re: Укрощение nautilus
« Ответ #1 : 19 Январь 2012, 08:57:41 »
По непонятным причинам он постоянно заполняется сообщениями об ошибках
Это потому, что ошибки происходят.
Tempora mutantur et nos mutantur in illis

Оффлайн ende_neu

  • Старожил
  • *
  • Сообщений: 2473
    • Просмотр профиля
Re: Укрощение nautilus
« Ответ #2 : 19 Январь 2012, 11:22:45 »
>Имя этого файла - .xsession-errors. По непонятным причинам он постоянно заполняется сообщениями об ошибках ...

Ну трындец, cлово "errоrs" в названии ни на что не намекает?
Посмотреть что за ошибки в нём и устранить их ума не хватило?Или вы из тех пациентов что логи в /dev/null перенаправляют?
Безграмотное вредоносное решение.Вместо исправления проблем - просто сделать вид что всё нормально.

Оффлайн БТР

  • Заслуженный пользователь
  • Модератор форума
  • Старожил
  • *
  • Сообщений: 5116
    • Просмотр профиля
Re: Укрощение nautilus
« Ответ #3 : 19 Январь 2012, 11:38:20 »
ТС режил задачу, как умел. Давайте попросим его выложить ошибки в логе - надо разобраться, в чём суть, авось пригодится.

Оффлайн Linuxforse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
    • Linuxforse
Re: Укрощение nautilus
« Ответ #4 : 19 Январь 2012, 22:25:45 »
Ну трындец, cлово "errоrs" в названии ни на что не намекает?
Посмотреть что за ошибки в нём и устранить их ума не хватило?Или вы из тех пациентов что логи в /dev/null перенаправляют?
Безграмотное вредоносное решение.Вместо исправления проблем - просто сделать вид что всё нормально.
Намекает, и очень даже намекает. Просто я временно устранил проблему. Если бы это были логи апача, тогда я бы быстро  нашёл решение. С иксами - не сталкивался. Я прогонял сообщения об ошибках через гугл, но понял что быстро не разберусь. Поэтому я и написал этот пост, просто не хотелось прийти на форум и клянчить : " По-мо-ги-те дуралею ! " :)
Вот ошибки из логов:
(nautilus:1641): Gtk-CRITICAL **: gtk_container_foreach: assertion `GTK_IS_CONTAINER (container)' failed
(nautilus:1641): Gtk-CRITICAL **: find_menu_position: assertion `GTK_IS_MENU_SHELL (menushell)' failed
(nautilus:1641): Gtk-CRITICAL **: gtk_menu_item_get_submenu: assertion `GTK_IS_MENU_ITEM (menu_item)' failed
(nautilus:1641): Gtk-CRITICAL **: gtk_widget_get_parent: assertion `GTK_IS_WIDGET (widget)' failed
(nautilus:1641): Gtk-CRITICAL **: gtk_image_menu_item_set_always_show_image: assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed

 

Страница сгенерирована за 0.056 секунд. Запросов: 24.