вторник, 17 декабря 2013 г.

Wifi из консоли в Linux

http://lsoft.daraba.ru/blogs/nelex
 Тут такая хорошая статья - ни убавить, ни прибавить :) И вообще этот блог заслуживает того, чтобы в нем побольше покопаться.
Копирую как есть :) Спасибо автору. У меня network-manager и wicd подключались с десятого раза, а тут всё работает...
По итогам статьи создал скрипт

#!/bin/bash
service wicd stop
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -Dnl80211
dhclient wlan0
route add default gw 192.168.5.1
echo nameserver 8.8.8.8 > /etc/resolv.conf

Но еще его не обкатывал. Итак:

Привет уважаемый читатель!

Надоели в последнее время мне проблемы с wicd и wifi-radar для подключения к Wi-Fi в Linux, и я решил что пора бы подключаться через консоль, минуя все эти надстройки в виде программ для подключения. На самом деле все оказалось еще проще чем я предполагал. И сейчас я покажу как это делается. А тем кому пока не надоело подключатся через программы стоит добавить эту заметку в Избранное, в дальнейшем пригодиться.

Подключаемся к роутеру/точке доступа

Итак, предполагаем что подключение происходит с шифрованием WPA2, так как сейчас это самое популярное и наиболее безопасное решение, чем к примеру устаревший WPA.
Для начала посмотрим все ли в порядке с нашими устройствами:
# ifconfig
eth0      Link encap:Ethernet  HWaddr e4:11:5b:f2:cc:4a 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:299033 (292.0 KiB)  TX bytes:299033 (292.0 KiB)
Никакого wlan не видим, смотрим, может он отключен:
# ifconfig -a
eth0      Link encap:Ethernet  HWaddr e4:11:5b:f2:cc:4a 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:816 errors:0 dropped:0 overruns:0 frame:0
          TX packets:816 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:209884 (204.9 KiB)  TX bytes:209884 (204.9 KiB)
wlan0     Link encap:Ethernet  HWaddr e4:d5:3d:9e:97:bb 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:26410
          TX packets:0 errors:882 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:23
Ага, вот и он, наш wlan0, в некоторых исключительных случаях система его может обозначить как eth2, но не в нашем случае. Если ifconfig -a не вывел вам информации о беспроводном интерфейсе, значит система не видит устройство, либо оно отключено хардварно(на панели ноутбука), либо нет драйвера и устройство не определилось. В таком случае либо включите ваше устройство и повторите команду, либо переходите к установке драйвера. Установку я описывал в статьях:
Debian GNU\Linux: Broadcom Wi-Fi drivers в Compaq Presario CQ57
Broadcom драйвера wifi в Linux ядрах версий 3.4 и 3.5
Итак, зная наш интерфейс мы находим наш роутер или точку подключения:
#iwlist wlan0 scanning | grep -i essid
                    ESSID:"TP-LINK_985188"
                    ESSID:"Beryozka"
                    ESSID:"Tenda_18B2F8"
Видим наш "TP-LINK_985188".
Дальше, для WPA2 нам нужно создать запись соответствующую ESSID и Пароль доступа, для этого используем пакет программ wpasupplicant, если у вас не установлен, нужно установить:
# apt-get install wpasupplicant
Используем ее для генерации записи подключения:
# wpa_passphrase TP-LINK_985188 наш_пароль_установленный_на_роутере
Получаем сгенерированную запись:
network={
ssid="TP-LINK_985188"
psk=b8530ddba3a3625b9336be805da8cfb5f2d67d0e776d5ffd2f38b3f11b18a404
}
Открываем файл где храняться такие записи и добавляем нашу сгенерированную в него:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Сохраняем и закрываем.
Осталось только подключиться, что мы и делаем:
wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
В дальнейшем нам нужно только использовать последнюю команду для подключения к этому роутеру.

Настройки сети

Подключиться по Wi-Fi не сложно, но это еще не все, нужно получить/указать свои клиентские настройки для использования сети. Если ваш роутер раздает настройки автоматически то просто введите команду:
#dhclient wlan0
Если же не раздает, пропишем их вручную, введите команды:
ifconfig wlan0 ip-адресс netmask сетевая_маска
И добавляем шлюз:
route add default gw 192.168.1.1 последний IP адрес стоит по умолчанию для большинства роутеров, если у вас другой то введите его.
Все, как видите ничего сложного =)

среда, 15 мая 2013 г.

Пакетное сжатие фотографий

Если вам нужно быстро сжать кучу фоток

 for image in *.JPG; do convert $image -resize 1024 -quality 100 m$image; done




сжимаем все фотки в папке до размера 1024 по одной стороне с качеством 100%
только не забудьте, что в этой команде фотки с раcширением не ,JPG (а .jpg скажем) не участвуют!

суббота, 2 февраля 2013 г.

Linux - идеальный будильник!

Настроить компьютер в качестве будильника - легко!

Вот, к примеру, bash-скрипт, который в заданное время выводит компьютер из ждущего режима и проигрывает мелодии из папки в произвольном порядке, постепенно повышая громкость.

#!/bin/bash

# время по умолчанию
tm="16:41"

# громкость
volume=10
volume_max=50
# путь к папке с медиафайлами, или к медиафайлу.
folder="/home/alexey/Music/vk/*"
mplayer_start()
{
    # убиваем все процессы mplayer-а
    id=(`ps al | grep [m]player | gawk '{print $3}'`)
    for job in ${id[*]} ; do
        kill -9 $id
    done
   
    # включаем случайную мелодию с бесконечным повтором
    if [ -z "$1" ] ; then
        # mplayer -loop 0 -shuffle $folder &> /dev/null &
    mplayer -loop 0 $folder &
    fi
}

# позволяет вводить время в качестве первого параметра

# ./xxx.sh 16:41

    if [[ "$1" == [0-9]:[0-9][0-9] ]] || [[ "$1" == [0-9][0-9]:[0-9][0-9] ]] ; then
        tm=$1
    fi

date1=$(date -d "`date +%m/%d/%y` $tm" +%s)
date2=$(date -d "`date +%m/%d/%y` $tm tomorrow" +%s)

if [[ $date1 < `date -u +%s` ]] ; then
    date=$(echo $[$date2-`date -u +%s`])
else
    date=$(echo $[$date1-`date -u +%s`])
fi

# засыпаем
sudo rtcwake -m mem -s $date

# устанавливаем громкость
amixer -q set Master $volume%



echo "нажмите ENTER для выключения"
mplayer_start

# повышаем уровень громкости
while true ; do
    amixer sset Master 1%+ &> /dev/null
    volume=$(( $volume+1 ))
   
    if [ $volume -eq $volume_max ] ; then
        break
    fi
    sleep 1 # задержка повышения громкости
done &

read;
mplayer_start false


Скрипт отсюда: http://linuxforum.ru/viewtopic.php?id=19367
Там еще есть несколько способов организовать Linux-будильник.
Впрочем, в репозиториях видел уже готовые  программки, кому лень копаться, можете попробовать их :)

среда, 30 января 2013 г.

Поворот видео и ffmpeg. (Rotate video with ffmpeg)

Такая с виду не очень сложная процедура, как поворот нужного видео на 90 градусов, на деле потребовала гугления. Итак.

Посмотреть.
Если видео нужно просто просмотреть повернутым, это можно сделать в VLC или с помощью фильтров MPlayer:
$ mplayer -vf rotate=[0-7] имя файла


По поводу цифр 0-7 - выписка из манов (а у mplayer они просто необъятны!):


rotate[=<0-7>]
Поворачивает изображение на 90 градусов и опционально зеркально его отражает. Для значений между 4-7 поворот производится только в том
случае, если фильм имеет книжную, а не альбомную ориентацию.

0 Поворот на 90 градусов по часовой стрелке и отражение (по умолчанию).

1 Поворот на 90 градусов по часовой стрелке.

2 Поворот на 90 градусов против часовой стрелки.

3 Поворот на 90 градусов против часовой стрелки и отражение.


Перекодировать

Если видео нужно не только просмотреть, но и сохранить в таком виде, нам поможет мастер-на-все-руки - ffmpeg:


ffmpeg -i input -vf transpose=2 output

Насколько я понимаю параметр transpose принимает те же значения, что и rotate


Ссылки:
http://unixforum.org/index.php?showtopic=125629
http://stackoverflow.com/questions/3937387/rotating-videos-with-ffmpeg

Как-то так :)


Ну и на закуску некий комментарий для размышления:
Работал почти во всех порграммах видеомонтажа в Linux, Win, даже до Final Cut добрался.
Начинал с программы kino, Openshot, Cinilerra etc. Я по-прежнему пользуюсь Gentoo дома, но...

8 месяцев работы с видео привели к понимаю необходимости наличия дополинительного компьютера с минимум 4 ядрами 3.4 ГГЦ,
8-16 ГГ оперативной памяти, 1 или 2 ТБ жесткими дисками, нормальной видеокартой от Nvidia, USB-микрофон-гарнитура и следующим набором программ:
Windows 7 64 бит.
Audacity - обработка звука, удаление шумов
Free Sound Recorder - запись звука.
Adobe audition - программная минусовка, если возможно.
Free screen to video - захват видео и звука.
Sony vegas 10 или 11 32 и 64 битная одновременно - основной инструмент для работы с видео, полученного с камеры, включая все повороты одним движением мыши без туториалов (в 64 мне не удалось получить доступ к h264).
Adobe Premier - для создания видео презентаций из изображений.
Adobe after effects - для разработки спецэффектов, анимации и т.д.
Adobe Photoshop для цветокоррекции (хотя можно и средствами Premier)
VirtualDub - для простой разрезки и конвертации.
Набор всех известных кодеков.

Не справляется пока Linux должным образом с мультимедиа. Все остальное казуистика и фанатизм.
Тут стоит сделать одну оговорку, качественный захват на мощном компе, вероятно лучше осуществлять средствами ffmpeg под linux 64, в этом случае можно не переживать за разрешение экрана и битрейт. Здесь могут пригодиться знания флагов компилции, вероятно, будет смысл включать поддержку всяческих 3dnow sse4a на amd и ставить оптимизацию на -о3 при компиляции ffmpeg.
 http://www.gentoo.ru/node/10466

понедельник, 28 января 2013 г.

Linux Mint Debian Taste - первые впечатления

Первые впечатления от Linux Mint Debian - весьма приятный интерфейс, и отличные шрифты. Не знаю, что говорят шрифтовики-профи, но смотреть в монитор гораздо приятнее, чем в моем Дебиане.

Mint сейчас стоит на пожилом ноуте Toshiba Satellite A110-293 (и почему перестали делать колесико регулировки звука на передней панели - отличная ведь идея!!!) - 512 Мб памяти (смутно помню, что был гигабайт, но одна плашка накрылась), 80 Гб жесткий диск.

Cinnamon оказался довольно прожорливым - запуск Firefox с десятью вкладками подвесил систему практически намертво - отклика пришлось ждать по несколько минут. Поэтому срочно были установлены Opera и Chromium. Aptitude очень ругался на неразрешенные зависимости, но их так и надо оставить не разрешенными - в основном это результат ребрендинга. Скажем, пакет flashplugin-nonfree называется mint-flashplugin.

Chromium спас положение, по-крайней мере, система работает в разы быстрее. Использование Flash (например, просмотр онлайн-видео) резко замедляет компьютер. Да и без флеша подкачка задействуется прилично:


$ free
                   total          used          free     shared    buffers     cached
Mem:        505224     484632      20592          0       3412     166944
-/+ buffers/cache:     314276     190948
Swap:      1048572     256176     792396

Хотя кроме Chromium ничего не запущено.

Ну и периодически выскакивают разные мелкие ошибки - это же debian testing, да еще в чужеродной минтовской обложке. Aptitude например выдает неожиданно: время ожидания истекло. Но при этом исправно работает.
Попытка сделать скриншот тоже внезапно выдала ошибку - невозможно записать PNG, на устройстве кончилось место. Команда # echo > /tmp/tmp.tmp - тоже выдает ошибку - устройство заполнено, хотя свободное место было. Через некоторое время эта ошибка исчезла также как и появилась.
Впрочем, все равно поставил ksnapshot (никак не могу обходиться без KDE-шных программ!), ибо гномовский не умеет делать снимок произвольной области экрана (вот неужели было так трудно это реализовать, в гноме почему-то всё так).
Консоль тоже работает немного странно - в списках делает непонятные пробелы.
Программы можно устанавливать как обычно, или воспользоваться каталогом программ Mint - красиво, удобно, для начинающих - самое то.

В общем, пока что все терпимо - будем двигаться дальше!

вторник, 22 января 2013 г.

Мятный Дебиан

Да-да, вы не ошиблись! Оказывается, есть и такой.
Есть такой неплохой основанный на Ubuntu дистрибутив - Linux Mint.


Команда его разработчиков радует тем же, чем команда Open SUSE - хорошим вкусом и самостоятельностью. Как известно, Ubuntu на сегодняшний день считается самым дружелюбным к пользователю дистрибутивом Linux. А про Mint уже сложилась поговорка - "Это как Убунту, только лучше!"

Дистрибутив пока только на закачке, поэтому ничего конкретного не скажем. Скажем о том, что видно и так. Во-первых, он действительно элегантный. Во-вторых, разработчики сделали совершенно разумный и гениальный с точки зрения привлечения любителей Ubuntu и Gnome - они форкнули Gnome2 (Оболочка называется Mate), и переписали под свой дистрибутив Gnome3! (называется Cinnamon - "корица" в переводе).



http://cinnamon.linuxmint.com/

В общем, симпатично, удобно, а главное - разработчики стараются сделать все, что называется, "для людей". Учитывая то, в какую сторону ушли сначала KDE, а затем и GNOME, это не может не радовать.

Причем же тут Debian? А дело в том, что помимо ветки релизов, основанной на Ubuntu, существует еще ветка Linux Mint Debian. Это полностью совместимый с Debian дистрибутив, базирующийся на Debian Testing. Если сам Linux Mint выпускается по системе релизов, то Linux Mint Debian - это так называемый "rolling disrtibution", то есть дистрибутив, который обновляется постоянно и не требует перестановки с выходом новой версии.

Получить мощь Debian в элегантной упаковке - звучит заманчиво, не правда ли?
Что ж, скачаем и посмотрим!


вторник, 1 января 2013 г.

Небольшая мелочь. NTFS-3G

Однажды вы решаете проверить раздел NTFS командой fsck, а она выдает вам ошибку:
fsck from util-linux-ng 2.17.2
fsck: fsck.ntfs: not found
fsck: Error 2 while executing fsck.ntfs for /dev/sda2


 И это при том, что пакет ntfs-3g у вас стоит (кстати, проверьте - aptitude search ntfs - пакет называется ntfsprogs).
В чем дело? Гугл колется не сразу :)
А дело в том, что утилита для проверки системы ntfs называется ntfsfix и находится в каталоге /usr/bin/ А от нас требуется поставить символическую ссылку:
ln -s /usr/bin/ntfsfix /usr/bin/fsck.ntfs
или
ln -s /usr/bin/ntfsfix /usr/sbin/fsck.ntfs
это если вам угодно, чтобы fsck.ntfs лежал в том же каталоге, что и fsck

Вот и всё! С новым годом!