Заметки на память

12 марта, 2007

Yakuake

Filed under: Linux — vadim303 @ 17:08:56

Наверно найдётся довольно много тех, кто когда либо пробовал играть в 3D-шутеры. Например в Quake. Так вот, помните, там тоже есть консоль. 🙂 Теперь такая же консоль может быть и в вашей Linux-системе. Как вы наверно уже догадались из заголовка, речь идёт о Yakuake. Работает эта вещица в KDE и построена на базе Konsole, так что все возможности и настройки (по правой кнопке мыши) подобны ей. В репозитории Arch есть готовый пакет: просто ставим, запускаем и теперь при нажатии F12 у вас выезжает консоль как в Quake, при повторном нажатии F12 также уезжает. Как говорится мелочь, а приятно 🙂 Дополнительные настройки (как-то размер окна, длительность анимации и пр.) на кнопке с перевёрнутым треугольником.

PS: Добавлю, для тех кто ещё не встречал в новостях, что запущен проект Debian Package of the Day. В кратце: каждый день даётся описание случайного пакета из репозитория Debian, а так как это наверно самый крупный репозиторий свободного ПО, то проект будет интересен и пользователям других дистрибутивов. В частности я вот сразу узнал о вещице, которая и стала темой этой заметки 🙂

PPS: Сделал снимок с открытой консолью:

yakuake

9 марта, 2007

3D desktop

Filed under: Linux — vadim303 @ 20:59:34

Не фанат таких изысков, но приятно, что OpenSource начинает делать по всем статьям известного монополиста на его же поле: красивости, рюшечки, фенечки 🙂 Вот наткнулся в одном блоге на две демонстрации: возможностей Beryl и возможностей Vista. Последняя нервно курит в сторонке 🙂 Собственно сама статейка: Beryl vs Vista DWM.

conky

Filed under: Linux — vadim303 @ 16:29:57

Захотелось мне повесить на десктопе системный монитор. Довольно привлекательным показался conky. Но вот беда, обнаружилась проблема с прозрачностью в КДЕ. (но для начала, чтобы вообще хоть что-то рисовалось на десктопе нужно в поведении рабочего стола разрешить «Программы в окне рабочего стола»). Были испробованы варианты конфигов:

1.

double_buffer no
own_window no

в этом случае всё нормально, за исключением того, что при обновлении информации conky заметно «моргание».

2.

double_buffer yes
own_window no

от моргания избавляемся, но пропадают все иконки с рабочего стола. Если они вам не нужны, то возможно для вас это самый удобный вариант. (да, ещё нужно чтобы в xorg.conf выполнялось Load «dbe»)

3.

double_buffer yes
own_window yes
own_window_type desktop
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

в таком варианте наблюдаем следующий глюк: conky рисуется на чёрном фоне. Т.е. прозрачность не работает. Стоит изменить бэкграунд рабочего стола и при следующем обновлении информации под ней уже правильный фон. Решение проблемы было найдено здесь. В кратце: перед запуском программно как бы меняем фон (т.е. заменяем сам на себя). В ранее указанном источнике это предлагается делать программой feh (в принципе подойдёт любая другая умеющая менять бэкграунд). Для автозапуска написал скриптик:

#!/bin/sh

feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1` && conky

и положил линк на него в ~/.kde/Autostart
Теперь вроде всё работает как надо. Правда feh svg-картинки не понимает… но это уже решаемо отдельно 🙂

conky

6 марта, 2007

опыты с Арчем

Filed under: Linux — vadim303 @ 07:34:44

Вообще-то и опытов то особо не было… Всё прошло довольно гладко. Причём два раза 🙂 Но обо всём по порядку.

Как я уже говорил меня заинтересовал Arch Linux вследствие его заявленной похожести на Slackware (своей простотой) и моей неудовлетворённости менеджерами пакетов последней. Начал я пробу естественно на домашнем компе. Причём зная грабли с моим интернетом (а делать установку собирался по большей части из интернета), заранее поинтересовался их решением на linuxforum.ru, где получил исчерпывающий ответ (сразу небольшой плюс этому дистрибутиву 🙂 ). Как в последствии оказалось, проблем с сетевой картой Realtek RTL8111B не возникло, из-за того что в одной из подверсий ядра 2.6.19 в модуле r8169 сделали её поддержку и необходимость в отдельном модуле (хоть такой и был заранее припасён) теперь отпала. Для работы vpn был также заранее припасён пакет pptpclient-а, т.к. на базовом диске его нет. Ссылки на диск и пакет клиента:

ftp://ftp.archlinux.org/other/0.8/i686/base-0.8-beta2-20070222-i686.iso (134 Мб)

ftp://ftp.archlinux.org/community/os/i686/pptpclient-1.7.1-2.pkg.tar.gz (26 Кб)

Этого мне было вполне достаточно для установки базовой системы и дальнейшей установки необходимых приложений уже прямо из интернета.

При загрузке с диска, как и в слаке нас выбрасывает в консоль, где можно ознакомиться со вполне доходчивым описанием процесса установки:

# zcat /arch/archdoc.txt.gz | less

Ну а потом запустить сам инсталлятор. Я выбрал Normal Setup:

# /arch/setup

Установка… вы не поверите 🙂 — ещё проще чем в слаке. Всё та же разбивка винта (при необходимости), выбор групп пакетов и самих пакетов внутри групп (на вышеуказанном базовом диске только одна группа — base), установка… А дальше просто сказка — вам предложат настроить конфигурацию системы с помощью непосредственного редактирования её конфигурационных файлов. Конфиги более чем логично построены, хорошо откомментированы, так что даже никогда в глаза их не видевшему человеку не трудно догадаться как и что править. Да, забыл сказать: на каком-то этапе установки запустится определялка вашего железа (hwdetect кажись). И на домашнем и на рабочем компе железо ею было определено верно и в предлагаемых для правки скриптах всё уже где надо было прописано (давно я такого не встречал). Может кого-то непосредственное редактирование конфигов системы отпугнёт, но на мой взгляд это очень разумно. Человек сразу на этапе установки узнаёт: где и что править при необходимости, в отличие от настройки с помощью какого-либо интерфейса пользователя.

Вообще процесс установки до меня уже описали здесь, поэтому подробно останавливаться не буду, расскажу лишь об особенностях.

Во-первых, локаль я использовал русскую с кодировкой в UTF-8, поэтому мой /etc/rc.conf отличается:

LOCALE="ru_RU.UTF-8"
KEYMAP="ru-utf"
CONSOLEFONT="Cyr_a8x16.psfu.gz"

Раскладку клавиатуры ru-utf можно взять здесь: http://mlclm.narod.ru/ru-utf.map.gz.

В разделе сетевых настроек всё в том же файле на домашнем компе (c VPN) для интерфейса eth0 описываем локальную сеть (всё остальное будем делать при соединении по vpn) примерно так:

eth0="eth0 10.0.0.xxx netmask 255.255.255.0 broadcast 10.0.0.255"

И маршруты. Например так:

gateway="default gw 10.0.0.50"
cinetlocal="-net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.50"
ROUTES=(!gateway cinetlocal)

Статический маршрут понадобится когда мы удалим дефолтный перед установкой связи с VPN (чтобы не пропала связь с DNS-серверами). И ещё нужно в /etc/resolv.conf прописать адреса этих самых DNS-серверов.

Так как на работе раздача адресов происходит DHCP сервером, то на рабочем компе в сетевых настройах достаточно было написать так:

eth0="dhcp"

И всё. Клиент DHCP (он есть в группе base) сам получит вам адрес и поправит /etc/resolv.conf в соответствии с данными полученными с DHCP сервера.

Ещё для того чтобы заданная нами локаль (русская UTF-8) создалась, нужно в файле /etc/locale.gen раскомментировать следующую строчку:

ru_RU.UTF-8  UTF-8.

Это всё что касается особенностей установки базовой системы. Но ещё надо настроить дома VPN. Что я для этого сделал: взял демон adsl (путь /etc/rc.d/adsl), скопировал его в /etc/rc.d/vpn и поправил в последнем команды запуска/останова pppoe на запуск и останов pptpclient-а. Ну и удаление дефолтного маршрута добавил. Вот что получилось:

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
  start)
    stat_busy "Starting VPN Connection"

    /sbin/route del default &>/dev/null
    /usr/sbin/pppd call cinet &>/dev/null
    if [ $? -gt 0 ]; then
      stat_fail
    else
      add_daemon vpn
      stat_done
    fi
    ;;
  stop)
    stat_busy "Stopping VPN Connection"
    /usr/bin/killall pppd &>/dev/null
    if [ $? -gt 0 ]; then
      stat_fail
    else
      rm_daemon vpn
      stat_done
    fi
    ;;
  restart)
    $0 stop
    sleep 3
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"
esac
exit 0

Здесь cinet — имя тоннеля (файл описания в /etc/ppp/peers). Конфиги тоннеля и клиента pptpclient (/etc/ppp/options.pptp ) аналогичны описанным ранее мною в соответствующих статьях, так что подробнее останавливаться на них не буду. Итак, в результате, мы получили демон с именем vpn и теперь смело можем его прописывать в файле /etc/rc.conf для автозапуска примерно так:

DAEMONS=(syslog-ng network netfs alsa crond vpn gpm dbus hal kdm)

Забегая вперёд, замечу наличие в этой строчке демона с именем kdm. Это ни что иное как изящный способ загрузки системы сразу в графический режим с графическим же логином в систему. В данном конкретном случае это KDM (я использую KDE), но на его месте может быть и XDM, и GDM. На ваш вкус 🙂

Итак, у нас есть базовая система и налаженное интернет-соединение: мы готовы к установке необходимого софта. Делается это с помощью менеджера пакетов pacman. Описание на русском здесь: Pacman (русский). Но вообще в нём всё очень просто. Получить базу данных о пакетах: pacman -Sy, проапгрейдить установленные пакеты: pacman -Su, установить пакеты с их зависимостями: pacman -S имя_пакета, поискать пакет в базе: pacman -Ss регулярное_выражение. При настройке X-ов рекомендую вместо хorgcfg (который нигде рабочего конфига так и не создал) использовать hwd -x — создаёт вполне рабочий конфиг нуждающийся лишь в минимальном тюнинге.

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

useradd -m -s /bin/bash имя_пользователя
passwd имя_пользователя
gpasswd -a имя_пользователя optical
gpasswd -a имя_пользователя audio

Группы optical и audio позволяют работать с дисками и слушать музыку соответственно.

Вобщем как показал опыт (после всех экспериментов дома, я решил поставить Arch и на работе), вся система с нуля и до настроенных и работающих приложений ставится за 3 часа. При этом я делал пометки о ходе процесса, чтобы потом написать об этом здесь, и успел сходить в столовку пообедать 🙂

Как вы наверно уже догадались, система мне понравилась: быстра, проста, легка в настройке и обновлении, в глюках не замечена. Хотел найти недочёт, а не получилось 🙂 Некоторые пакеты, например firefox и thunderbird ставятся по нестандартным путям (к примеру в /opt/mozilla/) — о них система узнаёт посредством помещаемых в /etc/profile.d/ скриптов которые при логине обрабатываются системой. Вобщем всё оказалось продумано разработчиками. Прям даже и не придирёшься… Чтож, будем искать 😉 А вобще могу со спокойной совестью советовать попробовать этот дистрибутив. Вдруг и вам понравится 🙂

Кстати, на сайте Арча довольно много статей переведено на русский. Да и на ЛинуксФоруме в соответсвующем разделе довольно благожелательный народ. Вобщем думаю не пропадёте 🙂

PS: писал статью дольше чем ставил Арч. Правда некоторые личности в аське меня постоянно отвлекали, так что все ошибки из-за них :). В конце концов, когда я уже был готов запостить статью, у провайдера начались технические работы 🙂 В итоге публикация отложилась до утра… надеюсь кому-нибудь будет полезна вся эта писанина 🙂

28 февраля, 2007

Я вернулся…

Filed under: Uncategorized — vadim303 @ 10:51:59

Хотя собственно никуда и не девался, просто все насущные проблемы были решены и началось рутинное использование Linux в повседневных делах. Какое же это счастье забыть о постоянном поиске кряков, ключей, забыть о боязни нарваться при этом процессе на вирусы, трояны и прочую гадость, обновляться одним кликом не ища обходных путей где бы скачать обновления чтоб потом вручную их установить… Вобщем, кто имеет кучу лишних денег (а они вообще бывают лишними?) чтоб покупать винду и прочий к ней софт и кто никогда не использовал Linux не поймёт…

Но это всё лирика, теперь к сути 🙂 По поводу моих экспериментов с 64-х разрядностью и Gentoo. Разницы в производительности я не заметил. Более того, местами даже софт под Gentoo x64 работал меденнее чем тот же самый под классической Slackware. Конечно поигравшись с настройками и оптимизациями я бы и добился чего-то, но желание глубоко копать не было, потому сравнивал как есть: «из коробки». Кроме того, довольно продолжительные процессы обновления в Gentoo стали напрягать и не важно, часто обновляешься или редко: частые обновления тоже не гарантируют их быстроты т.к. рано или поздно нарываешься на большой пакет. Вобщем Gentoo хороший дистрибутив, с отличным менеджером пакетов, приятной системой скриптов но постоянная компиляция — это на любителя. Итог: Gentoo прожила у меня не больше месяца, а сейчас я по прежнему в старой доброй Slackware.

Ещё пару слов о x64. Как мне показалось сейчас приложения ещё не готовы извлекать из этой архитектуры её преимущества, а потому как минимум работают не лучше чем 32-х битные. К тому же в Gentoo эта ветка ещё довольно сыра (тоже сугубо моё ощущение), особенно это было заметно в мультимедийных приложениях — бывали и падения иксов, чего никогда у меня не случалось в той же слаке.

Что касается недавнего комментария GQ о 64-х разрядности: да, указатели в два раза больше, но они в общем объёме данных занимают как правило много меньше места чем те данные на которые они собственно и указывают, поэтому эти потери можно не учитывать. А операции с этими указателями на 64-х битном процессоре выполняются так же быстро как операции с обычными указателями в 32-х разрядном режиме. По поводу выгоды в научных расчётах: не знаю из чего вы исходили, но по моим представлениям выгоды быть не должно, т.к. операции с плавающей запятой выполняются с той же скоростью и разрядность этих данных на архитектуре x64 не претерпела изменений. Выигрыш будет при использовании очень длинных целых (64 бита), но они нужны в основном в финансовых расчётах ну и может быть в шифровании и технологиях сжатия (тут я не спец). Если у вас другие сведения, то поделитесь пожалуйста, т.к. именно научные расчёты мне интереснее всего.

Теперь о ближайшем будущем блога: возможно он немного оживёт, т.к. собираюсь попробовать Arch Linux. Судя по описанию этот дистрибутив так же прост и гибок как слака плюс обладает мощным менеджером пакетов. Всё же мне не хватает в слаке хорошего менеджера. Со swaret конечно тоже можно жить но слишком уж он неповоротлив да и зависимости далеко не всегда отслеживаются. Вобщем погляжу что за зверь этот Arch 🙂 Скорее всего это предпоследний дистрибутив который мне интересен (ещё интересен Debian своим менеджером apt, огромной армией пользователей и последовательной позицией использования именно свободного ПО, но пока Etch не вышел пробовать не хочу), так что велика вероятность что так и останусь на слаке до конца дней своих 🙂 Впрочем поживём увидим.

5 декабря, 2006

продолжаю осваивать…

Filed under: Linux — vadim303 @ 12:32:28

Собственно всё что я хотел рассказать на этот раз, я изложил в статье VPN в Gentoo. Критикуйте 🙂

Кроме VPN вчера поставил все необходимые для консоли утилиты, пересобрал мир 🙂 для заданных мною флагов USE. По ходу заметил что лучше ставить не так как везде обычно пишут:

# USE="флаги" emegre пакет

а сначала дописать в /etc/portage/package.use строку вида:

пакет флаги

а уж потом делать

emerge пакет

. Это позволит избежать неожиданностей при пересборке «мира». Я например так попался с mc: для utf8 его надо собирать с флагами «slang -ncurses», а в флагах по умолчанию было всё как раз наоборот. Пришлось после пересборки занова собирать mc.

Да, ещё… поставил замечательную вещицу: ccache — кэширует результаты компиляции, что позволяет ускорить процесс при повторных компиляциях. О настройке всё хорошо прописано в Gentoo Wiki.

До KDE надеюсь сегодня добраться.

4 декабря, 2006

осваиваю Gentoo

Filed under: Linux — vadim303 @ 09:13:45

Давно хотел попробовать этот дистрибутив, но то инета толстого не было, то железо медленновато было, то времени не хватало… теперь вроде всё срослось. Так что потихоньку натягиваю на свою машину чистые 64 бита: интересно, получу ли я с них какую-то выгоду? 🙂

А по сути я хотел написать заметку о бессетевой установке gentoo. Точнее сеть то есть, но она не работает в minimal install CD: как и следовало ожидать кернел модуля r1000 (напомню, у меня сетевая от Realtek RTL8111B) не нашлось. Вобщем в кратце технология такая: в gentoo получаем список файлов нужных на текущем этапе, загружаемся в ось с работающим инетом (в моём случае это слака, но не обязательно, можно с таким же успехом и в винду) и скачиваем в ней эти файлы. Возвращаемся в генту, устанавливаем скачанное. Теперь подробнее:

В Gentoo делаем так:

# emerge -fp <нужные-пакеты> 2> download.tmp

# cut -f 1 -d ' ' download.tmp > download.lst

Кладём download.lst в доступное для оси с инетом место, загружаемся в неё. Скачиваем например так:

# wget -N -i download.lst

Скачанное кладём в доступное для Gentoo место, загружаемся с minimal CD, повторяем по хэндбуку операции с монтированием и сменой корня:

# mount /dev/hda? /mnt/gentoo
# swapon /dev/hda?
# cd /mnt/gentoo
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev/ mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile

Кладём скачанные файлы в /usr/portage/distfiles, запускаем установку того чего хотели:

# emerge <нужные пакеты>

Вот пока собственно и всё. Надеюсь это кому-нибудь пригодится…

PS: а сетевуха у меня уже работает: после установки ядра, я повторил процесс установки сетевухи описанный парой заметок ранее для слаки. Не знаю из-за чего, но modprobe r1000 в генту сразу не взял его, а в слаке взял. В генту сделал ещё insmod /путь/к/модулю/r1000.ko, после чего modprobe нормально его подцепил. Вечером постараюсь разобраться с VPN-ом 🙂

powered by performancing firefox

25 ноября, 2006

Realtek ALC850

Filed under: Linux — vadim303 @ 14:04:11

Звук налажен. Сейчас заливается старая но добрая «Two Sides» от Clawfinger 🙂 По ощущениям — звучание по сравнению с моей старенькой Ямахой стало более глубокое (басов чтоль добавилось?), теперь бы ещё аудиосистему 7.1 к ней прикупить 🙂 Но речь не об этом…

Драйвера, которые лежат на сайте Realtek фактически устанавливают пакеты из комплекта ALSA, причём свежее тех что у меня сейчас установлено был только пакет alsa-driver (1.0.12). При этом конечно ни какой поддержкой системы управления пакетами там не пахнет. Вобщем я пошёл на сайт ALSA и скачал свежие версии пакетов (1.0.13). SlackBuilds я взял с дистрибутива из source, немного поправил, чтоб привести в соответствие с последней версией, убрал из них ненужные уже патчи. Сделал пакеты, проапгрейдил ими установленные. Вот собственно и всё.

PS: Подробности настройки этой звуковухи смотрите в комментариях…

24 ноября, 2006

Проблема с Realtek RTL8111B

Filed under: Linux — vadim303 @ 22:55:05

Ну во-первых спешу поделиться радостью: домашний комп проапгрейжен. Не удержусь от укола в сторону Windows — у неё после апгрейда крышу снесло напрочь — перестала грузиться даже в безопасном режиме. В Linux я предусмотрительно загрузился в 3-м ранлевеле, поправил xorg.conf и вуаля: система как ни в чём не бывало работает. Но возникла проблема: в материнку встроена сетевая карта (на моём старом компе такого ещё не было). Раз встроена, надо использовать. Но ядро её не обнаружило. Посмотрев в описание к материнке, выяснил: у меня контроллер Realtek RTL8111B. Пошёл в гугль, нашёл драйвер прям на сайте производителя: Realtek Software: Drivers & Utilities. Скачал, прочитал инструкцию по установке. Начал устанавливать. На этапе компиляции получил серию ошибок типа:

r1000_n.c:51: error: syntax error before string constant

Опять полез в гугл искать такие же ошибки: нашёл здесь решение проблемы. В строках, где возникла ошибка меняем MODULE_PARM на MODULE_PARM_DESC. Патч к файлу r1000_n.c выглядит примерно так:

--- r1000_n.c.old       2006-07-07 09:24:09.000000000 +0400
+++ r1000_n.c   2006-11-24 22:18:51.000000000 +0300
@@ -48,9 +48,9 @@
 MODULE_DEVICE_TABLE (pci, r1000_pci_tbl);
 MODULE_AUTHOR ("Realtek");
 MODULE_DESCRIPTION ("Linux device driver for Realtek Ethernet Controllers");
-MODULE_PARM (speed, "1-" __MODULE_STRING(MAX_UNITS) "i");
-MODULE_PARM (duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
-MODULE_PARM (autoneg, "1-" __MODULE_STRING(MAX_UNITS) "i");
+MODULE_PARM_DESC (speed, "1-" __MODULE_STRING(MAX_UNITS) "i");
+MODULE_PARM_DESC (duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
+MODULE_PARM_DESC (autoneg, "1-" __MODULE_STRING(MAX_UNITS) "i");
 MODULE_LICENSE("GPL");

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

Т.к. этот драйвер для нескольких типов контроллеров приведу список оных для поисковиков (если вдруг кто-то сталкнётся с такой же проблемой):
RTL8111B , RTL8168B , RTL8111 , RTL8168

PS: на очереди встроенный, но зато 8-ми канальный звук (опять же по сравнению с тем что стояло — просто небо и земля 🙂 ) от того же Realtek и ATI-шная видеокарта (хочу родные дрова попробовать). Будут проблемы, напишу 🙂

powered by performancing firefox

21 ноября, 2006

пакеты, создание, обновление

Filed under: Linux — vadim303 @ 22:40:30

В статье Slackware packages я попытался описать ручной процесс создания оных. В догонку некоторые замечания:

На LinuxPackages выкладывать свои творения не буду, т.к. пользую уже далеко не чистую Slackware 11 (я бы её назвал LinuxPackages Edition 🙂 ), а там настоятельно рекомендуют создавать и проверять свои пакеты именно на чистой (официальной) системе. Вторую систему заводить не хочу 🙂

SlackBuilds — ни что иное, как автоматизация того самого процесса описанного в упомянутой статье. Описывать их создание тоже не буду 🙂 , т.к. смысл их действий мною уже описан, а конкретные примеры лучше смотреть в дистрибутиве в папке source. Лучше чем Патрик я всё равно не напишу 🙂 Ещё есть интересный проект SlackBuilds.org цель которого — создание библиотеки этих скриптов. В идеале применять так: скачал нужный слакбилд, скачал исходник, положил их в одно место, запустил слакбилд и пакет готов 🙂

Ну и если кто не заметил — написал небольшую статью об утилите swaret облегчающей процесс установки пакетов и поддержания системы в актуальном состоянии посредством сети.

Следующая страница →

Блог на WordPress.com.