воскресенье, 14 ноября 2010 г.

воскресенье, 7 ноября 2010 г.

Альбомы picasa и yandex

Я уже упоминал о подключении альбомов. Сейчас же добавил некоторую интерактивность.
Пример скрипты для альбома picasa, для yandex точно также .

Первым делом зарегистрировался на vsyc.com.
Указываем в скрипте username и password для входа на vsyc.com
#!/bin/bash
(
VAR=$(expect -c "
spawn mount.davfs https://pub.vsyc.com/picasaweb.google.com/username /media/picasa/
sleep 2
expect \"Username:\"
send \"username_vsyc\r\"
sleep 2
expect \"Password:\"
sleep 2
send \"password_vsyc\r\"
sleep 4
expect \"Accept certificate for this session? \[y,N\]\"
send \"y\r\"
sleep 2
")
Добавил отображение хода монтирования альбома.
А по окончании монтирования добавим диалог с вопросом, нужно ли открыть смонтированный диск.
for i in 1 2 3
do
echo " "; sleep 3;
done
) | if zenity --progress --pulsate --auto-close --title="Picasa" --text="Подключается диск picasa";
then
if zenity --question --text="Диск Picasa смонтирован. Открыть?"; then
sudo pcmanfm /media/picasa
fi
fi

пятница, 5 ноября 2010 г.

Скрипт с диалогом для поиска

Диалог поиска


Результаты поиска

Скрипт:
#!/bin/bash
dialog=`zenity --entry --title="Поиск" --text="Что нужно найти?" --entry-text ""`

str_find=`find / -iname $dialog | zenity --list --title "Search Results" --text "Finding all header files.." --column "Files" --width 600`

cd_file=`echo "$str_find" | rev | cut -d / -f 2- | rev`;

pcmanfm "$cd_file"
Для удобства создадим ссылку на скрипт
cd /usr/bin
sudo ln -s ~/scripts/finds finds
Для openbox'a можно добавить сочетания клавиш, для запуска скрипта
<keybind key="A-C-F">
<action name="execute">
<execute>finds</execute>
</action>
</keybind>

четверг, 4 ноября 2010 г.

Использование expect

Старенький adsl модем, иногда обрывает соединение, и теряет adsl. помогает только перезагрузка.
Для автоматизации этого процесса написал скрипт
#!/usr/bin/expect
set host [lrange $argv 0 0]
set user [lrange $argv 1 1]
set pass [lrange $argv 2 2]

spawn telnet $host
expect "login"
send "$user\r"
expect "Password"
send "$pass\r"
sleep 2
 #expect "#"
send "reboot"
send "\r"
exit
Запускать нужно так:
~/rebootmodem ip_адрес_модема логинн пароль

Еще один пример использования expect:
Монтирования альбомов picasa или yandex с авторизацией: