2015-03-19

mutt, procmail, lbdb & UTF-8

Почту я люблю читать mutt-ом, ну нравится он мне. :) А разгребать её я люблю procmail-ом. ;) Всякие правила в лотусах/аутлуках просто рядом не стояли с возможностями этой штуки! Но речь сейчас пойдет не об этом. Точнее не совсем об этом...

2014-01-21

Регулеровка громкости, amixer и pulseaudio.

Оставлю ка я это тут... На память. ;)

Если не работает переключение mute/unmute таким образом:

amixer set Master toggle

То надо сделать вот так и все будет хорошо. ;)

amixer -D pulse set Master toggle

2011-05-12

cp_youtube.sh

Я тут немного притормозил выкладывание скриптиков, все времени не было. А выкладываю я их, как вы может быть заметили, по алфавиту. :) Но сегодня, специально по просьбе уважаемого tengu, выкладываю скриптик для сохранения просмотренного флеш видео. :)

В двух словах: сейчас очень много развелось разных сайтов, на которых можно глянуть видео через флеш плеер. Первый из них - это конечно же youtube. Все бы ничего, но просмотренное видео штатное не сохранить. :( Но раз вы его посмотрели - значит на компе оно есть! Не может не быть! :) Вот тут и поможет небольшой скриптик. Я его обычно вешаю на Crtl + Shift + F5. И если видео "приглянулось" - нажимаю эту комбинацию. Да, сохранит он ВСЕ просмотренные видео, ну так лишнее всегда можно удалить. ;) В общем: меньше слов - больше дела! В скрипте используется zenity, которое впрочем всегда можно выкинуть, если не нравится. ;)

Так же нужен lsof, без которого работать увы не будет. Впрочем вы всегда можете получить список открытых файлов другими, привычными для вас способами. Я не стал себя утруждать. ;)

#!/bin/bash

VIDEO_DIR=~/video/youtube

### Первая версия. Копировала из /tmp дириктории.
#mkdir -p $VIDEO_DIR
#
#LIST=`cd /tmp && ls Flash*`
#
#for I in $LIST
#do
# OLD_NAME=$I
# NEW_NAME=youtube_`( cd /tmp && ls -t --full-time $I ) | awk '{print $6 "_" $7}'`.flv
# cp /tmp/$OLD_NAME $VIDEO_DIR/$NEW_NAME
#done
#
#zenity --info --text="Скопировано видео:\n\n$LIST"

### Новая версия плееров сразу же удаляет файл, надо доставать дескриптор из /proc
mkdir -p $VIDEO_DIR

(
lsof -X | grep "/tmp/Flash" | while read I
do
 FD=`echo $I | awk '{print $4}' | sed 's/[^0-9]*\([0-9]*\)[^0-9]*/\1/'`
 PID=`echo $I | awk '{print $2}'`
 NEW_NAME=youtube_`date +%F_%T_%N`.flv
 cp /proc/$PID/fd/$FD $VIDEO_DIR/$NEW_NAME
 echo $NEW_NAME
done
zenity --info --text="Копирование окончено"
) | zenity --list --title "FLV Copy" --text "Копируем:" --column="Files" --width=640 --height=480

2011-04-21

auto_signature.sh

Когда-то использовал этот скрипт для подставления в подпись письма в mutt, фразы из фортуны.

#!/bin/sh
FORTUNE=`which fortune`
FORTUNE_DIR="/usr/share/games/fortune/rus/fortune_rus"

if [ "x$FORTUNE" = "x" ]; then
        exit 255
fi

if [ ! -d ${FORTUNE_DIR} ]; then
        exit 255
fi

${FORTUNE} ${FORTUNE_DIR}

any2mkv.sh

"Оборачивает" любой файл в контейнер mkv. В качестве параметра передается имя файла. Ничего особенного, так, подручная мелочь.

#!/bin/bash

if [ "x$*" = "x" ]; then
        echo "Used: $0 video_file"
else
        ffmpeg -i "${*}" -vcodec copy -acodec copy "${*}.mkv"
        touch -r "${*}" "${*}.mkv"
fi

any2flac.sh

"Мопед не мой". (с) :) Скрипт был нагло уперт где-то в инете. Из названия ясно что он перекодирует все что не поподя во flac. Что могу сказать? Работает. :)

alarm.sh

Данный скрипт у меня выводит разные напоминания, типа "каждый час сидя в офисе сделать зарядку, что бы жопа жиром не обросла", или что-то подобное. :) Ну а без параметров заставляет меня делать периодическую зарядку для глаз. Запускаю из крона. Без параметров - сообщение по умолчанию, с параметрами - параметры будут выведены на экра. ;) Писался для раскидывания на разные машины, не на всех был zenity или libnotify, поэтому проверяет что есть для отображения.

#!/bin/sh

DISPLAY=:0
LANG=ru_RU.UTF-8
LC_MESSAGES=C
if [ "x${1}" = "x" ]; then
 MSG="Зарядка для глаз:

1. Крепко зажмурьте глаза на 3 с, затем откройте на 3 с. Повторить 5 раз.
2. Быстро моргайте в течение 30-60 с.
3. По вращать глазами по часовой, затем против часовой стрелки ~60 с.
4. Осторожно помассируйте глаза через закрытые веки круговыми движениями указательных пальцев в течение 30 с.
5. Последовательно чередуйте взгляд на близкий предмет и взгляд вдаль. Это важное упражнение тренирует аккомодационную мышцу.
6. После этого повторите массаж глаз через веки."
TIMEOUT=" "
else
 MSG=$1
fi

export DISPLAY
export LANG
export LC_MESSAGES

EXEC=`which zenity notify-send gmessage xmessage | grep -v "not found" | head -n 1 | xargs basename`

case ${EXEC} in
 "")
  echo "Please install libnotify-bin, gmessage or xmessage"
  exit 255
 ;;

 "zenity")
  TIMEOUT=$2
  ${EXEC} --info ${TIMEOUT:-"--timeout=60"} --text="${MSG}"
 ;;

 "gmessage")
  ${EXEC} -center -default OK -buttons OK -fn "sans, 24" -title "Warning" "${MSG}"
 ;;

 "xmessage")
  ${EXEC} -center -default OK -buttons OK -fn "sans, 24" -title "Warning" "${MSG}"
 ;;

 "notify-send")
  ${EXEC} -u low -t 20000 --icon=dialog-warning "${MSG}"
 ;;
esac