2007-12-31

Эффективный поиск — друг начинающего линуксоида

Сила линукса в постоянном прогрессе и совершенствовании. Ежесекундно сообщество генерирует заметки, how-to, записи в mailing-lists и свежий код, конечно. На форумах решаются возникающие "траблы". Новоиспеченные пользователи GNU/Linux часто создают после регистрации на форуме темы с вопросами-дубликатами, ответы на которые находятся в пределах досягаемости новичка. Нередко старожилы посылают товарищей «в поиск». Это верно. Незачем клонировать одинаковые темы. Для экономии времени и скорейшего решения загвоздки необходимо грамотно «погуглить». Кто знает, может искомый ответ расположился на расстоянии одной ссылки? Не поленитесь предварительно набрать пару слов в поисковике, перед тем как что-то спрашивать. Нижеприведенные советы не раз выручали меня в трудную минуту. Так как история повторяется, шансы найти искомое возрастают неограниченно.

1) Сформулируйте краткое описание проблемы или ее решение ключевые слова для ознакомления с новой информацией. Пример: linux+rar+многотомные архивы
2) Ищите в пределах домена (эффективно работает при поиске по форумам). Пример:
Compiz+Ati+настроить site:forum.ubuntu.ru

3) Если результат не выдал релевантные ссылки, переформулируйте запрос/замените синонимами ключевые слова и/или укоротите строку, убрав несущественный текст.
4) Определяйте вхождения строки в название ссылки. Примеры:
Blogger+примочки inurl:blogspot — ищет в страницах, адреса которых содержат «blogspot»
bluetooth+ubuntu inurl:.ru — результат поиска в доменной зоне ru (вы получите бОльшую вероятность получить ответ на русском языке)

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

2007-12-29

cppl2f — bash-скрипт для копирования файлов из m3u-плейлиста

Вот написал небольшой скриптик. Копирует музыку из .m3u плейлиста на плеер. Входные параметры: сам плейлист и директория, куда кидаем музыку. Я использую в связке с exaile. Там у меня уже нагенерированы списки воспроизведения. Пример использования:

cppl2f playlist0000.m3u /media/KEEPMASS300/CONTENTS/MUSIC

cppl2f — название скрипта, брошенного в /bin. У вас все может называться по другому. Не забываем сделать файл исполняемым:
chmod +x cppl2f

Листинг скрипта с комментариями:
#!/bin/bash 
# cppl2f.sh
# Copy playlist to folder
# accept a playlist and a destination directory 
# copy the playlist files to the destination 

if [ -z "$1" ] || [ -z "$2" ] # if we don't have two args... 
then 
echo "usage: $0 playlist.m3u destination_dir" 
else 
if [ -f "$1" ] # существует ли файл? 
then 
if [ -d "$2" ] # существует ли директория? 
then 
# читаем строки в плейлисте 
while read line 
do 
if echo "$line" | grep -q "^#" 
then 
 # пропускаем строки, начинающиеся с '#' 
 # т.к. они не несут полезной информации 
continue 
else 
#Процесс копирования
freespace=$(df $2 | awk '{print $4}' | sed 's/\([0-9]*\)\(.*\)/\1/')
filesize=$(du -k "$line" | sed 's/\([0-9]*\)\(.*\)/\1/')
if [ $freespace -gt $filesize ] #если места больше, чем размер файла, то копируем
then 
basename "$line" # вывод имени файла
cp "$line" "$2"  # копирование файла на плейер
fi
fi 
done < $1
echo "free space: $freespace Kb"
else 
echo "$2 isn't a valid destination directory." 
fi 
else 
echo "$1 isn't a playlist file." 
fi 
fi 

exit 0

Несколько полезняшек

Запуск HDTV с выпадением кадров, используя mplayer:

mplayer -vfm ffmpeg -lavdopts lowres=0:fast:skiploopfilter=all video.avi

Удалить пищалку, он же спикерфон
UPD: В Ubuntu Karmic Koala beep прописался в иксовых настройках. Избавиться от него поможет следующая команда:
xset b off
Форматировать дискету
mkfs -t msdos /dev/fd0
Очистить диск CD-RW
umount /media/cdrom0/; cdrecord -blank=fast dev=/dev/hdc; eject;
В последних 2 командах fd0 и hdc соответственно ваши устройства.

2007-12-28

ogg2wav low-bitrate

Понадобилось на днях конвертировать кучу файлов из ogg в wav с низким битрейтом. Написал строчку для рекурсивной обработки. В качестве конвертора выступает программа sox (есть в репозитории Ubuntu). Вот, собственно, оно самое:

find -iname '*.ogg' | while read a; do sox "$a" -r 22050 -c 1 "`echo $a|sed -e s/ogg`wav" resample -ql; done

Запускать скрипт нужно из каталога, который вы хотите обработать. На выходе получаем 22050 Hz, mono, 16 bit.

Intro

Официальная дата рождения проекта. На память, так сказать.