среда, 4 ноября 2009 г.

convert

Столкнулся с необходимостью быстрого конвертирования картинок, и вот нашёл решение. Естественно записал на будущее :)

$ convert -quality 90 -resize 640x640 большое-фото.jpg уменьшенное-фото.jpg 


Программа convert позволяет автоматизировать многие операции обработки графики. В данном случае она берёт файл ( большое-фото.jpg ), уменьшает до размера, не превышающего 640x640 ( -resize 640x640 ), и сохраняет в формате JPEG с уровнем качества 90% ( -quality 90 ) уменьшенное изображение в файле уменьшенное-фото.jpg .

А если файлов много? Просто и быстро это можно сделать сделать одной командой командной оболочки выполненной в каталоге с фотографиями:

$ mkdir lowres; for f in *.jpg ; do convert -quality 90 -resize 640x640 “$f” “lowres/${f%.jpg}-640.jpg” ; done

Что делает эта команда: создаёт подкаталог lowres в текущем каталоге ( mkdir lowres ); далее для всех файлов с разрешением .jpg ( for f in *.jpg ; do … ; done ) вызывает программу конвертации ( convert ).

Программа ковертации сохраняет уменьшенные изображения в подкаталоге lowres под именем с окончанием -640.jpg . Так, если в исходном каталоге были изображения с именами мама.jpg , папа.jpg , я.jpg , то после выполнения указанной команды должен появиться подкаталог lowres/ с изображениями мама-640.jpg , папа-640.jpg , я-640.jpg . Изменённые имена файлов позволят не спутать их с исходными изображениями в высоком разрешении.

Набор команд между do и done повторяется несколько раз, для каждого файла подходящего по шаблону *.jpg . Имя обрабатываемого файла при этом хранится в “переменной” f . Запись $f позволяет получить это имя файла, а ${f%.jpg} отсекает ( % ) от имени файла окончание .jpg . Обратите внимание, что имена файлов берутся в двойные кавычки: “$f” , “${f%.jpg}-640.jpg” — это позволяет обрабатвать также имена файлов содержащие пробелы.

Конструкцию for f in шаблон ; do что сделать с каждым файлом ; done удобно использовать и для многих других целей. Например, для автоматического переименования или копирования файлов

Opera и Экспресс-панель

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

opera:config

И ищем User Prefs, в этом разделе ищем Speed Dial File и видем в этой стройке адресс по которому лежит конфиг "/home/user/.opera/speeddial.ini", его мы и будем править

Открываем и вписываем в speeddial.ini следующие строки:

[Size]
Rows=3
Columns=5

Где Rows - количество строк, а Columns - количество столбцов в экспресс панели.

Перезапускаем браузер и готово.

Монтирование ntfs раздела

Монтирование ntfs разделов делается так, устанавливаем ntfs-3g:

$sudo apt-get install ntfs-3g

Создаём место для мантирования, у меня это /media/win

$sudo mkdir /media/win

Даём права на использование для простого пользователя

$sudo chmod 777 /media/win

Далее смотрим какой же раздел мы будем монтировать

$sudo fdisk -l
/dev/sda3 12636 14592 15719602+ 7 HPFS/NTFS


Для монтирования делаем так:

$sudo mount -t ntfs-3g /dev/sda3 /media/win/ -o force

Для отмонтирования:

$sudo umount /media/win

Для автоматического монтирования раздела делаем следующее

$sudo vi /etc/fstab

Вписываем туда строчку:

/dev/sda3 /media/win ntfs-3g umask=0,nls=utf8,user,auto,rw 0 0

Перегружаемся и пользуемся виндовым разделом который автоматически смонтирован в /media/win

вторник, 3 ноября 2009 г.

Настройка wi-fi

Купил wi-fi роутер Dlink DIR-300, но вот беда, wi-fi то не настроин. Итак:

$lspci
04:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)


Дравишки нам нужны под Broadcom Corporation BCM4311, ставим b43-fwcutter, им поддержуется так же

» bcm4303 (802.11b-only chips, uses b43legacy)
» bcm4306 (Rev. 2 uses b43legacy, Rev. 3 uses b43)
» bcm4309 (only the 2.4GHz part)
» bcm4311 rev 1 / bcm4312
» bcm4311 rev 2 / bcm4312 (needs patches for 2.6.24)
» bcm4312 (only the 2.4GHz part)
» bcm4318

$wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
$tar xjf b43-fwcutter-011.tar.bz2
$cd b43-fwcutter-011
$make
$make install
$cd ..
$export FIRMWARE_INSTALL_DIR=”/lib/firmware”
$wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
$tar xjf broadcom-wl-4.150.10.5.tar.bz2
$cd broadcom-wl-4.150.10.5/driver
$sudo ../../b43-fwcutter-011/b43-fwcutter -w /lib/firmware wl_apsta_mimo.o


Теперь подправим /etc/network/interfaces:

$sudo vi /etc/network/interfaces

Добавим туда следующее:

allow-hotplug wlan0

# Указываем что IP статический
iface wlan0 inet static
# Имя сети 
wireless-essid home
# Настройки интерфейса интерфейса
address 192.168.0.30
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
# Подключение одновременно лишь к одной сети
wireless-mode managed
# Что косается WPA шифрования
# Имя сети
wpa-ssid home
# Ключь для подключения к роутеру
wpa-psk KvpsYhJuU
wpa-key-mgmt WPA-PSK
wpa-pairwise TKIP CCMP
wpa-group TKIP
wpa-proto WPA


Ребут и вуаля :)

понедельник, 2 ноября 2009 г.

Киевстар GPRS через SonyEricsson k750i

Собираюсь на дачу дней на пять и чтоб не теряться из виду решил настроить gprs-интернет используя в качестве модема SonyEricsson k750i.

Подключаем телефон через USB-шнурок, он виден в системе как /dev/ttyACM0(нужно собрать ядро с CONFIG_USB_ACM)

Проверяем поддерживает ли ядро usb-модем:

$sudo lsmod | grep cdc_acm
cdc_acm 12256 0 
usbcore 118224 5 cdc_acm,usb_storage,uhci_hcd,ehci_hcd


Если у вас нет cdc_acm, можете приступать к сборке ядра с CONFIG_USB_ACM :)
Если же у вас всё в порядке то смотрим определился ли модем

$ls -l /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 Авг 5 22:40 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 1 Авг 5 22:40 /dev/ttyACM1


Теперь поставим программу дозвона, это может быть как pppd так и wvdia. Так как я делал это в первый раз, то поставил сразу оба:

$sudo apt-get install ppp
$sudo apt-get install wvdial


Далее правим конфиг /etc/wvdial.conf следующим образом:

[Dialer KS-GPRS]
Init2 = AT+CGDCONT=1,"IP","www.ab.kyivstar.net"
Modem Type = USB Modem
Phone = *99***1#
ISDN = 0
Username = user
Init1 = ATZ
Password = pass
Modem = /dev/ttyACM0
Baud = 115200
Init1 = ATE1
Dial Command = ATD


Всё, теперь запускаем соединение следующей командой:

$sudo wvdial KS-GPRS

Кому интересен вариант с pppd, то конфиг /etc/chatscripts/KS-GPRS будет примерно таким:

ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
'' ATH
OK ATE1
OK AT+CGDCONT=1,"IP","www.ab.kyivstar.net"
OK-AT-OK "ATDT*99***1#"
TIMEOUT 60
CONNECT dc


А конфиг /etc/ppp/peers/KS-GPRS таким:
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/KS-GPRS"
debug
/dev/ttyACM0
115200
defaultroute
noipdefault
user ""
remotename Kyivstar
ipparam Kyivstar

usepeerdns

воскресенье, 1 ноября 2009 г.

После установки Xfce

После установки Xfce займёмся установкой программ без которых работать нельзя, как и писать без наушников когда жена "Ранеток" смотрит ;)

sudo

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

Устанавливаем из под рута sudo:

#apt-get install sudo


Потом правим доступ к файлу sudoers для возможности записи в него

#chmod 0660 /etc/sudoers
#vi /etc/sudoers

В открывшемся файле дописываем,

user admin ALL=(ALL) ALL


где user имя вашей учётной записи, сохраняем и обратно блокируем его на запись командой

#chmod 0440 /etc/sudoers

Теперь можно выполнять команды требующие рутовых привилегий просто дописав перед ними sudo и введя свой пароль, акцентирую ваше внимание - свой пароль а не рутовый.

sources.list


$sudo gedit /etc/apt/sources.list

Там дописываем репозитарий opera

deb http://deb.opera.com/opera/ etch non-free

После делаем

$sudo apt-get update
$sudo wget -O - http://deb.opera.com/archive.key | apt-key add -
$sudo apt-get update
$sudo apt-get install opera

Также мне пригодится кроме оперы браузер mozilla iceweasel 

$sudo apt-get install iceweasel

Далее ставим flash player, куда нынче без него :)

$sudo apt-get install adobe-flashplugin

Снифер trafshow входит в состав пакета netdia

$sudo apt-get install netdiag

Также не обойтись без tcpdump

$sudo apt-get install tcpdump

И конечно же midnight commander

$sudo apt-get install mc

Время я синхронизировал так:

$sudo apt-get install ntpdate
$sudo ntpdate ntp.time.in.ua

Так же я поставил openoffice почтовик icedove, торрент клиент azureus, просмотрщик изображений  mirage, и аудио проигрыватель audacious

$sudo apt-get install openoffice.org openoffice.org-thesaurus-ru openoffice.org-l10n-ru openoffice.org-help-ru icedove icedove-locale-ru icedove-l10n-ru azureus mirage audacious


Установка Xfce 4.6

После того как базовая установка закончена, естественно захотелось поставить свой любимый графический интерфейс xfce 4.6. Для этого откроем любимым редактором vi файлик /etc/apt/sources.list и приведём его примерно к следующему виду:

deb ftp://mirrors.tummy.com/pub/ftp.debian.org/ lenny main contrib non-free
# deb-src http://mirror.its.uidaho.edu/pub/debian/ lenny main

deb http://security.debian.org/ lenny/updates contrib non-free main
# deb-src http://security.debian.org/ lenny/updates main

# deb http://volatile.debian.org/debian-volatile lenny/volatile main
# deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

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

#xfce 4.6
deb http://www.debian-desktop.org/pub/linux/debian/xfce46 lenny xfce460

#multimedia
deb http://mirror.csclub.uwaterloo.ca/debian-multimedia/ stable main

#backports
deb http://www.backports.org/debian lenny-backports main contrib non-free
 

После делаем 

$sudo apt-get update

$wget http://apt.wicd.net/wicd.gpg

$sudo apt-key add wicd.gpg

$wget http://www.debian-desktop.org/pub/linux/debian/debian-desktop.org.key

$sudo apt-key add debian-desktop.org.key

$sudo apt-get install debian-backports-keyring

$sudo apt-get update

$sudo apt-get upgrade

$sudo apt-get install xorg xfce4 menu synaptic leafpad xfce4-terminal gnome-icon-theme update-manager numlockx alsa-base alsa-oss alsa-tools alsa-utils xfce4-mixer

Конфигурим alsa и настраиваем звук:

$sudo alsaconf

$alsamixer

$sudo alsactl store

Ну а теперь можно и запускать установленный xfce командой

$startxfce4