воскресенье, 12 декабря 2010 г.

chrome video fullscreen

После установки 10 флешплеера, при просмотре видео в полноэкранном режиме, возникала следующая ошибка:
произошел сбой следующего подключаемого модуля shockwave flash
чтобы избавится от этой ошибки, и наслаждаться просмотром полноэкранного видео, нужно установить 9 флешплеер.

качаем отсюда: wget http://download.macromedia.com/pub/flashplayer/updaters/9/flash_player_9_linux_dev.tar.gz

воскресенье, 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 с авторизацией:


суббота, 23 октября 2010 г.

ntp server ubuntu для локальной сети windows

Установить ntp
sudo aptitude install ntp
Редактирование конфига ntp.conf
sudo nano /etc/ntp.conf 
driftfile /etc/ntp.drift

# Enable this if you want statistics to be logged.

statistics loopstats peerstats clockstats

filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Сервера времени можно посмотреть сдесь http://www.pool.ntp.org/
синхронизируем время
$ ntpdate -q ntp1.imvp.ru
server 62.117.76.142, stratum 1, offset -0.151258, delay 0.07263
23 Oct 10:57:47 ntpdate[14730]: adjust time server 62.117.76.142 offset -0.151258 sec
Для того чтобы NTP запускался при загрузке, в файл /etc/rc.conf дописать следующее:
cat >> /etc/rc.conf
ntpd_enable="YES"
ntpd_flags="-c /etc/ntp.conf -l /var/log/ntpd.log -p /var/run/ntpd.pid"
Настройка Windows для синхронизации времени с локальным сервером

понедельник, 18 октября 2010 г.

Автомонтирование AudioCD Udev

Для монтирования AudioCD понадобится установить cdfs-src

Установка cdfs
aptitude install cdfs-src
Переходим в /usr/src и разорхивируем ахив
cd /usr/src
tar -jxvf cdfs.tar.bz2
Переходим в диренкторию modules/cdfs/2.6/ и становимся рутом
cd modules/cdfs/2.6
sudo su
Компилируем модуль, и загружаем его в память
make
insmod cdfs.ko
Проверим, монтируется ли cd
mount -t cdfs /dev/cdrom /media/cdrom
В папке /media/cdrom появятся файлы формата wav.

А теперь делаем автомонтирование

пятница, 10 сентября 2010 г.

Установка и настройка thunderbird-3.0

Устанавливаем:
sudo echo -e "\ndeb http://switch.dl.sourceforge.net/project/ubuntuzilla/mozilla/apt all main" | sudo tee -a /etc/apt/sources.list > /dev/null

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C1289A29

sudo apt-get update

sudo apt-get install thunderbird-mozilla-build

Локализация интерфейса
скачиваем локализацию
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.3/linux-i686/xpi/ru.xpi

Заходим в Tools/Add-ons
жмем install, и выбираем скаченный файл ru.xpi
Закрываем thunderbird, и запускаем с опцией -UIlocale ru-RU
thunderbird -UIlocale ru-RU

Установка браузера по умолчанию для открытия ссылок в thunderbird
Создаем файл ~/.thunderbird/lt0xpowq.default/user.js
с таким содержанием:
user_pref("network.protocol-handler.app.http", "/usr/bin/google-chrome");
user_pref("network.protocol-handler.app.https", "/usr/bin/google-chrome");
user_pref("network.protocol-handler.app.ftp", "/usr/bin/google-chrome");
Вместо /usr/bin/google-chrome указываете свой любимый браузер.

Установка проверки русской орфографии
Заходим в Edit/Preferences/Composition- Spelling (правка/настройки/составление -Орфография)

Жмем по ссылке - загрузить дополнительные языки, выбираем русский, скачиваем, и устанавливаем (Инструменты/Дополнения)

среда, 25 августа 2010 г.

iptables запрет доступа на сайт

Для запрета определенного сайта для одного ip или всей подсети в iptables добавить правило:

iptables -I FORWARD -p tcp -s 192.168.0.3 -d vkontkte.ru -j DROP
или
iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d my.mail.ru -j DROP

среда, 18 августа 2010 г.

Звук в mpd и других приложениях одновременно

В настройках mpd.conf
прописать следующее:
audio_output {
        type                    "alsa"
        name                    "My ALSA Device"
        options                 "dev=dmixer"
        device                  "plug:dmix"
}

четверг, 8 июля 2010 г.

3proxy pop3 smtp

Настройка почтовых клиентов через прокси 3proxy

Устанавливаем рабочий интерфейс и тип аунтификации 
internal 192.168.1.1
auth iponly
Аунтификацию проуйдет только ip адрес 192.168.1.2 и на открытые порты 110, 587
allow * 192.168.1.2 * 110,587 * 1-7 08:30:00-18:00:00
Пробрасываю  эти порты, на порты 3110 и 3587 соответственно
tcppm -i192.168.0.1 3110 pop.yandex.ru 110
tcppm -i192.168.0.1 3587 smtp.yandex.ru 587
В почтовых клиентах настройки будут следующие:
Сервер - 192.168.1.1
сервер pop - 3110
сервер smtp- 3587 


Для настроки почты gmail.com нужно:
В настройках 3 proxy - config.cfg

Разрешить порты 465 и 995
allow * 192.168.1.2 * 465, 995
добавить портмаппинг
tcppm 4465 smtp.googlemail.com 465
tcppm 4995 pop.gmail.com 995

в настройках почтовых клиентов указать
подключатся через безопасное соединение SSL

четверг, 17 июня 2010 г.

Удаленное управление

Задача, из любой точки иметь доступ к рабочей сети, с возможностью удаленного администрирования каждого компьютера в сети

Схема:
Интернет -> АдслРоутер -> Шлюз(ubuntu) -> Рабочая Сеть -> КомпьютерыWindows

Ренализация:

Первое что необходимо, это пробросить порты в адсл роутере на шлюз
Мне нужно иметь полный доступ к шлюзу.
Для этого:
  1.  пробрасываю 22 порт с роутера на шлюз,
  2.  устанавливаю ssh-server на шлюзе
  3.  Регистрируюсь в dyndns.com для получения днс имени, т.к. ip динамический

Все. теперь с домашнего компьютера ямогу подключатся к шлюзу.
Но Нужно иметь полный доступ к компьютерам в сети.
Для этого нужно:
  1. настроить на клиентских машинах удаленные сеансы, или установить любую программу удаленного управления (VNC)
  2. в роутере пробросить порт 3389 (это если использовать стандартное удаленные сеансы windows - RPD). либо, я использую VNC free edition, тогда нужно пробросить порт 5900
  3. Создать тунель:  
 ssh -2 -N -C -L 3389:192.168.0.3:3389 username@name.dyndns.org

где:
-2 - ssh версии 2
Если порт shh не стандартный (22), то указываем
-P [port]
-N без ввода команд
3389:  -локальный порт, на который мы пробрасываем, в случае с VNC порт 5900
192.168.0.3 - ip аддрес рабочего компьютера
:3389 - порт рабочего компьютера, на котором работает программа удаленного администрирования. В случае с VNC порт будет 5900
username - Имя пользователя на шлюзе
name.dyndns.org - Интернет адрес шлюза
Появится запрос на ввод пароля (пароль пользователя на шлюзе).
Все, тунель создался, теперь можно подключатся.

Можно указатьлогин и пароль
-l [login_user] -pw [password]

Можно воспользоватся программой rdesktop или vncviewer, и в параметрах подключения в место ip адреса, указать localhost.

среда, 26 мая 2010 г.

Статистика интернет трафика за месяц iptables

Данный скрипт отображает статистику использования интернет трафика за мясяц, по дням и по пользователям.
Скрипт сбора информации с iptables описан здесь
Выглядет это так:


Код скрипта:

четверг, 20 мая 2010 г.

Статистика iptables (Продолжение)

Для мониторинга трафика каждые 15 минут, выводится общий накопленный трафик за день, и разница, на сколько увиличелся объем скаченного трафика за каждые 15 минут.
 Код файла статистики предыдущего сообщения, в котором выводится накопленный трафик за весь день.  (форму для выбора дня/месяца/года я не стал копировать, её можно взять в предыдущем сообщении)

Выглядет это так:


вторник, 18 мая 2010 г.

Conky ProstoPleer.ru

Для отображения в conky прослушиваемой композиции на сайте ProstoPleer.ru, написал скрипт для оперы:
if ps aux | grep opera | grep -v grep > /dev/null

then

echo "ProstoPleer playing: `cat /home/userhome/.opera/global_history.dat | grep \"| ПростоПлеер\"| tail -1 | cut -d '|' -f1`"

fi

Раздать интернет в локальную сеть + статистика интернета

Имеем:
Роутер -> Ubuntu server -> свич -> локльная сеть

Интернет настроен в роутере(ip адресс роутера - 192.168.2.1), сетевые настрйоки следующие:
auto lo eth1 eth0 eth0:1
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
addres 192.168.0.1
netmask 255.255.255.0

allow-hotplug eth0:1
iface eth0:1 inet static
addres 192.168.1.2
netmask 255.255.255.0

iface eth1 inet static
addres 192.168.2.3
netmask 255.255.255.0
Перезагружаю сеть
/etc/init.d/networking restart
Интернет есть, можно раздавать
Настройка NAT
Раздавать инетрент буду только определенным ip адресам (аналогично и по mac адресам)
создаю скрипт internet

понедельник, 29 марта 2010 г.

Управление Audacity из консоли

Управление через D-Bus
вызов функции другой программы выглядит следующим образом:

dbus-send --dest=org.freedesktop.ExampleName /org/freedesktop/sample/object/name org.freedesktop.ExampleInterface.ExampleMethod

Где:
org.freedesktop.ExampleName — это имя «пункта назначения», т.е. идентификатор программы;
/org/freedesktop/sample/object/name — путь к объекту в программе, у которого мы будем вызывать функцию;
org.freedesktop.ExampleInterface.ExampleMethod — собственно, имя функции, которую мы вызываем.

Пример для audacious

воспроизведение/пауза:
dbus-send --dest=org.mpris.audacious /org/atheme/audacious org.atheme.audacious.PlayPause
стоп:
dbus-send --dest=org.mpris.audacious /Player org.freedesktop.MediaPlayer.Stop
предыдущая в списке композиция:
dbus-send --dest=org.mpris.audacious /Player org.freedesktop.MediaPlayer.Prev
следующая в списке композиция:
dbus-send --dest=org.mpris.audacious /Player org.freedesktop.MediaPlayer.Next

Второй вариант - использование audtool
Список всего что может audtool можно получить из справки, а может он много)

пятница, 19 марта 2010 г.

cmd удаление autorun c флешек

Скрипт писался для удаления с флешек авторанов и прочих неведомых скрытых exe файлов

for %%q in (a f g h i j) do (
if EXIST %%q: (
for /F "tokens=* usebackq" %%j in (`dir /B /S /AH %%q:\*.exe`) do del "%%j" /AH/Q/F
for /F "tokens=* usebackq" %%i in (`dir %%q: /B /AH`) do rmdir /S/Q "%%q:\%%i"
del %%q:\autorun.inf /F/Q
if NOT EXIST %%q:\autorun.inf md %%q:\autorun.inf
echo "Вирус удален" >> %%q:\autorun.inf\antiautorun.txt
date /T >> %%q:\autorun.inf\antiautorun.txt
)
)

Для поиска скрытых exe на всех дисках, и сохранение результатов поиска в файл
for %%q in (c d e a f g h i j) do dir /B /S /AH %%q:\*.exe >> C:\lookexe.txt

вторник, 16 марта 2010 г.

ThunderBird сохранение настроек

1 Способ
Если стоит WinXP:
1) В свойствах папок включаем отображение скрытых файлов и папок:
"Сервис" - "Свойство папки..." - вкладка "Вид" - ставим галочку напротив "Показывать скрытые файлы и папки"

2) Копируем с первого компьютера все файлы и папки, находящиеся по адресу: "C:\Documents and Settings\<ИМЯ ПОЛЬЗОВАТЕЛЯ>\Application Data\Thunderbird" в папку с аналогичным названием другого компьютера.

3) Также копируем с первого компьютера все файлы и папки, находящиеся по адресу: "C:\Documents and Settings\<ИМЯ ПОЛЬЗОВАТЕЛЯ>\Local Settings\Application Data\Thunderbird" в папку с аналогичным названием другого компьютера.

Имя пользователя - имя вашей учётной записи

2 Способ - MozBackup


http://mozutil.mozilla-russia.org/backup/index-ru.html

понедельник, 15 марта 2010 г.

Репозитории

#LXDE
deb http://ppa.launchpad.net/lxde/ubuntu hardy main
deb-src http://ppa.launchpad.net/lxde/ubuntu hardy main
#Emerland
deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./
#Cuneiform-linux

deb http://notesalexp.org/debian/hardy/ hardy main contrib non-free
 wget -O - http://notesalexp.org/debian/alexp_key.asc | sudo apt-key add -
#Игры

deb http://archive.getdeb.net/ubuntu hardy-getdeb games
deb http://dl.google.com/linux/deb/ testing non-free

пятница, 19 февраля 2010 г.

Udev, Hal Автомонтирование

Задача: Иметь одинаковые названия устройств, в /dev и /media, и монтировать/отмонтировать устройства в pcmanfm.

0. Смотрим файл
nano /etc/PolicyKit/PolicyKit.conf
и ищем там правило
<match action="org.freedesktop.hal.storage.mount-removable">
<return result="yes" />
</match>
Если нет, то нужно его добавить
Смотрим файл
nano /etc/hal/fdi/policy/preferences.fdi

Он должен содержать следующее:

воскресенье, 7 февраля 2010 г.

Conky. Музыка. playing now

Скрипт отображающий информацию о том, что в данный момент проигрывается

#!/bin/bash
if ps aux | grep audacious | grep -v grep > /dev/null
then
varr=`audtool current-song`
echo "audacious playing now: $varr"
fi

if ps aux | grep mplayer | grep -v grep > /dev/null
then
var1=`cat mplayer.log | grep ICY | cut -d \; -f 1| cut -d = -f 2 | cut -d \' -f 2 | tail -1`;
var4=`cat mplayer.log |grep Artist: | cut -d \: -f 2 | tail -1`;
var7=`cat mplayer.log |grep "Name :" | cut -d \: -f 2 | tail -1`;
var3=`cat mplayer.log |grep Title: | cut -d \: -f 2 | tail -1`;
var5=`cat mplayer.log |grep "info Artist" | cut -d " " -f 6- | tail -n 1`
var6=`cat mplayer.log |grep "info Title" | cut -d " " -f 6- | tail -n 1`

if `cat mplayer.log |grep "info Title" | cut -d " " -f 6- | tail -n 1`
then
echo "mplayer playing now: $var1 $var4 - $var3$var7";
else
echo "mplayer playing now: $var1 $var5 - $var6";
fi
else
if ps aux | grep mpd | grep -v grep > /dev/null
then
var2=`mpc | grep ' - '`
echo "mpd playing now: $var2"
fi

четверг, 4 февраля 2010 г.

Просмотр почты Яндекс.Мейл

Скрипт для захода на Yandex@mail и просмотра новых сообщений.
Функция установки кукисов
function CreateCurl($siteUrl, $cookieFile, $postData=array()) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $siteUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
if (count($postData)) {
$dataToSend = array();
foreach ($postData as $key=>$value) {
$dataToSend[] = $key.'='.$value;
}
curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $dataToSend));
}
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
return $ch;
}

$cookieFile = tempnam('', ''); 

Курс валют: Сегодня, Завтра

По работе необходимо следить за курсов валют usd, eur,
написал небольшой скрипт, который получает курсвалют с яндекса(на нем раньше обновления появляются, чем на sbrf.ru)

$file = implode("",file("yandex.ru"));
preg_match_all('/(?<=>)[0-9]{2}[\,][0-9]{4}(?=<\/strong><\/td>)/', $file, $out);

for($j=0; $j<4; $j++)
{
$out1[] = str_replace(",",".",$out[0][$j]);
}

$date2 = "0".date("d")+1 ."/".date("m")."/".date("Y");

$ee=round($out1[3]-$out1[2],4);
$dd=round($out1[1]-$out1[0],4);

if($dd>0) {$d = "+"; $color = "blue";} else {$d = " "; $color="red";}
if($ee>0) {$e = "+"; $color2 = "blue";} else {$e = " "; $color2="red";}

if($out1[2]!="" || $out1[3]!="")
{
echo "<u>Сегодня: <b>".date("d/m/Y")."</u></b><br>   USD = <font size='+2'>".$out1[0]."</font><br>   EUR = <font size='+2'>".$out1[2]."</font>\n<br><br>";
echo "<u>Завтра: <b>".$date2."</b></u><br>   USD = <font size='+2'>".$out1[1]."</font>   <font color='$color'>$d".$dd."</font><br>  ";
if($ee != -$out1[2]) echo " EUR = <font size='+2'>".$out1[3]."</font>   <font color='$color'>$d".$ee."<br>  ";
else echo " EUR = Неизвестно\n<br>";
}
else
{
echo "<u>Сегодня: <b>".date("d/m/Y")."</u></b><br>   USD = <font size='+2'>".$out1[0]."</font><br>   EUR = <font size='+2'>".$out1[1]."</font>\n<br><br>";
echo "<u>Завтра: <b>$date2</b></u><br>  ";
echo "USD = Неизвестно
   EUR = Неизвестно";
}
?>