Инструменты пользователя

Инструменты сайта



// FlashBlock в Opera

Полезная ссылка: http://my.opera.com/Lex1/blog/flashblock-for-opera-9/

даны различные рецепты, в том числе очень удобный для Opera 10.5+: просто включить опцию EnableOnDemandPlugin, для чего нужно открыть настройки: opera:config#UserPrefs|EnableOnDemandPlugin, опция автоматически добавится, и можно её включить. Да, это будет работать для любых плагинов.

// Настройка сетевого сканирования

Таска возникла на работе, ничего сложного и по интернетам наверное есть, заметка для себя.

Для Xerox/Samsung МФУ и сканеров рекомендую поставить sane версии не ниже 1.0.20, т.к. там появилась нативная поддержка этих девайсов, в замен глючному Unified Linux Drivers (ULD).

Серверные настройки

Сервер - тот к кому подключен сканер

  1. в /etc/sane.d/dll.conf убираем строки добавленные при установке ULD, обычно содержат в себе слово mfp, добавляем строчку:
    xerox_mfp
  2. в /etc/sane.d/saned.conf прописываем адреса для которых разрешено сканирование, например, для все сети:
    192.168.13.0/24
  3. в /etc/xinetd.d/saned disable = yes заменяем на disable = no. Возможно сдесь же, придется исправить группу и пользователя от которого будет стартовать сервер saned.
  4. рестартуем xinetd

Или запускаем saned как сервер. Вот кстати полный конфиг для /etc/xinetd.d/saned:

service sane-port
{
	disable			= no
        port        	= 6566
	socket_type 	= stream
        wait        	= no
	groups			= yes
	user        	= saned
	group       	= users
	server      	= /usr/sbin/saned
}

Клиентская часть

Клиенты - те, с которых будет производиться сканирование.

Тут настройка проста, в /etc/sane.d/net.conf прописать адрес или адреса хостов, к которым подключены сканеры, можно задать таймаут опроса.

Дополнительно

На некоторых системах потребуется монтирование usbfs, что бы организовать правильный доступ к устройству пользователей, на работе в Мандриве это:

none /dev/bus/usb usbfs auto,busgid=100,busmode=0775,devgid=100,devmode=0664 0 0

У меня на ArchLinux:

none /proc/bus/usb usbfs auto,busgid=108,busmode=0775,devgid=108,devmode=0664 0 0

группа для vbox ;-) ну а так, почти не отличается

ID групп и пользователя и права задаёте те, которые у вам нужны.

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

// NetworkManager

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

Это пост-размышление и попытка найти золотую середину.

Итак, исходное: нетбук Asus EeePC 1000H, дистрибутив ArchLinux, из тех менеджеров, что можно найти в стандартных репозитариях: networkmanager, wicd, nuts (в AUR или в чакра-проджект).

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

wicd

Исторически так сложилось, что это был первый мененджер сетевых подключений, который я использовал. Он меня всем устраивал, даже тем, что можно было указать только под одному сетевому интерфейсу для проводной и беспроводной сети. Все, больше ничего лишнего: не VPN, не PPPoE, ни подключения телефона и т.п. Только управление профилями проводных и безпроводных (WIFI) сетей.

Изначально обладал только графическим клиентом - wicd-client, в последних версия обзавелся и консольным - wicd-curses, и все бы было хорошо, если бы не написан на питоне (есть у меня предубеждения к этому языку, считаю его идеальным для обучения хорошему стилю кодирования, но не как не для создания полноценных приложений, по сути, в мире *nix он стал эквивалентом Visual Basic для Windows).

Ладно, мне главное ехать, а не шашечки. Но в какой-то момент времени стали наблюдаться непонятные события - при отключении сетевого подключения (например если просто вынуть кабель) долгие тормоза, при этом от системы никакого отклика. Те же события при подключении, причем, я не могу выловить закономерности (мало-мало грешу на флеш в Firefox, конкретно - всякие ролики типа с Ютуба). Это меня сподвигло на поиск альтернативы.

NetworkManager

Логичной альтернативой стал NetworkManager, разработанный в рамках проекта Gnome. Исследуя его зависимости, оказалось, что сам демон (NetworkManager) от gnome никак не зависит, а вот с клиентами чуть каша (про это позже).

Краткие возможности: написан на Си, что несколько радует, позволяет настраивать сеть по нескольким сетевым интерфейсам, как проводным так и беспроводным, позволяет настраивать соединения по PPPoE, поддерживает настроку VPN (OpenVPN, pptp и ещё что-то), но через допольнительные плагины (которые требуют, для чего-то, установленного network-manager-applet)

Стандартный клиент - gnetwork-manager-applet (вызывается nm-applet), встраивается в системный трей, откуда можно вызвать и конфигуратор, имеет гномовские зависимости: gnome-keyring, policykit-gnome, notification-daemon

Есть клиент для KDE - knetworkmanager, к сожалению есть только в AUR7) и только для KDE3

Для консоли, клиент cnetworkmanager-git или cnetworkmanager, опять таки только в AUR8). Клиент написан на питоне.

В общем, GUI клиента без лишних DE зависимостей пока найти не удалось, так что если кто предложит, написанный только на QT/Gtk, буду благодарен, а пока наблюдаю работа в nm-applet.

nuts

Орешки :) Но пока я его не расколол - в клиенте так и не увидел ни одного профиля. Из минусов программы: жесткая настройка сетевых профилей в конфигурационном файле, но работать может с несколькими интерфейсами. В комплекте графический клиент на QT4 - qnut и консольный - cnut.

Доступен из AUR9) или из репозитариев чакра-проджект10), для отстройки нужен пакет kdemod-openresolv11) и хотя оба пакета в своём названии содержат kdemod, никаких kde зависимостей они не тянут12).

Вообще программа интересная, буду курить, но больше мне про него на данный момент сказать нечего.

// Интернет радио

Искал, что себе подключить на послушать на работе, в результате ничего подходящего не нашел. Сделал на связке mpd+icecast2 (почитать можно тут и тут).

Адрес: http://hatred.homelinux.net:8000
Добавить в проигрыватель: http://hatred.homelinux.net:8000/radio.ogg

Пару заметок для ArchLinux:

  1. создать директорию: /var/log/icecast и сменить владельца на nobody
  2. прописать в загрузке сначала icecast, потом mpd

Ну и запустил вещание свободной музыки с Magnitune, добавлял при помощи плагина к gmpc - gmpc-magnatune.

ЗЫ сегодня в эфире джаз :)

// Alfresco: устанавливаем и делаем первые шаги

Если вы сюда пришли, значит, что такое Alfresco уже знаете, если нет, можно почитать:

Что бы не повторяться, буду описывать только те моменты, с которыми я столкнулся и там ответов не нашел.

Начнем.

// Apache/PHP и resolv.conf

Столкнулся с тем что на машике из php скрипта не отрабатывала функция gethostbyname(). Интернет при этом отрабатывал прекрасно, все сайты открывались.

К слову сказать, машинка это - мой ноут, апач запущен для тестовых целей. Как показало изучение вопроса - апач получается адреса dns серверов при запуске из /etc/resolv.conf, а при перезапуске он этого не делает, т.е. нужно сделать ему стоп, и потом старт (верно для ArchLinux и его скрипта /etc/rc.d/httpd)

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

Хинт, на будущее.

// rtorrent как демон и управление через web

Давно озадачивался вопросом автономной работы torrent клиента. Под руку попалось описание, как для этих целей использовать transmission-daemon. Функционала мало, но впринципе устраивало, до тех пор пока не стал замечать, что теряет он пиры, не сидирует, причем излечивалось после перезапуска. Но и это я терпел, пока он вообще не перестал воспринимать закачиваемые торренты…

Тут я вспомнил про описание stanislaw'а как он запускал в виде демона rtorrent (консольный torrent клиент). Собственно всю демоническую часть я взял у него с небольшими изменениями, так что подробно на этом задерживаться не буду.

Само описание тут

// Странности с сетью

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

Схема подключения такая:

[компы сети]=====[свитч]------[роутер (inet via pppoe)]-------[ADSL модем]--~~~~~--[internet]

Анализ сетевых настроек ничего не дал, игры с MTU/MRU тоже, отключение ipv6 и windows scaling тоже, анализ работы tcpdump тоже… Поиск решения по интернету проводился долго и мучительно, но в итоге набрел на обсуждение: http://www.usenet-forums.com/linux-networking/71513-iptables-adsl-some-protocols-not-working.html и на документацию: http://www.linux.org/docs/ldp/howto/Adv-Routing-HOWTO/lartc.cookbook.mtu-mss.html

Результат - решение проблемы: добавить правило для iptables:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

конкретно в моём случае они получились такими:

  1. A FORWARD -i eth1 -o ppp999 -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu
  2. A FORWARD -i ppp999 -o eth1 -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu

PS кстати, отключить ipv6 можно так: создать файлик /etc/modprobe.d/ipv6 со следующим содержимым:

alias net-pf-10 off

// RSS reader для Firefox

Выбирал, выбирал, остановился на Brief: https://addons.mozilla.org/en-US/firefox/addon/4578

// Текстовые браузеры

Каждый со своими особенностями и прочим. Какие-то забыл? Комментируйте :)

  • lynx - наверное самый старый, потому и самый первый. Есть почти в любом дистрибутиве Linux, умеет дампить html в простой текст, что используется в mc для отображения html страничек по F3. Не умеет таблиц, что очень часто портит восприятие страницы. Фишек много, но не получилось сохранить капчу, которая в html задана в таком виде:
    <img src="/confirm.php" alt="captcha" title="captcha" border="0"> 

    Отобразился только альтернативный текст. Есть в репозитариях Arch Linux

  • links - старенький и уже не развивается, трудно найти в дистрибутивах уже, умеет таблички, не умеет, к примеру, HTTP аутентификации.
  • elinks - расширили links новыми возможностями, стал хорошим браузером, не без своих загонов конечно, капчу показанную выше позволил сохранить, что я потом посмотрел в zgv и ввел в браузере - прошло. Но дальше было ожидание до скачивания, сделанное на js, так что обломился :) Наличиствуется в репозитариях Arch Linux.
  • links2 - дальнейшее развитие links (кто бы дал умереть ему!?) научился работать в графическом режиме (links -g), научился http аутентификацию. С капчей вышеуказанной поступил как elinks. Таблицы и прочая радость и… практически невозможно работать из UTF8 терминала… ну заточен он на 8бит кодировки, так что юзаем luit. Он как и luit есть в резпозитариях Arch Linux.
  • Links Hacked - по сути - links2 + портирование некоторых фич из elinks. Остальное не юзал, не знаю.
  • w3m - наверное самое вкусное… первое что бросается в глаза - отлично работает с UTF8, а как же - разработчик японец, а там с кодировками почище нашего :) умет таблицы, умеет как и lynx дампить html, посему в конфиге mc и занял место lynx'а. Капчу отобразил мне как и lynx, т.е. прочесть не удалось. Есть в репозитариях Arch. Из вкусностей: w3mman - гипертекстовый навигатор по man страницам, в секции See also подствечивает гиперссылками страницки на которые можно перейти - удобно :) Главное меню вызывается по клавише Ins

Да, все браузеры не умеют java script, для w3m наткнулся на это: http://abe.nwr.jp/w3m/w3m-js-en.html но вроде как не жизнеспособно.

// OpenDNS

Если DNS провайдера подгоняет, или висит, или у вас несколько линков в Internet, которые переключаются в зависимости от доступности, а DNS провайдера отвечает только в том случае, если с его адресов запрос пришел (Привет Дальсвязи! И спасибо НТК, что отвечают не только своим адресам). Собственно выход - использовать нейтральный DNS сервис. Один из таких (в Техлайн Транстелеком их выдал на запрос :)) - OpenDNS.

Сайт сервиса: http://www.opendns.com

Первичный и вторичный DNS:

  • resolver1.opendns.com: 208.67.222.222
  • resolver2.opendns.com: 208.67.220.220

// Обновление udev 130->135 или как пропал интернет

После очередного обновления системы обновился udev с версии 130 на 135. Попутно хочу сказать, у меня две сетевых карточки, и, что бы именования интерфейсов сохранялись, используется 75-persistent-net-generator.rules, благодаря которому генерируется 70-persistent-net.rules.

Так вот, в новом udev произошли обновления, из-за которых старый 70-persistent-net.rules оказался несостоятельным. Имена сетевых интерфейсков поменялись, в результате PPPoE не поднимался. Пришлось удалить файл и переименовать 75-persistent-net-generator.rules.optional в 75-persistent-net-generator.rules и перечитать правила, подправить получившийся 70-persistent-net.rules. Но этого мало: нужно или выгрузить и подгрузить модули сетевух или перезагрузить систему, что бы правила подействовали на именование интерфейсов.

Собственно, вот такая вот ремарка.

// EeePC: dpi & wifi

В продолжение изначальной темы про мой EeePC. Разберем вопрос правильного задания DPI и как пользоваться WIFI и вообще сетью на ноутбуке.

DPI

Как задавать DPI (dots per inch / точек на дюйм) рассказано в статье про установку Arch Linux на EeePC 901 (смотреть мой первый пост про EeePC на этом блоге или пользоваться поиском на ArchWIKI). Я же хочу разобраться как получить это значение вообще, и какое оно будет для EeePC 1000HA, в частности.

Итак, разрешение матрицы монитора X на Y точек (пикселей). Тогда количество точек по диагонали:

Z = sqrt(X^2 + Y^2)

Диагональ монитора D дюймов, тогда значение DPI:

DPI = Z / D

Округляем его до большего целого.

Для EeePC имеем разрешение матрицы 1024×600 пикселей и диагональ 10.2 дюйма:

Z = sqrt(1024^2 + 600^2) = 1186.8
DPI = 1186.8 / 10.2 = 116.36 ~ 117 dpi

Иногда встречается информация, что диагональ 10 дюймов… спорить не берусь, меня пока всё устраивает :)

А для моего ThinkPad T530 (15.6 inch, 1920×1080):

Z = sqrt(1920^2 + 1080^2) = 2202.90717
DPI = 2202.90717 / 15.6 = 141.21 ~ 141 dpi
Width = 15.6 / 2202.90717 * 1920 * 25.4 = 345.35 ~ 345 mm
Height = 15.6 / 2202.90717 * 1080 * 25.4 = 194.26 ~ 194 mm

Прописываем полученное значение в /etc/X11/xinit/xserverrc, где строчка запуска превращается примерно в такое:

exec /usr/bin/X -nolisten tcp -dpi 117 "$@"

При использовании всяких mdm, gdm, kdm и иже с ними, нужно параметры запуска Xserver искать у них в настройках. Плюс, при таких настройках строчка ниже упорно рапортует о 96dpi. Зато в логах Xorg.0.log гордо красуется 141 (это уже новый ноутбук). При конфигурировании через xorg.conf картина с точностью до наоборот.

Перезапускаем, проверяем при помощи xdpyinfo:

xdpyinfo | grep -B2 resolution:

На картах nVidia (это уже не про EeePC :-)) есть опция для драйвера DPI, использовать её как-то так:

Section "Device"
    Identifier          "Card0"
    Driver              "nvidia"
    ...
    Option              "UseEdidDpi"   "false"
    Option              "DPI"          "141 x 141"
EndSection

Для других карт поможет DisplaySize в миллиметрах (сохраняем, например, в /etc/X11/xorg.conf.d/90-monitor.conf):

Section "Monitor"
	Identifier "<default monitor>"
	DisplaySize 345 194 # посчитали выше
EndSection

Более подробно:

WIFI

Хотя не только он, но больше про него.

Первое, говорится что стандартный драйвер не очень хорошо работает, я не стал проверять, поставил madwifi-hal из AUR. Надо только занести модуль ndiswrapper в blacklist или вообще удалить пакеты ndiswrapper и ndiswrapper-utils (если были поставлены). Если с драйвером madwifi-hal карточка не заведется, то, как рекомендуют форумы, стоит попробовать родной драйвер ath5k, и наоборот.

Да, я думаю пакет acpi-eee901 у вас уже стоит, так вот, стоит отредактировать файл /etc/acpi/eee.conf, конкретно, изменить значение переменной WIRELESS_MODULE и поставить её в ath_pci (в случае использования madwifi-hal) или ath5k (в случае использования стокового драйвера).

Теперь дело за малым. За менеджером соедененний.

Ноутбук устройство мобильное, и может использоваться в различных сетях, каждый раз править /etc/rc.conf и перезапускать сеть не выход. На помощь приходят менеджеры соединений. На себе проверил wicd, который есть в репозитариях ArchLinux. Прочитать про его настройку можно тут. Хотя я настроил методом «научного клика» и все заработало на ура :)

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

Проверил работу wifi совместно с wicd на работе - работает :) На этом тема wifi для меня пока закрыта.

// Автоподключение PPPoE. Переподключение при разрыве.

Запостил как ответ на форуме русского сообщества ArchLinux: http://archlinux.org.ru/forum/viewtopic.php?f=8&t=922&p=6580#p6580

Сохраню и для себя :)

Итак, стоят пакеты rp-pppoe и ppp. Дальше.

С переподключением при обрыве, имхо, только завести pppoe через daemontools:
http://aur.archlinux.org/packages.php?ID=16966

ну дальше читать документацию как добавлять сервисы. Если кратко, для 'pppoe', то так:

  • создаём директорию /etc/ppp-internet
  • создаём файл /etc/ppp-internet/run с следующим содержимым:
    #!/bin/bash
     
    # тут укажи сетевую которая у тебя подключена
    ifconfig eth0 up
     
    # nodetach - обязательно. за подробностями в документацию.
    exec pppd nodetach call dsl-provider
  • делаем его исполняемым: chmod +x /etc/ppp-internet/run

Потом создай этот самый dsl-provider, файл /etc/ppp/peers/dsl-provider с примерно следующим содержимым:

plugin rp-pppoe.so
# network interface
eth0
# login name
name "pppoe-login"
# use assigned DNS
usepeerdns
# add default route to connection
defaultroute
hide-password
noauth
# create interface with name ppp999 (in my case others users from LAN have access to Internet via VPN for accounting purposes)
unit 999

В конфиге никоим образом не должно быть опции «persist». Логин/пароль должны быть прописаны в /etc/pap-secrets или /etc/chap-secrets

ну и последний пасс:

ln -s /etc/ppp-internet /service/

управлять процессами daemontools можно при помощи команды svc

UPD:

Ссылки по теме:

// Opera и Bittorrent

Некоторое время назад обновил Оперу до версии 9.52 и как-то остановился на ней как на браузере «по умолчанию».

Через нескоторое время столкнулся с проблемой: как качать торренты не оперовской качалкой?

Решение было взято тут. По русски это будет звучать примерно так:

Выключить bittorrent-клиент в Опере

  1. В строку адреса вставьте следующее и нажмите Enter: opera:config#BitTorrent|Enable
  2. Снимите выделение с «Enable»
  3. Нажмите «Save»

Использовать другой torrent-клиент

  1. Перейти Tools > Preferences > Advanced > Downloads
  2. Убрать «Hide file types opened with Opera»
  3. Ввести «torrent» в строке быстрого поиска
  4. Найти строку похожую на: application/x-bittorrent torrent и открыть на редактирование
  5. Выбрать «Open with default application» или «Open with other application» и выбрать нужное приложение.
  6. Нажать «OK»