2009-12-27

Установка и допиливание Lubuntu

Для друга, имеющего Eee PC 701, заснял пару скринкастов с установкой и первичным допиливанием Lubuntu. Слабо представляю возможную целевую аудиторию, но может кому и будет полезно залицезреть процесс. Снимался каст с виртуалбокса, разумеется предварительно все было проверено на целевой ееешке.

Часть первая: установка оси (67.9 МБ)
Использовался DVD убунты. Неграфическая установка системы в режиме "хочу консоль онли", с последующим натягиванием lubuntu-desktop и gdebi. Разбиение диска "все под root".

Часть вторая: допиливание (53.9 МБ)
Установка обновленного pcmanfm для исправления бага с ассоциациями приложений. Установка gXneur и Google Chrome. Добавление русской раскладки (тут меня можно отдельно покусать за решение). Поверхностная пробежка по фейсу, панелькам.

В целом, как я сказал, писалось для друга-эдвансд-виндузядника, имевшего дело с убунту но не переустанавливавшего ее самостоятельно, так что этот скринкаст определенно будет слишком сложен для кого-то одного, и слишком скучен для кого-то другого - я гарантирую это =)

2009-12-06

Простой шлюз из Linux & PS3 через Yota

Для начала немного о моем домашнем интернете. У меня их два:
1. первый (Inet1) - обычный домашний интернет через локалку
2. Yota, втыкаемая в ноутбук

Схема:


Notebook - Yota
|
Inet1 - Router - Srv
|
PS3


Ноут связан с домашним сервером через роутер, но инет обычно получает от йоты. PS3 инетится от роутера, но качество интернета у моего провайдера оставляет желать лучшего.Отсюда справедливое желание: оставить домашнего провайдера для торентов, а PS3 подключить к йоте, сотворив из линуксового ноута простейший шлюз.


Итак, на повестке дня 2 вопроса:
1. Как из компа под линуксом сделать простеший шлюз?
2. Как настроить PS3 для работы через шлюз в целом, и через Yota-инет в частности?

Ответы на оба вопроса элементарны. Чтобы линуксовый комп стал шлюзом, достаточно выполнить:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -t nat -A POSTROUTING -j MASQUERADE

Разумеется, все интерфейсы, которые предполагается использовать, должны быть настроены. В моем случае одним интерфейсом является подключенная Yota, а второй имеет адрес (192.168.1.5) внутри локальной сети (192.168.1.0/24).

Теперь о PS3. Заходим в настройки сети и вбиваем все руками. Отмечу стратегически важное:
IP - 192.168.1.50 (свободный айпишник внутри локальной сети)
Маска - 255.255.255.0 (используемая в локальной сети)
Шлюз - 192.168.1.5 (локальный адрес йотового компа-шлюза)
DNS - 8.8.8.8 (гугловский DNS-сервер)
DNS - 8.8.4.4 (еще гугловский DNS-сервер)
MTU - 1400 (с другими работать отказалась, возможно тут скрывается йота-особенность)
UPnP - выключить
Прокси - не использовать

С такими настройками приставка радостно ломится в ноут за инетом и получает его от йоты, гип-гип ура и все такое =)

2009-09-16

Как сохранить полный вывод консоли?

Бывает возникает желание сохранить все, что происходит в терминале. Вывод одной программы, конечно, можно перенаправить в файл, а небольшой кусочек просто скопипастить. Но если коннектишься к удаленному серваку (в моем случае вообще - циске) и долго и упорно его конфигуришь, эти подходы могут быть не очень подходящими. На эти случаи есть замечательная команда «script». Формат:

script имя_файла_лога

после выполнения скрипт начинает сохранять все вводимые комманды и ответ терминала на них. Для окончания записи нужно ввести просто

exit

2009-09-15

Тормоза и повисание VirtualBox при использовании DameWare Remote Control

Сидя в линуксе, я использую DameWare Remote Control из-под виртуалбокса для управления вин-машинами. Начиная с какой-то версии VirtualBox начал подвисать как только я коннектился к удаленной машине. Решение оказалось простым: чтобы избежать подвисания следует зайти в меню «View» и, выбрав пункт «Local Global Options...», снять галку «Warning Border on Connect» — во всем виновато анимированное обрамление окна удаленной машины.

2009-05-20

Подвисание диалогов открытия и сохранения файла в Ubuntu 9.04

Проблема проявилась после обновления Ubuntu 8.10 до 9.04. Симптом — при попытке открыть или сохранить что-либо, происходило зависание приложения секунд на 15, после чего диалог успешно открывался. Метод лечения:

cd ~/.cache && rm -rf tracker && ln -s /var/tmp/${USER}-tracker/cache
cd ~/.local/share && rm -rf tracker && ln -s /var/tmp/${USER}-tracker/local

2009-05-13

Как в linux быстро и просто проверить, жив ли сервер?

Озаботился вопросом — как проверить на живость сервер и сервисы на нем? В моем случае это ряд цисок, файлсервера, да сервак Exchange. Разворачивать какую-то систему слежения там, где достаточно пинга да проверки портов, показалось слишком сложным. Бродя по инету наткнулся на довольно просто скриптец, использующий nmap для проверки открытых портов. Слегка попилив пришел к следующему:

#!/bin/bash
# оригинальный скрипт: http://habrahabr.ru/sandbox/2096/
#
# Для работы требуются: nmap, libnotify-bin. Также
# необходимо создать рядом со скриптом файлик "servers",

# содержащий инфу об интересующих серверах в виде
# IP:PORT COMMENT, например:
#
# 192.168.310.254:443 1й снизу в левой стойке
# 192.168.410.254:80 вторая стойка, 3й снизу
#

# хватаем по строчке из списка, выхватываем часть до комментария,
# преобразуем двоеточие в " -p " и подсовываем nmap'у. Если последний
# не находит открытый порт на айпишнике — айпишник с портом записываются
# в файл serverlist (создается рядом со скриптом)
#
cat servers | while read line; do nmap `echo "${line}" | awk '{print($1)}'| sed -e 's/:/ -p /'` | grep -q "/tcp *open" || echo "${line}"; done > serverlist;
#
# Если serverlist не пуст, скидываем инфу о времени
# и инфу из serverlist в файл log (создается рядом со скриптом)
#
if (!( [ -z $(cat serverlist) ])); then
echo $DATENOW >> log
cat serverlist >> log
#
# для каждого айпишника из serverlist находится полная строка
# в servers (с комментарием). В начало каждой втыкается
# смайлег ಠ_ಠ, а в конце делается дополнительный перенос.
# Все это ложится в файл serverlist1, содержимое которого
# отправляется как системное уведомление.
#
cat serverlist| while read megaline; do grep "${megaline}" "servers"| sed -e 's/^/ಠ_ಠ /' | sed -e 's/$/\n/' ; done > serverlist1;
notify-send --expire-time=100000 АТАС-АТАС!! "`cat serverlist1`"

fi
exit

Итого: легко и просто пиная скрипт cron'ом, мы проверяем живы ли наши сервера, и в случае абзаца наблюдаем в трее кто потерялся.

ЗЫ: А для раскраски синтаксиса был использован сервис http://highlight.hohli.com/

2009-04-23

Рваное изображение при просмотре HD-video в Linux

Долгое время мучился с проблемой — при просмотре HD-video (особенно 1080p, хотя и 720p тоже) в моей Ubuntu картинка разрывалась, словно сверху уже отрисовался новый кадр, а снизу остался старый. На боль-мень динамичных сценах из-за этого проявлялась четкая линия границы с некислым искажением, хотя скорость отрисовки кадров не страдала. Долгое время грешил на настройки MPlayer, на видеодрайвер, на железо в конце-концов. Оказалось, явление такого разрыва называется tearing, а сама проблема легко гуглится по "compiz tearing". Пока что нашел единственное решение — отключить нафиг Compiz (в Ubuntu — «Система → Параметры → Внешний вид → Визуальные эффекты», галка «Без эффектов»)

Скрипты в Nautilus

Замечательная штука — скрипты файлового менеджера Nautilus. Нужно открыть консоль в текущей папке? Открывать консоль, cd /путь/до/папки... а если папка глубоко... брррр. Куда проще тыкнуть правой мышкой в свободное место открытой папки, да выбрать «Сценарии → term_here»




Что особенно приятно — добавляются эти скрипты легко и просто. Представляя из себя обычные текстовые шелл-скрипты, они кладутся в ~/.gnome2/nautilus-scripts/ и незамедлительно проявляются в вышеуказанной менюшке. Написать что-то простенькое под свои нужды также ничуть не сложно, если есть базовые понимания шелл-скриптинга (как у меня =)). Небольшой пример — написанный мною скрипт, закачивающий в текущую папку файл из скопированного в буфер обмена линка. Закачать можно при помощи wget'а в один поток, или axel'я — в 2 или 4 потока на выбор. После скачивания выдается сообщение что файл слит ).

Мега скрипт:

#!/bin/bash

XCLIP_CMD=/usr/X11R6/bin/xclip

if [ ! -e $XCLIP_CMD ] ; then
if [ -z `which $XCLIP_CMD` ] ; then
zenity --error --text="xclip not found!

Please put xclip on your search path or edit XCLIP_CMD in the script:
$0"
exit 1
fi
fi

Стандартное начало баш-скрипта и проверка наличия утилиты xclip, которая будет выплевывать из буфера обмена скопированный туда линк. В случае необнаружения утилиты в заданном месте, вызывается утила zenity, рисующая матерные выражения в предупредительном окошке.

FILE=`xclip -o`

DOWNLOADER=$(gdialog --title "Download with... (\"`echo $FILE`\")" --radiolist "Downloaders" 60 100 10 1 wget on 2 axel*2 off 3 axel*4 off 2>&1)

Кладем скопированную ссылку в переменную FILE, а далее используем утилиту gdialog для рисования окошка:



При этом, в зависимости от выбора, переменной DOWNLOADER присваивается значение от 1 до 3, которое мы тут же и обрабатываем:

if [ $DOWNLOADER = "1" ]; then
wget "`echo $FILE`"
gdialog --title "Download complete" --msgbox "File: \"`echo $FILE`\"" 20 500
fi

if [ $DOWNLOADER = "2" ]; then
axel --num-connections=2 "`echo "$FILE"`"
gdialog --title "Download complete" --msgbox "File: \"`echo $FILE`\"" 20 500
fi

if [ $DOWNLOADER = "3" ]; then
axel --num-connections=4 "`echo "$FILE"`"
gdialog --title "Download complete" --msgbox "File: \"`echo $FILE`\"" 20 500
fi

В зависимости от значения DOWNLOADER качаем файл соответствующей качалкой, после чего выводим сообщение с заголовком «Download complete» и телом, состоящим из строки «File: "ссылка-на-файл"»


Конечно это очень упрощенный вариант, в котором много чего не предусмотрено, например — ссылка фактически вставляется не из того буфера, который CTRL+C/V, а из того который работает по выделению и средней мышке. То есть если скопировать в буфер линк, после чего выделить кусок текста, то линк уже не скачается. Но несмотря на недоработки, скрипт вполне рабочий и достаточно прост, как мне кааца, для понимания.

Коллекцию скриптов, куда более удачных чем мой, можно найти вот тут.

2009-04-12

Свои сочетания для Compose Key

Иногда мне хочется попонтоваться и поюзать в своей письменной речи всякие стильные фичи, например длинное тире "—", или даже так «—», а может даже напи́сать... ой, написа́ть слово с ударением! В этом здорово помогает линуксоидам такая хренотень как «Compose Key». «Compose Key» — это такая кнопка, после которой можно ввести сочетание других кнопок и получить какой-нибудь приятный результат. Например чтобы получить «—» надо нажать последовательно «Compose Key» и три раза «-». А чтобы ввести открывающую кавычку — «Compose Key» и два раза «<», закрывающую — «Compose Key» и два раза «>».

При этом, сам «Compose Key» на клавиатуре может быть любой ненужной кнопкой, в моем случае это правый CTRL, который сам по себе мне не нужен. Задается это в /etc/X11/xorg.conf, путем дописывания в секцию настройки клавиатуры. Примерно так:

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:lwin_toggle,lv3:ralt_switch,grp_led:scroll,compose:rctrl"
EndSection

Множество комбинаций с «Compose Key» описаны в инете и легко гуглятся, а все возможные комбинации описаны в файлике /usr/share/X11/locale/en_US.UTF-8/Compose, который можно поизучать в свободное время.

Однако, бывает так что начинает хотеться странного. Например долбежка «---» для тире меня не устраивает, мне хочется проставлять тире одиночным нажатием на минус.

Для того чтобы иметь возможность задавать пользовательские сочетания с «Compose Key», нужно совершить пару простых телодвижений.

Во-первых надо открыть или создать, если его не существует, файл ~/.profile и прописать туда две строки:
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

Во-вторых нужно создать файл ~/.XCompose и вписать в него первой строкой
include "/usr/share/X11/locale/en_US.UTF-8/Compose"

что применит все дефолтные настройки, а после дописать нужные комбинации. Например у меня дописаны:
<Multi_key> <0> <0>: "́" U0301 # ударение
<Multi_key> <minus> <space>:" — " # тире
<Multi_key> <less> <minus> : "←" U2190 # <-
<Multi_key> <minus> <less> : "←" U2190 # -<
<Multi_key> <minus> <greater> : "→" U2192 # ->
<Multi_key> <o> <underscore> <o> : "ಠ_ಠ"

и еще несколько забавных строк =)

После всего этого нужно перезагрузиться или перезапустить X-сервер. В дальнейшем можно менять файлик ~/.XCompose, изменения будут применяться для новозапущенных/перезапущенных приложений.

2009-03-29

Бэкап настроек в Linux

В линуксе редки случаи "вчера работало, а сегодня нет =(". Будучи настроенной, программа (заслуживающая уважения, конечно) способна работать в режиме "сегодня как вчера, а завтра как сегодня" очень и очень долго. Но что делать если настройки по той или иной причине сбились в непонятном направлении? Разумеется восстановить из бэкапа! Но, если для того чтобы продать что-нибудь ненужное, надо сначала купить что-нибудь ненужное, то для восстановления из бэкапа надо сначала его сделать. Сделать это очень просто.

Все настройки в линуксе делятся на две большие группы - системные и пользовательские. Системные настройки хранятся в директории /etc, являются общесистемными (например определяют список репозиториев с софтом, или список жестких дисков, монтируемых при загрузке, содержат настройки демонов), их редактирование разрешено только суперпользователю. Такие настройки как настройки опен офиса, музыкального проигрывателя и прочих пользовательских программ (в том числе настройки интерфейса) не требуют прав суперпользователя для изменения, и хранятся в домашней директории конкретного пользователя в виде скрытых файлов и поддиректорий ( т.е. с названиями начинающимися с точки. Например .gnome, .mozilla, .bashrc).

Из этого можно сделать вывод — все настройки можно сохранить простым копированием директории /etc/ и тех файлов и папок из домашней директории, которые называются с точки.

Теперь все просто. Создаем в своей домашней директории (/home/yourname/) директорию backup. Сохраняем туда архив, содержащий настройки пользователя:

tar cpvzf ~/backup/`date +%y.%m.%d`_home_settings.tgz ~/.[a-z,A-Z]*

Эта команда создаст сжатый архив с примерно таким названием "09.03.29_home_settings.tgz". В дальнейшем в него можно будет зайти как в обычную папку при помощи Midnight Commander, и извлечь из него нужную папку или файл.

Возможно потребуется исключить из бэкапа некие папки. Например я бэкаплю настройки файрфокса его расширением FEBE, а бэкапы вайна и антивируса мне просто не нужны. Для исключения директорий и файлов слегка видоизменяем скрипт, дописывая исключения. В моем случае:

tar cpvzf ~/backup/`date +%y.%m.%d`_home_settings.tgz --exclude='.wine' --exclude='.mozilla' --exclude='.avast' ~/.[a-z,A-Z]*


Теперь о бэкапе системных настроек. В общем-то все аналогично, но делаем через sudo (и меняем yourname )):

sudo tar cpvzf /home/yourname/backup/`date +%y.%m.%d`_etc_settings.tgz /etc/

Замечу, что архив создастся под правами суперпользователя, поэтому если мы захотим его переместить, переименовать или удалить - система нас пошлет. Поэтому сразу после создания выдадим себе права на него:

sudo chmod 666 /home/yourname/backup/`date +%y.%m.%d`_etc_settings.tgz
(дата будет отличаться ;))

Теперь архив можно переименовывать и в общем обращаться как со своим =). Для восстановления файла из него — запускаем mc с правами рута (sudo mc), заходим внутрь и копируем нужный конфиг обратно в /etc.

PS: полный бэкап всего и всея:

tar -cvpf /backups/fullbackup.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups .

2009-03-25

Синхронизация контактов Symbian S60 3rd Edition с контактами Google

Сегодня немного не про винду, и даже не про линукс, а совсем даже про симбиан. Пару недель задался целью синхронизировать свой смарт с чем-нибудь. Оказалось, что если вы имеете гуглопочту и смартфон на базе Symbian S60 3rd Edition, то вы можете легко и просто настроить синхронизацию контактов между ними. Оригинальный мануал на английском расположен тут, и хотя он касается Nokia N-Series или E-Series, думаю он подойдет и для других смартов на этой платформе.

Итак, действия следующие (рассматриваю на Nokia E71):
  1. Откройте главное меню вашего смарта, выберите пункт Средства и затем пункт Синх.
  2. Откройте меню Функции и выберите Нов. профиль синхр., откажитесь от предлагаемого копирования профиля
  3. Обзовите как-нибудь создаваемый профиль. Например «Google sync»
  4. Откройте пункт Приложения
  5. Откройте пункт Контакты
    • Выставьте значение «Да» для опции «Включить в синхронизацию»
    • Впишите значение «contacts» (маленькими буквами, без кавычек) для опции «Удаленная БД». Нажмите Ok
    • Нажмите Назад 2 раза, возвращаясь к экрану на котором задавалось имя профиля. Выберите пункт Парам. подключ.
  6. Введите следующие значения:
    • Версия сервера: 1.2
    • Идентификат. сервера: Google (с заглавной G)
    • Канал прдч данныхr: Интернет
    • Точка доступа: С запросом, или непосредственно та через которую работает инет.
    • Адрес сервера: https://m.google.com/syncml (именно https)
    • Порт: 443
    • Имя пользователя: ваш аккаунт на гугле, например qiwichupa@gmail.com
    • Пароль: пароль от аккаунта
    • Остальное оставьте без изменений
  7. Нажмите Назад 2 раза, сохраняя созданный профиль и возвращаясь к списку профилей.
  8. Выделите созданный профиль, откройте меню Функции и выберите Синхронизация. Если интернет доступен, контакты смарта зальются в адресную книгу гугла и наоборот - контакты из адресной книги гугла зальются в смарт.

Лично у меня после этого обнаружился солидный бардак, так как контакты там и там друг другу не соответствовали, частично пересекались, частично отличались по именам. После первой синхронизации я удалил все контакты из смартфона, привел их в порядок на гугле (совместил одинаковые но разноименные записи, выдал русские имена), после чего повторно синхронизировал, залив на смарт приведенные в порядок контакты.

2009-03-22

Упала система. Что делать? (часть 2)

В первой части я описал действия, необходимые для первичной диагностики железа в случае если система упала. Повторю общие принципы:
  1. из компьютера выдирается все железо без которого он может работать или хотя бы подавать сигналы бипером (для последнего случая достаточно материнской платы, процессора и блока питания), после чего оное постепенно вставляется обратно и проверяется на работоспособность
  2. Если компьютер включается, но появляется надпись "NTLDR is missing" — пользуемся консолью восстановления, загрузившись со стандартного установочного диска Windows
  3. Если система грузится но в процессе падает в синий экран смерти (BSoD) — проверяем оперативку и системный жесткий диск программами Memtest 86 и Victoria

Теперь предположим что железо исправное, но система все равно валится в BSoD или просто работает нестабильно. В первом случае стоит попробовать загрузиться в безопасном режиме, для чего перед появлением первого экрана с логотипом XP нужно успеть нажать F8. При успешном нажатии появится меню, в котором безопасный режим будет одним из пунктов. Если система успешно загрузится в безопасном режиме, можно попробовать сделать 3 вещи:
  1. Переустановить сервиспак (SP)
  2. Переустановить Internet Exporer (IE)
  3. Использовать консольную утилиту sfc, сравнивающую файлы системы с исходными файлами из дистрибутива
Первые два пункта предельно ясны: если у вас XP с установленным SP3 и IE7, то берем их инсталляторы и устанавливаем снова. Иногда это помогает поднять систему, иногда не очень. В любом случае попробовать стоит. Третий пункт также не сложен. Нужно открыть консоль (пуск - выполнить - cmd), вставить установочный диск Windows и выполнить команду:
sfc /scannow

Нужно заметить только одно — установочный диск должен содержать версию Windows, включающую в себя тот сервиспак, который у вас установлен. То есть если вы ставили винду с диска Win XP SP2, а потом сами поставили SP3, то ваш инсталляционный диск не прокатит, потребуется найти диск Win XP SP3. Также должен совпадать язык. Если вы ставили английскую винду, после чего накатывали MUI, то sfc потребуется именно английский дистрибутив. Так что прежде чем использовать sfc, убедитесь что имеете на руках необходимый дистрибутив.

Если после переустановки SP и IE, и использования sfc система все еще падает в BSoD (а также в случае если система не загрузилась в безопасном режиме), остается один, последний вариант — попробовать восстановить реестр из резервной копии. Сами резервные копии создаются только в случае если у вас не отключена служба восстановления (сама по себе довольно бестолковая, но исправно сохраняющая реестр, что важно). Так как система не грузится, то потребуется загрузочный диск MiniPE, или аналогичный — способный загрузить с себя рабочую систему. Загрузившись с такого диска мы получаем возможность оперировать файлами на дисках, а также делать еще много чего интересного, но в данном случае нас будут интересовать только файлы. А конкретно — файлы, содержащие в себе системный реестр. Хранятся они в папке %windir%\system32\config и называются:
  1. SYSTEM
  2. SECURITY
  3. SAM
  4. SOFTWARE
  5. DEFAULT
На всякий случай сохраняем эти файлы в надежном месте, после чего приступаем к изучению папки «System Volume Information» внутри системного раздела. Внутри этой папки будут лежать подпапки, соответствующие точкам восстановления. А внутри каждой из них, на определенной глубине, лежать файлы с названиями, содержащими в себе названия оригинальных файлов из %windir%\system32\config.

Ориентируясь по дате их создания, выбираем слепок, созданный когда система прекрасно работала, и переносим эти файлы, переименовывая и заменяя ими файлы в %windir%\system32\config. После этого перезагружаемся и пробуем прогрузить систему.

Часто, после восстановления реестра, если оно конечно было успешно, я также переустанавливаю SP и IE, чисто на всякий случай. В комплексе эти методы процентах в 70ти дают рабочую систему, способную выполнять свои функции по крайней мере какое-то время, требуемое для завершения срочной работы. Иногда нет. В любом случае стоит понимать, что описанные действия не являются панацеей и единственно верным способом вылечить систему или починить компьютер. Описанное - лишь некий в общих чертах описанный путь, которого придерживаюсь я сам. Проверить железо, проверить загрузчик, проверить реестр и системные файлы. Естественно часто этот путь сокращается — например железо явно работает. Или усложняется — нет бэкапа реестра а нужная прога неожиданно заглючила и переустановка ее не помогает. Приходится гуглить, лезть в реестр руками и что-то править. Множество мелких вещей, которые остались за рамками этих двух заметок, приходят банально с опытом, какие-то глюки бывают специфичны для определенного железа или набора железа, это тоже стоит понимать. Однако, надеюсь что эти две заметки помогут в общих чертах понять подход к диагностике железа и восстановлению работоспособности системы, и сэкономить время как на переустановку так и, что важнее, перенастройку свежеустановленной системы.

2009-03-07

Liferea и чтение подзамочных лент livejournal как rss

Не секрет что все ЖЖ ленты — как юзеров, так и сообществ — транслируются новостными RSS-потоками. Эти потоки являются открытыми для всех и ссылки на них выглядят в общем случае как
http://community.livejournal.com/community_name/data/rss — для сообществ
и
http://username.livejournal.com/data/rss — для простых юзеров

Возникает справедливый вопрос — если эти потоки открыты, то как быть с подзамком? Подзамочные записи, разумеется, не транслируются в открытую. Для того чтобы иметь возможность их читать, требуется ридер имеющий опцию http-авторизации. Сам я с недавних пор использую аггрегатор Liferea, который умеет все что нужно, и мне остается ответить на вопрос — как читать подзамки в рсс-ленте? Оказывается — очень просто. Меняем ссылки на ленты, добавляя ?auth=digest, то есть придавая вид:
http://community.livejournal.com/community_name/data/rss?auth=digest — для сообществ
и
http://username.livejournal.com/data/rss?auth=digest — для простых юзеров

После добавления нужной ленты Liferea автоматом рвется ее проверять и запрашивает ваше имя пользователя живого журнала и пароль к нему. Изменить имя и пароль в случае чего можно в свойствах ленты на вкладке "Получить", раздел "Использовать HTTP авторизацию"

2009-02-23

"Приложения. Переход. Система." или как урезать главное меню GNOME

Главное меню Gnome, при всей его логичности, обладает довольно неприятным свойством - неотключаемыми подписями. В русском варианте подписанные как "Приложения", "Переход" и "Система", кнопки главного меню съедают драгоценное место на панели, что особенно критично на малых экранах, таких как у моей EeePC 901 (про 701ю модель тактично промолчу). К сожалению эти подписи не хранятся в совсем уж открытом виде, однако товарищ FIM-92 c forum.ubuntu.ru нашел решение данной задачи.

Русские имена кнопок хранятся в файле /usr/share/locale-langpack/ru/LC_MESSAGES/gnome-panel-2.0.mo.
Бэкапнем его перед началом работ:
sudo cp /usr/share/locale-langpack/ru/LC_MESSAGES/gnome-panel-2.0.mo /usr/share/locale-langpack/ru/LC_MESSAGES/gnome-panel-2.0.mo.bak

Если напортачим, всегда сможем восстановить файлик обратно:
sudo cp /usr/share/locale-langpack/ru/LC_MESSAGES/gnome-panel-2.0.mo.bak /usr/share/locale-langpack/ru/LC_MESSAGES/gnome-panel-2.0.mo

А пока установим програмку gtranslator и откроем в ней файл.
sudo aptitude install gtranslator
sudo gtranslator /usr/share/locale-langpack/ru/LC_MESSAGES/gnome-panel-2.0.mo

Выполним поиск (лежит как всегда в меню "Правка") по словам "Приложения", "Переход" и "Система", и когда они будут встречаться как перевод "Applications", "Places" и "System" соответственно, заменим их на что-то покороче. Сделав эти три замены, выберем "Сохранить как" и подставим вместо имени файла /usr/share/locale-langpack/ru/LC_MESSAGES/gnome-panel-2.0.mo, тем самым сохранив изменения. После этого перезапустим гнома выйдя из сеанса или перезагрузившись и вуаля - теперь на панели можно разместить дополнительные апплеты и длинные названия больше нам в этом не мешают. А так теперь выглядит моё меню:


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

UPD.: Как справедливо заметил fre4et:
"...всё это можно сделать намного быстрее, при этом свободы на панели станет намного больше.
1. Давим правой кнопкой на аплет Главного меню Gnome.
1.2. Выбираем пункт "убрать с панели".
2. Жмём правой кнопкой мыши на свободное место панели.
2.1. Выбираем пункт "Добавить на панель..."
2.2. Находим там аплет "Главное меню/Главное меню среды Gnome", выбираем его и добавляем на панель. Смотрим и радуемся этой экономии места. Кнопка по размерам немного меньше кнопки "Start" в системах Windows
При нажатии на неё откроется меню, в котором будет подменю "Система","Переход" и "Приложения"
"
(с)

Более чем достойное решение, хотя лично мне больше нравится классическая панель.

2009-02-07

Как нарезать FLAC+CUE в Linux

На торрентах часто музыка встречается в формате FLAC одним файлом, к нему прилагается файл с расширением CUE - описание дорожек, содержащее тайминги и названия треков. Разрезать FLAC на отдельные треки можно используя midnight commander (опционально) и скрипт:

#!/bin/sh
mv "$1" qiwitemp.flac
mv "$2" qiwitemp.cue
cuebreakpoints "qiwitemp.cue" | shnsplit -o flac "qiwitemp.flac"
cuetag "qiwitemp.cue" split-track*.flac



Допустим есть файлы "Metallica - ...and Justice for All.flac" и "Metallica - ...and Justice for All.flac.cue". Допустим вышенаписанный скрипт назван "cuef" (новичкам напоминаю что скрипт нужно положитть в ~/bin/ и сделать исполняемым). Запускаем mc, переходим в каталог с файлами. Пишем cuef ставя пробел после команды, выделяем файл "Metallica - ...and Justice for All.flac" (flac-файл), нажимаем Alt+Enter - это "скинет" имя выделенного файла в командную строку попутно преобразовав имя файла чтобы пробелы в имени корректно воспринимались командным интерпретатором. Аналогично скидываем второй - cue-файл - "Metallica - ...and Justice for All.flac.cue" и нажимаем Enter.

Скрипт переименует первый файл в qiwitemp.flac а второй - в qiwitemp.cue, после чего распилит первый на файлы split-track01.flac, split-track02.flac и так далее, и пропишет в теги информацию из cue.

2009-01-24

Упала система. Что делать? (часть 1)

В интернете часто задается данный вопрос. Часто людьми совсем далекими от компьютера, но, бывает, что и продвинутый пользователь, столкнувшись с проблемой «Синего Экрана» и обнаружив, что стандартная переустановка системы проблему не решила, создает очередной топик. В данной заметке я постараюсь доступно, насколько это возможно, рассказать о том, что нужно делать в ситуации, когда винда «упала».

Падение системы имеет в своей основе 2 глобальные причины. Первая — это, непосредственно глюк системы, в результате которого рушится реестр, ломаются системные файлы и система встает на прикол. Вторая причина — неисправное железо.

Железо бывает разное. Слишком разное, чтобы при возникновении ивента «система не грузится» начинать тестировать все, что воткнуто в конкретный системный блок. Поэтому общее правило при возникновении проблем я бы выразил так: «вытащи из своего компьютера все, без чего он может обойтись». В результате состав системного блока должен привестись к виду:

  1. Материнская плата

  2. Блок питания

  3. Процессор

  4. Оперативная память

  5. Видеокарта (если есть встроенная — оставляем только ее)

  6. Системный жесткий диск

Всё, этого достаточно чтобы система могла стартануть. Пробуем, если система заводится, значит проблема в железе или его взаимодействии с системой, возможно в драйвере. Так или иначе, возвращая по одной железке и стараясь после этого запустить систему, мы, в большинстве случаев, успешно определим кто виноват и дальше будем иметь возможность целенаправленно бороться. Если же в минимальной комплектации система продолжает отказываться нормально работать, наш круг подозреваемых сужается до всего 6 компонентов. Тут следует заметить, что в данном случае система может не грузиться по-разному. Рассмотрим варианты.


Компьютер вообще не работает.

Для начала компьютер может вообще не работать. То есть при нажатии на кнопку включения не будет ровным счетом никакой реакции. Здесь 3 подозреваемых:

  1. Блок питания.
    Может выдавать нестандартные напряжения, или не выдавать из вовсе.
    В этом случае, если нет гарантированно рабочего второго БП, придется взять в руки мультиметр и замерять напряжения на широком разъеме, втыкающемся в материнскую плату. Необходимые напряжения на стандартном современном блоке питания можно посмотреть в википедии, также я опущу приемы работы с мультиметром, будем считать вы умеете с ним обращаться. Остается один вопрос — как включить БП, когда он отсоединен от материнской платы? Очень просто. Необходимо отключить БП от сети (например кнопочкой на нем), подсоединить к нему одно устройство (подойдет CD-ROM, или жесткий диск), скрепкой перемкнуть на широком разъеме любой черный провод с зеленым (чаще всего он зеленый, в инструкциях к БП называется «
    Power Switch On»), включить БП. Перемыкая любой черный (это «земля») провод с не черными, убедиться что напряжения соответствуют норме, ну или хотя бы отклоняются от нее не более чем на 0.1-0.2 вольта.

  2. Кнопка включения.
    Как ни странно, но кнопки тоже умеют ломаться. Равно как и провода, идущие от них к матерям. Простой способ проверки — отсоединить кнопку от матери и перемкнуть контакты чем-нибудь металлическим, например отверткой. Делать это, как и все остальное, описываемое в этой заметке, надо предельно аккуратно.

  3. Материнская плата.
    Ну тут все просто. Если БП работает, и при прямом перемыкании контактов включения кулер процессора не стартует (для верности тут можно вытащить оперативку и видюху, даже если последняя одна) — значит, с вероятностью 99% мать умерла.

Помимо совсем неработающего компа, можно столкнуться с проблемой, когда кулера стартуют, но отсутствует изображение на мониторе. Тут все становится немного проще. Если компьютер не подает голоса, то есть отсутствуют сигналы подаваемые с помощью спикера, то стоит сделать следующее:

  1. Отсоединить жесткий диск.

  2. Вытащить оперативку и попробовать включить. Заведется и закричит — дело в ней.

  3. Аналогично поступить с видеокартой, ежели она не встроенная и единственная.

Если без видеокарты и оперативки комп продолжает молчать — вероятно дело в материнке или процессоре. Проверить их можно по большому счету только если у вас есть вторая подходящая мать, или второй подходящий процессор.

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


Компьютер включается, но система не грузится. На черном экране появляется надпись.

Этом случае, конечно, следует отталкиваться надписи. Чаще всего она гласит: «NTLDR is missing». Возможны другие варианты, возможно я дополню заметку позже, рассмотрев каждый из них. Пока же скажу, что чаще всего проблема решается загрузкой с установочного диска винды. После загрузки стандартный вин-установщик предложит запустить консоль восстановления. Загрузив ее, следует выполнить команды «fixmbr» и «fixboot», которые восстановят загрузчик операционной системы — именно его поломка является, чаще всего, причиной появления сообщений при загрузке.


Система загружается и вываливается в «Синий Экран Смерти (BsoD)»

Если система падает в БСоД, виной тому может быть неисправная оперативка или жесткий диск. Для их проверки существуют 2 старые, многократно проверенные утилиты — Memtest86+ и Victoria (для DOS). Они входят во множество самосборных загрузочных дисков, однако классический способ их загрузки — загрузка с дискеты. Так что если у вас сохранился FDD-дисковод, он вам еще может пригодиться. Взять эти две программы можно, соответственно, тут и тут. Описывать мемтест бессмысленно — он автоматически запускается и начинает нагружать оперативку тестами, работая в цикле. Пройдя 2-3 цикла (значение PASS) и удостоверившись что оперативка работает без сбоев, можно переходить к виктории. Последняя является русской программой и содержит хорошую документацию. Если влом читать, выделю основное. После загрузки требуется нажать кнопку P и выбрать жесткий диск, после этого нажать F2 и убедиться что вывелась информация о нем (в противном случае вы неправильно выбрали диск =)), затем — нажать F4 и, ничего не меняя, нажать «Enter». Запустится сканирование жесткого диска, каждый сектор будет прочитан, в случае неудачи поврежденный сектор будет добавлен в список в правом-нижнем углу экрана с пометкой «Warning». Наличие «бэдов» (bad-sector) говорит о том, что жесткий диск лучше сменить на новый. Хотя в ряде случаев бэды «лечатся», но далеко не всегда, и далеко не всегда после их «лечения» диском можно пользоваться как и прежде — часто вслед за 1-2-мя секторами начинают «сыпаться» остальные, безвозвратно унося с собой хранимую информацию.

Продолжение следует...

2009-01-15

Пара способов быстро и просто "оживить" Windows 2000/XP

Общеизвестным фактом является то, что великая и могучая операционная система Windows имеет обыкновение временами падать. Делает она это по-разному, с разной частотой и сокрушительной силой. Мне, как работнику весьма крупной компании, занимавшемуся несколько лет поддержкой работоспособности пользовательских машин, известно много-много-много самых различных случаев, когда "вчера все работало, а сегодня...". А сегодня не запускается autocad, в телефонном справочнике кракозябры, не загружается профиль пользователя, система непонятно тормозит, Word не хочет открывать документ, система падает в синий экран смерти. Перечислять так или иначе возникающие глюки можно долго. Иногда они связаны с криворуким пользователем, который смог пролезть куда не надо и сделать что не положено, иногда - причина кроется в аппаратной части компьютера. Хотя аппаратные глюки бывают очень впечатляющими и интересными, заставляющими несколько часов кряду корпеть над поиском причины неадекватного поведения машины, мне бы хотелось очень-очень кратко написать о том, что можно сделать при подозрении, что виновата в глюках таки сама система.

Я не великий гуру ОС Windows, и мне не хотелось бы разбирать сложные системы наподобие бэкапов сохраняемых на серверах, тонких клиентов и прочего-прочего, что труднореализуемо и с чем я не имел опыта. Мой опыт - это сетка на 1000++ компьютеров, доменная аутентификация, юзеры под Power Users, частые перестановки людей и компов, вагон разнообразного софта кочующего промеж компов и яростно замусоривающего реестр и системный раздел диска. Машинки самые разношерстные по ттх, с 2000 или XP на борту. В этих условиях машинки часто падают, и хочется иметь возможность быстро откачать очередную. Особенно если владелец стоит с ножом у горла со словами "Почему не работает? Вы срываете нам сроки!". Но хватит лирики.

Исходя из своего опыта могу сказать: не всегда, но довольно часто заглючившую винду можно легко и просто привести в нормальное состояние, иногда получив вполне рабочую систему, иногда - систему которая может проработать необходимый минимум до сдачи горящего проекта. В конце концов что по сути может сломаться в винде? Системные файлы и реестр. Вот их восстановлением и стоит озаботиться.

Файлы.
Самый прямой и брутальный способ спасти системные файлы - делать полный бэкап системы, причем желательно не встроенным архиватором, к которому есть существенные претензии, а сторонним софтом. Задача прямо скажем трудная, если речь идет не о конторе с 10ю компьютерами. Поэтому копнем что предлагает винда для сохранения своего добра.
А предлагает она консольную утилиту sfc, которая может сверить часть системных файлов с файлами дистрибутива. Есть подводный камень - дистрибутив должен содержать интегрированный сервиспак именно той версии (и, разумеется, языка), которая установлена на компьютере. Второй камень - дистрибутив должен быть воткнут в привод имеющий букву, соответствующую букве привода, с которого система ставилась. То есть если система ставилась на диск C: с DVD-ROM'а D:, а потом дивидюк сняли и заменили на второй хард, который получил ту же букву, то ничего не выйдет. Проще всего скопировать файлы с компакт-диска в локальную папку, например C:\windistr (таким образом чтобы внутри папки C:\windistr\ оказалась папка i386) и поправить пути в реестре. Последнее можно сделать приготовленным .reg-файлом, примерно таким:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup]
"SourcePath"="c:\\windistr\\"
"ServicePackSourcePath"="c:\\windistr\\"


(Стоит обратить внимание на то, что в файле реестра слеши (\) экранируются и потому удваиваются. Если менять реестр вручную, ничего удваивать не нужно.)

Когда файлы приготовлены, в реестр внесены правки пути и совершена перезагрузка (без этого не заработает!), можно открыть консоль и набрать

sfc /scannow
или
sfc /scanboot

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

Если применение утилиты sfc по каким-либо причинам невозможно, можно попробовать переустановить текущий сервиспак и Internet Explorer - в ряде случаев это помогает вернуть к жизни неработающие службы системы, поправить сбойные ветки реестра.

Если файлы системы можно попробовать вернуть с помощью утилиты sfc или путем переустановки сервиспака и IE, и, в ряде случаев довольно легко и просто вернуть работоспособность системы не проводя никаких предварительных операций (за исключением поиска дистрибутива Windows, инсталлятора сервиспака и IE), то восстановление реестра требует наличие бэкапа этого самого реестра. А ведь Windows 2000 вообще не имеет штатной службы, производящей целенаправленный бэкап. А если речь идет об XP, то ее встроенная служба восстановления, хоть и сохраняет точки восстановления, содержащие в себе в том числе слепки реестра, но во-первых, делает их не регулярно, во-вторых, сами точки получаются избыточными по размеру, при том что восстановить состояние из этих точек получается далеко не всегда. Так или иначе я долго самыми теплыми словами вспоминал линейку Windows 9x, в которой реестр бэкапился при загрузке и хранил 5, если не ошибаюсь, последних слепков. Для Win 2000/XP бэкап реестра фактически сводится к сохранению файлов из %windir%\system32\config:
default
SAM
SECURITY
software
system

Эти файлы хранят все ветки реестра за исключением веток профилей пользователей. Последние, впрочем, лично я не вижу особого смысла бэкапить, так как если страшный глюк распространяется лишь на 1 профиль в системе, то, пожалуй, проще его удалить и пересоздать, чем заниматься восстановлением. Тем более что для этого придется озаботиться не только сохранением реестра профиля, но и всех системных файлов заключенным в нем.

Итак, в ходе недолгого поиска удалось обнаружить консольную утилиту, умеющую делать именно то, что нужно - создавать бэкап файлов реестра, копируя их в указанный каталог. Утилита называется erunt и она как нельзя лучше подошла для решения задачи, так как во-первых, как я уже сказал, она консольная, что позволяет запускать ее скриптом, а во-вторых, она позволяет сохранять не более N копий реестра, при этом избегая создания нескольких копий за один день. В моем случае эта утилита запускается путем скрипта на VBS, стартуемого групповой политикой домена, примерно такого:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "\\srv\Script\script_run\registry_backup_test\autoback.exe C:\ERDNT\#Date# /noprogresswindow /days:5"

Этот скрипт, выполняемый при включении компьютера, сохраняет 5 последних копий реестра за разные дни в папку C:\ERDNT\, отводя под каждый бэкап отдельную папку с именем, соответствующим дате бэкапа. В случае потребности восстановить реестр, остается лишь загрузиться с какого-нибудь диска подобного Mini PE, и вернуть файлы на их законное место - %windir%\system32\config.

Используя утилиту sfc, имея под рукой инсталляторы сервиспака и Internet Explorer'а, а также копии реестра сделанные утилитой erunt, можно, не бросаясь в омут переустановки ОС, за 10-20 минут попробовать восстановить работоспособность Windows 2000/XP.

2009-01-10

Установка OpenOffice.org 3 в (k)ubuntu 8.04

Ставил так:
  1. Вот отсюда скачал архив, названный «OOo_3.0.0_LinuxIntel_install_ru_deb.tar.gz», и распаковал

  2. Открыл консоль и перешел в папку «DEBS»

  3. Так как ставил OO.o на Kubuntu, удалил из «DEBS» ненужный пакет «ooobasis3.0-gnome-integration» (в случае установки на Ubuntu следует, соответственно, удалить «ooobasis3.0-kde-integration»)

  4. Удалил текущий установленный OpenOffice.org 2, выполнив:
    sudo apt-get purge openoffice.org openoffice.org-*
    (что потянуло за собой некоторые пакеты, но в моем случае ничего существенного)

  5. Установил все пакеты OO.o 3 выполнив:
    sudo dpkg -i *.deb
    cd desktop-integration
    sudo dpkg -i *.deb

  6. Как финальный штрих — установил расширение — русский орфографический словарь.

Как альтернативный вариант — рекомендуют добавить интрепидовский репозиторий, обосновывая тем, что это более кошерно с точки зрения отслеживания обновлений и т.д. Лично я не стал с этим связываться, внутренний голос говорит что примешивать к системе репозиторий другой версии не очень хорошо. Может я и не прав.

2009-01-08

KUbuntu 8.04 sources.list

qiwichupa@qiwinote:~$ cat /etc/apt/sources.list
deb http://security.ubuntu.com/ubuntu/ hardy-security main restricted
deb http://security.ubuntu.com/ubuntu/ hardy-security universe multiverse
deb http://ru.archive.ubuntu.com/ubuntu/ hardy main restricted
deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu hardy universe
deb http://ru.archive.ubuntu.com/ubuntu/ hardy universe multiverse
deb http://ru.archive.ubuntu.com/ubuntu/ hardy-updates universe multiverse
deb http://archive.canonical.com/ hardy partner

#wicd
deb http://apt.wicd.net hardy extras

#xneur
deb http://gq.net.ru/ubuntu/ hardy xneur

# wine
deb http://wine.budgetdedicated.com/apt hardy main


# smplayer/mplayer
deb http://ppa.launchpad.net/rvm/ubuntu hardy main

# Ubuntu supported packages
# GPG key: 437D05B5
# Ubuntu community supported packages
# GPG key: 437D05B5
# Seveas' Ubuntu Packages
# GPG key: 1135D466
# Ubuntu backports project
# GPG key: 437D05B5
# Kubuntu.org bleeding edge KDE
# GPG key: DD4D5088
# Kubuntu.org bleeding edge amaroK
# GPG key: DD4D5088
# Upstream Wine
# GPG key: 387EE263
# Medibuntu multimedia packages
# GPG key: 0C5A2783
# Canonical Commercial packages
# GPG key: 437D05B5
# deb http://packages.medibuntu.org/ hardy free non-free

#google earth
deb http://dl.google.com/linux/deb/ testing non-free

# wxWidgets/wxPython repository at apt.wxwidgets.org
deb http://apt.wxwidgets.org/ hardy-wx main