Could not update ICEauthority file...
Пытаясь улучшить nautilus, путём установки Elementary, я столкнулся с тем, что вместо ожидаемых "плюшек" я получил баги. Единственное решение по удалению elementary, которое я нашёл, заключалось в переустановке nautilus вместе с его плагинами. Баги пропали, наутилус рабоает. Однако, после перезагрузки оси на следующий день, я столкнулся с проблемой - вылетают ошибки "Could not update ICEauthority file /home/[user]/.ICEauthority" и "Произошла ошибка с сервером конфигурации (/usr/lib/gconf 2-4-sanity-check-2 завершился с состоянием 256)". Ни под основной учёткой, ни под root-ом нельзя было сделать практически ничего - ошибки доступа. Но если загружаться из консоли восстановления - всё работает, доступ к /home, /boot, /root и т.д. есть.
Все решения, найденные мною в сети, были просты как валенок - удали .ICEauthority, смени ему владельца, выдай права. Ни 1-о из них не помогло, этот файл, судя по всему, был жертвой обстоятельств, а не причиной всех проблем. Но в последний момент я нашёл решение в 1 строчку: sudo apt-get gnome-session.
Подборка расширений для Firefox
Решил написать о тех расширениях, которые мне приглянулись при использовании Firefox-а. Часть из них касается общего пользования, часть web-программирования. Итак, приступим.
Базовые
TabMix Plus — это расширение изменяет поведение вкладок браузера. Мне сложно сказать, что конкретно оно добавляет, потому как без него пользоваться firefox-ом я попросту не могу, а посему, не знаю, что умеет базовый менеджер(помню, разве что, что он дико примитивный, как в хроме). Больше всего меня интересовали следующие возможности: убрать крестики (в них нет никакой необходимости, при наличии кнопки-колеса у мыши), по ctrl-tab отображать последнюю активную вкладку(а не следующую), дублировать вкладку, защитить вкладку. Расширение имеет море настроек, которые придутся по вкусу "гурманам".
CSS 3: box-sizing
В CSS3 появилось замечательно свойство box-sizing. Это свойство объясняет браузеру каким образом следует толковать значения height и width. В обычном состоянии (box-sizing: content-box) эти величины влияют только на размеры содержимого блока, но если задать значение border-box, то при рассчёте также будут учитываться padding и border. Чрезвычайно нужное свойство, которое, к сожалению, не поддерживается в IE6-7. Для Firefox следует использовать -moz-box-sizing, а для старых webkit-ов -webkit-box-sizing. А теперь две ложки дёгтя, которые сильно ограничивают применение этого свойства в некоторых ситуациях:
-
Mozilla Firefox && min-height. Если текущее значение height-а задаётся свойством min-height, а не height (т.е. height не задан вовсе, либо он меньше, чем min-height), то огнелис напрочь забывает про -moz-box-sizing. Полагаю, что это баг, который в будущем починят.
- Google Chrome && display: table-cell. Блоки имеющие display: table-* и им подобные не используют box-sizing. Т.е. таблицы и блоки с вертикальным выравниванием "пролетают".
onKeyDown для DIV
Эта маленькая заметка посвящена небольшому трюку, который позволяет добиться работоспособности события onkeydown для тега <div>. Дело в том, что код вроде:
$('#test').keydown( function(e){ console.log( e.keyCode ); } );
Не сработает для HTML аля <div id="test">test</div>, а всё потому, что <div> не может получить focus. Простое добавление аттрибута tabindex="0" проблему решает.
Внедрение CSS на лету
Столкнулся с задачей — внедрить "на лету", при помощи javascript, CSS-код на страницу. Простое решение "в лоб" не заработало в IE:
$('head').append( $( '<style>', { type: 'text/css' } ).html( 'css код' ) );
var style = $('<style>', { type: 'text/css' } ).get(0);
if( style.styleSheet ) // IE
{
style.styleSheet.cssText = css_code;
}
else
{
$( style ).html( css_code );
}
$('head').append( style );