Показаны сообщения с ярлыком линуксоидное. Показать все сообщения
Показаны сообщения с ярлыком линуксоидное. Показать все сообщения

пятница, 9 марта 2012 г.

Восстанавливаем пароль из FireFox

Большинство из нас доверяет хранение паролей браузеру. Не буду особо рассуждать, хорошо это или плохо. Скажу лишь, что любой, кто имеет юзерский доступ, может без труда выдрать из браузера все ваше супер-пупер-сложные пароли, которые вы так старательно придумывали. Опишу на примере.

пятница, 17 февраля 2012 г.

start-stop-daemon: /usr/sbin/apache2 is already running

Обнаружил у себя проблему: апач не хотел перезапускаться скриптом /etc/init.d/apache2 restart:
start-stop-daemon: /usr/sbin/apache2 is already running
Думал, это у меня в системе что-то не так, ан нет - это баг init.d скрипта, причем, жутко глупый. На багзилле баг имеется: https://bugs.gentoo.org/show_bug.cgi?id=389965 .
Вкратце, фиксится проблема так:
Открываем /etc/init.d/apache2 и строку
while ( ! test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \
заменяем на
while ( test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \
 
PS: До чего ж на блогспоте корявый редактор сообщений... Ох, перенесу я блог на свой хостинг, ох перенесу

wine: Unhandled page fault on read access to 0xffffffff at address starting debugger

Проблема: wine сегфолтится при старте (даже сам winecfg) с такими ошибками:
wine: Unhandled page fault on read access to 0xffffffff at address starting debugger
и

err:ole:CoGetClassObject no class object
Решение: пересобрать wine без флага custom-cflags.

понедельник, 13 февраля 2012 г.

apache2: apr_sockaddr_info_get() failed for

Не думал, что это такая частая проблема, но за последний месяц меня два раза спросили, как избавиться от нижеследующих сообщений при запуске Apache. Итак, если вы при старте апача видите это:
apache2: apr_sockaddr_info_get() failed for blabla
, то во-первых, 'blabla' - имя машины (для Gentoo - /etc/conf.d/hostname). Идем в /etc/hosts и пишем туда:
127.0.0.1 blabla
Этого будет достаточно.

Если при старте апач пишет это:
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Эта ошибка чаще всего возникает по причине отсутствия параметра "ServerName" в httpd.conf (настройки виртуальных хостов не в счет). Открываем конфиг апача и _вне_ директивы VirtualHost в любом месте пишем:
ServerName localhost
или
ServerName blabla
Вот и все :)

четверг, 8 декабря 2011 г.

Django, filebrowser: Caught ImportError while rendering: No module named urls

При использовании django-filebrowser
Ошибка:

Caught ImportError while rendering: No module named urls
ADMIN_URL = "{% url 'admin:index' %}",
 
Во-первых, новый django-filebrowser требует staticfiles
Во-вторых, проверьте urls.py: filebrowser должен подключаться так:
 
 from filebrowser.sites import site
...
(r'^admin/filebrowser/', include(site.urls)),

Обратите внимание, что тут именно (site.urls), а не ('site.urls').

суббота, 3 декабря 2011 г.

Error loading MySQLdb module: No module named MySQLdb

В логах апача, настроенного на работу с django, появляется такая ошибка:
Error loading MySQLdb module: No module named MySQLdb
Все, что нужно, - установить пакет mysql-python

суббота, 5 ноября 2011 г.

Gentoo. SDL failed to open audio: No available audio device

Если вы используете Gentoo и замечаете, что в kdenlive, openshot и др. программах нету звука, и они выдают ошибку "SDL failed to open audio: No available audio device", то вам надо собрать libsdl с флагом alsa =)

четверг, 3 ноября 2011 г.

Django - страницы простым текстом. Django - plain text in response.

Когда я решил сделать своему сайту файлик humans.txt, я заметил, что даже если шаблон содержит только текст, джанга все-равно обрамляет его базовыми html-тегами. А мне надо было, чтобы Django отдавал обычный текст. Задача не велика и решилась просто, но вдруг кому поможет:

воскресенье, 30 октября 2011 г.

Пост ненависти к кривому софту

Виндой я пользуюсь редко, но иногда приходится, так что не удивляйтесь. Все началось с того, я установил какую-то программу и не заметил, что она установила в Firefox плагин Mail.ru, который разумеется сделал поиском по умолчанию свой тупой, мерзкий, убогий, ненавистный поисковик. Я имею в виду не тот поисковик, который в лисе можно выбрать из выпадающего списка, а тот, в котором лиса начинает искать фразу, которую вводишь в адресную строку. Плагин я удалил, но после перезапуска тупой, мерзкий, убогий, ненавистный поисковик mail.ru никуда не делся, поэтому пришлось гуглить, лезть в about:config и там руками все возвращать на место. Не знаю, может быть для пользователей винды это обычное дело, но меня жутко бесит, когда каждая сопля пытается изменить параметры моего браузера, навязать мне свою домашнюю страничку и заменить поисковик, выбранный мною, своим.

четверг, 27 октября 2011 г.

Django remove www. Django mod_rewrite. .htaccess in Django

Сразу оговорюсь, что про mod_rewrite и .htaccess я рассказывать не буду. Такой заголовок я сделал для поисковиков, т.к. для решения своей проблемы я гуглил примерно по таким запросам, прежде, чем понял, что нужно делать.

вторник, 4 октября 2011 г.

Python. Удалить html-теги из текста

Если нужно просто подчистить текст от всех тегов (т.е. убрать все, что содержится в угловых скобках), то это можно сделать так:

>>> import re
>>> html = '<b>Hello</b> and <a href="">bye</a>'
>>> p = re.compile(r'<.*?>')
>>> p.sub('', html)
'Hello and bye'
>>>


А если, например, надо удалить все ссылки вместе с текстом, то подойдет следующее решение:

вторник, 20 сентября 2011 г.

Добавляем свои кнопки в админку Django

Есть у меня такая привычка - редактировать html-код вручную. При написании новых статей на своем сайте я всегда делал разметку вручную, но однажды решил попробовать wysiwyg-редактор tinymce. Это хороший редактор, но мне он не подошел. Он делал много лишнего и не делал кое-чего нужного. Я не буду расписывать причины, по которым я от него отказался, т.к. это заняло бы слишком много места. Скажу лучше, как добавить в админку django несколько своих кнопок и повесить на них простые действия - обрамление выделенного текста в html-теги. Впрочем, вместо кнопок можно добавить все, что угодно.

вторник, 9 августа 2011 г.

Django, BBCode, работа с BB-кодами, неизвестные теги

В Python есть такой модуль - postmarkup, который нужен для работы с BB-кодами. BB-коды в свою очередь нужны для безопасной работы с html-тегами.

На моем сайте посетители часто оставляют комментарии, содержащие код (bash, python и тд). До недавнего времени всем приходилось в строгом порядке использовать тег [code] при публикации кода, т.к. без этого тега плагин postmarkup видел в куске кода что-нибудь вроде if [ "Q" == "Q" ] then , принимал это за кривой BB-тег и удалял [ "Q" == "Q" ], оставляя лишь "if then". У меня стояла последняя версия postmarkup 1.1.4, вышедшая в 2008-м году.

Но недавно случилось счастье: я обнаружил, что если получить trunk postmarkup ( svn checkout http://postmarkup.googlecode.com/svn/trunk/ postmarkup-read-only ), то в коде postmarkup.py можно обнаружить новую опцию: render_unknown_tags , которая позволяет не удалять неизвестные BB-коды, а, экранируя, выводить их как обычный текст.


Чтобы было понятней, покажу, как postmarkup работал раньше:

понедельник, 25 июля 2011 г.

scrot: giblib error: Saving to file foo.png failed

Проблема:
Не работает утилита scrot ( giblib error: Saving to file foo.png failed ).

Решение:
Библиотека imlib2 должна быть собрана с поддержкой png.

вторник, 19 июля 2011 г.

FAT: IO charset iso8859-1 not found

Монтирование flash mp3 плеера в Linux завершается с ошибкой. Если поглядеть в dmesg, то видно такое сообщение:

FAT: IO charset iso8859-1 not found

Я сперва попробовал добавить такую локаль в /etc/locale.gen и сделать locale-gen, но это не помогло. Помогло следующее: в конфиге ядра в разделе "File Systems -> Native language support" включить поддержку "Codepage 850 (Europe)", "Codepage 855 (Cyrillic)", "NLS ISO 8859-1" и "NLS ISO 8859-5", а в разделе "File Systems -> DOS/FAT/NT Filesystems" установить такие параметры:

(855) Default codepage for FAT
(iso8859-5) Default iocharset for FAT

пятница, 15 июля 2011 г.

glib.GError: Unrecognized image file format

Повадился я скидывать в блог подобные ошибки с их решениями :) При запуске торрент клиента deluge видим ошибку:


glib.GError: Unrecognized image file format

Если вы используете Gentoo, достаточно будет добавить в /etc/make.conf USE флаг  "svg" и обновить мир. В остальных дистрибутивах можно просто установить библиотеку librsvg.

четверг, 14 июля 2011 г.

Gentoo. Ошибка при обновлении мира

Ошибка:

/usr/bin/g-ir-compiler: error while loading shared libraries: libffi.so.5: cannot open shared object file: No such file or directory

Нет, ну каждому должно быть ясно, что в таком случае вам поможет revdep-rebuild, но вдруг кто не знал? :)

Gentoo. Ошибка при установке Mesa (GL/glxproto.h: No such file or directory)

Вчера при установке Mesa в свежеустановленной Gentoo возникла такая ошибка:

glxclient.h:53:25: error: GL/glxproto.h: No such file or directory
        ...

пятница, 17 июня 2011 г.

Django. Добавление ссылки в админку

Имеем: django, grappelli, tinymce и файловый браузер. Файловый браузер доступен по /admin/filebrowser/browse/. Чтобы не вводить каждый раз руками, само собой, захотелось добавить ссылку на файловый менеджер в админку Django.

Честно говоря, уже не помню, какой способ предлагали использовать в официальной документации, помню только, что он не работал =) В Интернете советуют скопировать файл index.html (и потом в него уже вносить изменения) из каталога django/contrib/admin/templates в каталог admin, который перед этим надо создать в каталоге с шаблонами.

Этот способ работает, но если у вас используется grappelli, то после копирования index.html админка будет выглядеть убого.  Так вот в таком случае index.html надо брать не из джанги, а из grappelli. В моем случае это выглядит так:
cp ~/myenv/lib/python2.6/site-packages/django_grappelli-2.3.2-py2.6.egg/grappelli/templates/admin/index.html templates/admin/
Теперь в этот файл вручную можно добавить пару нужных ссылок.
Прямо перед этими строками
{% else %}
{% trans "You don´t have permission to edit anything." %}
{% endif %}
Я добавил вот что:
        <!-- СВОИ ССЫЛКИ -->
        <div class="module">
        <h2>Дополнительные ссылки:</h2>
        <div class="row">
        <a href="filebrowser/browse/">Файловый менеджер</a>
        <ul class="actions">
        </ul>
        </div>
        </div>
Способ, возможно, не самый красивый, зато работает ;)

воскресенье, 5 июня 2011 г.

Цветной вывод в Python

Недавно я решил переписать несколько своих bash-скриптов на Python и столкнулся с задачей - как заставить Python раскрашивать текст? Способов несколько, в том числе будет работать и способ, применяемый в bash для раскраски текста, но удобнее будет использовать готовый модуль.

Модуль называется termcolor и лежит тут . Пример использования:

>>> from termcolor import colored
>>> print(colored('hello', 'red'))
hello
>>> print(colored('hello', 'green', 'on_blue'))
hello
>>> print(colored('hello', 'blue', 'on_white'))
hello