среда, 16 ноября 2011 г.

Настройка Роутера D'LINK DIR 620 Ver. A1

Приведу скрины настроек dlink dir 620 rev.A1, ver. 1.02.
Если у вас такая прошивка, рекомендую обновить ее до
DIR_620-1.2.26-20110222.fwz, а затем до DIR_620-1.2.102-20110518.fwz

и настраивать в привычном интерфейсе (аля dlink dir300 rev.B5).
Добавятся некоторые опции (например mppe для vpn подключения), не доступные в этой прошивке.

Также его прошивают другими прошивками: DD-WRT, и прошивкой от keenetik'a.

Доступ к web интерфейсу:

  • 192.168.0.1
  • логин: admin, 
  • пароль: admin


воскресенье, 13 ноября 2011 г.

Настройка Zyxel Keenetic lite

Доступ к web интерфейсу.
В браузере вбиваем: 192.168.1.1
логин: admin
пароль: 1234.

Заходим в web интерфейс, и первое что видим, это системный монитор:
Настройка Интернет соединения VPN (PPTP, L2TP )

воскресенье, 6 ноября 2011 г.

Одни комбинации клавиш для управления разными плеерами


Часто пользуюсь разными плеерами, vlc для видео, audacious и mpd для музыки, и хочется управлять ими с клавиатуры одинаковыми комбинациями клавиш.

Используя утилиту qdbus, (примеры для разных плееров описал здесь ) можно написать скрипты управления, и привязать их к комбинациям клавиш.

Для плеера audacious можно использовать audtool, описанный в этой статье

Пример скрипта управления громкостью плееров (mpd, audacious, vlc). остальные объединяются аналогично:
#!/bin/bash
if ps aux | grep audacious | grep -v grep > /dev/null
then
volume=`audtool get-volume`
let "vol=$volume $1";
audtool set-volume $vol;
else
if ps aux | grep vlc | grep -v grep > /dev/null
then
volume=`qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.VolumeGet`
let "vol=$volume $1"
qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.VolumeSet $vol
else
if `mpc | grep ' - '` | cut -d '-' -f1 > /dev/null
then
mpc volume $1
fi
fi
fi
Пример управление перемоткой:
#!/bin/bash
if ps aux | grep audacious | grep -v grep > /dev/null
then
audtool playback-seek-relative 10
else
if ps aux | grep vlc | grep -v grep > /dev/null
then
pos=`qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.PositionGet`
let pos1=$pos +10000
qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.PositionSet $pos1
else
if `mpc | grep ' - '` | cut -d '-' -f1 > /dev/null
then
mpc seek +10
fi
fi
fi
Следующий трек:

#!/bin/bash
if ps aux | grep audacious | grep -v grep > /dev/null
then
dbus-send --dest=org.mpris.audacious /Player org.freedesktop.MediaPlayer.Next
else
if ps aux | grep foobnix | grep -v grep > /dev/null
then
foobnix --next
else
if ps aux | grep banshee | grep -v grep > /dev/null
then
banshee --next
else
if ps aux | grep vlc | grep -v grep > /dev/null
then
qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.Next
else
if `mpc | grep ' - '` | cut -d '-' -f1 > /dev/null
then
mpc next
fi
fi
fi
fi
fi
Пример Плей/Пауза:

 #!/bin/bash
if ps aux | grep audacious | grep -v grep > /dev/null
then
audtool playback-playpause
else
if ps aux | grep foobnix | grep -v grep > /dev/null
then
foobnix --play-pause
else
if ps aux | grep banshee | grep -v grep > /dev/null
then
banshee --pause
else
if ps aux | grep vlc | grep -v grep > /dev/null
then
qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.Pause
else
if `mpc | grep ' - '` | cut -d '-' -f1 >> /dev/null
then
mpc play
fi
fi
fi
fi
fi
Теперь вешаем эти скрипты на комбинации клавиш. Для openbox это делается так:
Открываем файл ~/.config/openbox/rc.xml
и в секцию  <keyboard>  пишем:

<keybind key="C-Up">
      <action name="execute">
        <execute>/home/user/scripts/player/volume +10</execute>
      </action>
    </keybind>
    <keybind key="C-Down">
      <action name="execute">
        <execute>/home/user/scripts/player/volume -10</execute>
      </action>
    </keybind>
<keybind key="C-A-N">
      <action name="execute">
        <execute>/home/user/scripts/player/next</execute>
      </action>
    </keybind>
    <keybind key="C-A-B">
      <action name="execute">
        <execute>/home/user/scripts/player/prev</execute>
      </action>
    </keybind>
    <keybind key="C-A-P">
      <action name="execute">
        <execute>/home/user/scripts/player/playpause</execute>
      </action>
    </keybind>
    <keybind key="C-S-Left">
      <action name="execute">
        <execute>/home/user/scripts/player/seek +10</execute>
      </action>
    </keybind>
    <keybind key="C-S-Right">
      <action name="execute">
        <execute>/home/user/scripts/player/seek -10</execute>
      </action>
    </keybind>

Сохраняем, перезапускаем  DE и можно управлять любым плеером одними и теми же комбинациями.

Управление VLC, Amarok, Kaffine, Clementine, qmmp, guayadeque из консоли


В этом поможет консольная утилита qdbus

Для VLC qdbus org.mpris.vlc /Player
Для Amarok qdbus org.kde.amarok
Для Kaffeine qdbus org.mpris.kaffeine
Для guayadeque qdbus org.mpris.guayadeque
Для Clementine qdbus org.mpris.clementine
Для qmmp qdbus org.mpris.qmmp
Для audacious qdbus org.mpris.audacious

Для xmms2 qdbus org.mpris.xmms2



Пишем в консоле qdbus org.mpris.vlc /Player и получаем:
$ qdbus org.mpris.vlc /Player
Service 'org.mpris.vlc' does not exist.

Ага, забыли запустить плеер, запускаем плеер, и повторяем
userhome@debian:~$ qdbus org.mpris.vlc /Player
method QString org.freedesktop.DBus.Introspectable.Introspect()
signal void org.freedesktop.MediaPlayer.CapsChange(int)
method int org.freedesktop.MediaPlayer.GetCaps()
method void org.freedesktop.MediaPlayer.Next()
method void org.freedesktop.MediaPlayer.Pause()
method void org.freedesktop.MediaPlayer.Play()
method int org.freedesktop.MediaPlayer.PositionGet()
method void org.freedesktop.MediaPlayer.PositionSet(int)
method void org.freedesktop.MediaPlayer.Prev()
method void org.freedesktop.MediaPlayer.Repeat(bool)
method void org.freedesktop.MediaPlayer.Stop()
method int org.freedesktop.MediaPlayer.VolumeGet()
method void org.freedesktop.MediaPlayer.VolumeSet(int)
Как видно есть все для управления. 

Как этот можно использовать?
Например привязать скрипт к комбинации клавиш, и управлять например громкостью в активном плеере:

Перемотка:

 if ps aux | grep vlc | grep -v grep > /dev/null
then
pos=`qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.PositionGet`
let "pos1=$pos 10000"
qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.PositionSet $pos1
fi
Или остановить проигрывание

 if ps aux | grep vlc | grep -v grep > /dev/null
then
qdbus org.mpris.xmms2 /Player org.freedesktop.MediaPlayer.Stop
fi


А может уменьшить громкость одним движением мыши ?
Написать скрипт ~/scripts/volume

if ps aux | grep vlc | grep -v grep > /dev/null
then
volume=`qdbus org.mpris.vlc /Player org.freedesktop.MediaPlayer.VolumeGet`
let "vol=$volume $1"
qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.VolumeSet $vol
fi

Установить brightside, и привязать этот скрипт к левому верхнему углу.
Теперь при перемещении курсора в левый верхний угол экрана, громкость уменьшится)

Также можно получать Метаданные проигрываемого трека
qdbus org.mpris.vlc /Player GetMetadata
Что можно использовать например в conky 

Conky VLC

Добавляем информацию из VLC плеера в conky.
(Поддерживает http трансляцию, локальные аудио и видео файлы)
Пишем небольшой скрипт ~/scripts/echovlc:


if ps aux | grep vlc | grep -v grep >> /dev/null
then
    vvv1=`qdbus org.mpris.vlc /Player GetMetadata | grep artist: | cut -d : -f2`
    vvv2=`qdbus org.mpris.vlc /Player GetMetadata | grep title: | cut -d : -f2`
    vvv3=`qdbus org.mpris.vlc /Player GetMetadata | grep nowplaying | cut -d : -f2`
   
    if [[ "$vvv3" == "" ]]
      then
if [[ "$vvv1" == "" ]]
 then
vvv=`qdbus org.mpris.vlc /Player GetMetadata | grep location | cut -d : -f3- | cut -d \/ -f3- | cut -d . -f1-5`
v5="Смотрю - $vvv"
else
v5="Слушаю $vvv1 - $vvv2"
fi
   else
v5="Слушаю радио - $vvv3"
   fi
   echo $v5
 fi
Результат:
 

Небольшое описание:
Проверяем, запущен ли vlc
Получаем информацию о файле
Проверяем, есть ли в выводе строчка nowplaying, если есть, значит проигрывается радио,
выводим
слушаю композицию
Сверяем, если есть метаданные artist и title,  значит это аудио файл, следовательно выводим: слушаю трек
Если метаданных нет, то выводим имя файла, и видимо это видео файл, а значит выводим:
смотрю файл


В конфиг коньков (~/.conkyrc) пишем:
{execi 40 bash ~/scripts/echovlc | cut -d ":" -f 2 | cut -d "-" -f1 }
{execi 40 bash ~/scripts/echovlc | cut -d ":" -f 2 | cut -d "-" -f2 }
Получится как то так:





Значек  ▶  или ■  выводится другим скриптом (~/scripts/playstopconky):
 if [ -n "`~/scripts/echovlc | cut -d ":" -f2 | grep ' - '`" ]
then
     echo "▶";
else
     echo "■";
fi
В ~/.conkyrc этот скрипт подключается так:
${execi 10 /home/userhome/scripts/playstopconky}

пятница, 4 ноября 2011 г.

Настройка Dlink DIR 300 Rev B1

Настройка PPTP
Выбираем Manual Internet connection Setup


Настройка Dlink DIR 300 NRU Rev.B5

В адресной строке браузера 192.168.0.1
Логин: admin,
Пароль: admin

После входа в настройки, нужно сменить пароль администратора, и перезайти. 
Первое что мы видим - это общая информация роутера, можно увидеть версию прошивки, и если она старее чем на офсайте, рекомендую обновить.


среда, 2 ноября 2011 г.

Ограничение скорости по ip


Была задача ограничить скорость интернета одного пользователя в сети.
Нашел решение тут: http://www.tangarus.ru/61/linux/ogranichenie-skorosti-kanalashaping-v-linux/
 
eth1 - Интерфейс на в локальную сеть
192.168.200.31 - ip пользователя в локальной сети

#!/bin/bash
#Обнуляем корневой класс
tc qdisc del dev eth1 root
tc qdisc del dev eth1 handle ffff: ingress
 
#Создаём корневой класс исходя из скорости канала в Интернет 10Мбит для входящего трафика...
tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth 10mbit
#... и для исходящего
tc qdisc add dev eth1 handle ffff: ingress
 
#Пользователь 1
USR1IP=192.168.200.31
USR1ID=1 #код потока пользователя, д.б. уникальный для каждого
USR1DOWNSPD=1024 #Ограничение входящей скорости
USR1UPSPD=512 #Ограничение исходящей скорости
let USR1UPSPDBSRT=$USR1UPSPD*1024
#Режим входящий трафик
tc class add dev eth1 parent 1: classid 1:$USR1ID cbq rate $USR1DOWNSPD\kbit allot 1500 prio 5 bounded isolated
tc filter add dev eth1 parent 1: protocol ip prio 16 u32 match ip dst $USR1IP flowid 1:$USR1ID
tc qdisc add dev eth1 parent 1:$USR1ID sfq perturb 10
#Режим исходящий трафик
tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src $USR1IP/32 police rate $USR1UPSPD\Kbit burst $USR1UPSPDBSRT drop flowid :$USR1ID


Другая реализация ограничение скорости интернета для пользователей в сети
http://sudouser.com/nastrojka-ogranicheniya-i-raspredeleniya-kanala-htb-shaper.html

Установка и настройка биллинговой системы Stargazer

http://notes.ghost.dn.ua/node/66

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

CIFS VFS unexpected SMB signature

При монтировании Windows шары, в терминале сыпятся следующие строки:
314013.689376 CIFS VFS: Unexpected SMB signature
314014.969252 CIFS VFS: Unexpected SMB signature
314014.984662 CIFS VFS: Unexpected SMB signature
На Windwos XP, Server 2003 по умолчанию включено подписывание SMB.

Проблема встретилась только с шарой на Windows Server 2003, на XP такого не замечал.
На сайте microsoft подробно об этом написано http://support.microsoft.com/kb/887429

Вкратце решение для Windows Server 2000/2003/XP:


вторник, 11 октября 2011 г.

MS SQL SERVER Suspect

MS SQL SERVER База данных в режиме Suspect

Общие шаги по восстановлению работоспособности базы:


«Suspect» этот статус присваивается базе в случае аварийного состояния.
Часто такой причиной является неисправность Журнала транзакций (transaction log). Попытка подключить базу без логов ожидается примерно такое сообщение об ошибке: 
Server: Msg 945, Level 14, State 2, Line 1
Database ' db_zup' cannot be opened because some of the files could not be activated.
Server: Msg 1813, Level 16, State 2, Line 1
Could not open new database 'db_zup'. CREATE DATABASE is aborted. Решить эту ситуацию можно созданием новой базы с таким же именем и такими же по именам и расположению .mdf и .ldf файлами.
Чтобы можно было не останавливать сервер целиком, укажите параметр базы autoclose = true
Теперь подменяем файл .mdf . Можно также использовать проверку физической целостности базы командой DBCC CHECKDB.
Если останавливали сервер, Стартуем, не обращаем внимания на статус базы
и в Query Analyzer выполняем:

Для MS SQL Server 2000: 
Use master
go --разрешаем изменения в системных базах
sp_configure 'allow updates', 1
reconfigure with override
go –-запоминаем значение
select status from sysdatabases where name = 'имя базы'
go –-изменяем статус нашей базы
update sysdatabases set status= 32768 where name = '<db_name>'
go 
Для MS SQL Server 2005

Use master
go
sp_configure 'allow updates', 1
reconfigure with override
go
alter database имя_базы set EMERGENCY
use master
go
sp_dboption 'имя_базы', 'single_user', 'true'
go
Перезапустить SQL сервер, база должна быть видна в emergency mode 


Создадим новый Журнал транзакций и выполним полное тестирование.

Для Ms SQL 2000

DBCC REBUILD_LOG('имя_базы', '<имя нового лога с указанием полного пути>')
GO
Use master
GO
sp_dboption 'имя_базы', 'single_user', 'true'
GO
USE имя_базы
GO
DBCC CHECKDB('имя_базы', REPAIR_ALLOW_DATA_LOSS)

Для Ms SQL 2005
DBCC REBUILD_LOG('имя_базы', '<имя нового лога c полным путем>')
GO
Use master
GO
ALTER DATABASE <Имя БД> SET SINGLE_USER
GO
USE имя_базы
GO
DBCC CHECKDB('имя_базы', REPAIR_ALLOW_DATA_LOSS)

/*ищет лог по старому пути. И если база уже перенесена на другую машину, то надо на время создать пустой лог в той же директории и на том же диске, что и был раньше. После восстановления его можно перенести (детач-аттач с новыми путями)*/

Если Вам не удалось перевести базу в single user mode, то для проверки целостности данных можно попробовать dbo only mode.
Если же, база в single user mode, то НЕ выполнять следующую строку
sp_dboption '<db_name>', 'dbo use only', 'true'

Далее  
Для Ms SQL 2000

GO
sp_dboption '<db_name>', 'single_user', 'false'
GO
USE master
GO -- запрещаем изменения в системных базах
sp_configure 'allow updates', 0
GO

Для Ms SQL 2005 
GO
alter database <db_name> set multi_user
GO
USE master
GO --запрещаем изменения в системных базах
Полезные  странички:
Администратору 1С SQL
Восстановление 1C SQL

суббота, 24 сентября 2011 г.

Настройка VPN Клиент Сервер на Debian

Задача: Дать доступ к корпоративной сети удаленным пользователям.
Установить на сервере в корпоративной сети сервер vpn, разрешить использование сетевых шар, удаленным пользователям. (в сети на каждую шару стоит ограничение доступа по ip)
Сервер в сети стоит за NAT'ом.

Решение:  
1. Установка vpn сервера pptpd
apt-get install pptpd
Настройка pptp сервера.
Открываем конфиг /etc/pptp.conf

option /etc/ppp/pptpd-options
debug
bcrelay eth1
localip 192.168.0.1
remoteip 192.168.0.150-200
option - подключение конфиг файла, о нем ниже.
bcrelay eth1 - передача VPN-клиентам широковещателных пакетов, смотрящий на роутер (о настройке роутера ниже.)
localip - ip адреса vpn сервера в сети.
В данном случае:
  •  192.168.0.1 - смотрит в сеть
remouteip - диапазон адресов для выдачи клиентам при подключении к vpn

четверг, 22 сентября 2011 г.

Монитор доступности серверов в сети


Есть в сети несколько серверов/компьютеров, которые должны быть доступны всегда.
Если они вдруг не доступны, нужно сразу же сообщить об этом.

Для начала разберемся, как отправлять сообщение в jabber

echo "hello from `hostname`" | /usr/bin/sendxmpp -t -u mail@jabber.company -p PaSSWorD /
-s testmessage admin@jabber.company
Где:
-t - указываем использовать SSL соединения
-u mail@jabber.company - JID пользователя
-p PassWorD - это пароль пользователя
-t testmessage - тема сообщения
admin@jabber.company - JID получателя

Взято с http://silinio.webhost.ru/sendxmpp-notify.html


Ну а теперь скрипт который мониторит доступность серверов, и в случае не доступности, шлет сообщение в jabber.
Jabber сервер установлен и настроен.
#!/bin/bash
for i in 192.168.1.1 192.168.1.105;
do
    if eval "ping -c 2 $i"; then
        file="/home/name/scripts/pingserv/pingd/file`echo $i`"
        if [ -e $file ]; then
           rm "/home/name/scripts/pingserv/pingd/file`echo $i`"
           echo "`date` SERVER `echo $i` Is Work =)" | sendxmpp -d -s "Server `echo $i` Work =)" username@jabber > /dev/null 2>&1
        fi
    echo "11" > /dev/null
    else
        file="/home/name/scripts/pingserv/pingd/file`echo $i`"
        if [ -e $file ]; then
          echo "11" > /dev/null
        else
          echo "$i" > /home/name/scripts/pingserv/pingd/ping.log
          echo "`date` SERVER `echo $i` NOT Work!!" | sendxmpp -d -s "Allarm!!! `echo $i` DOWN!!!!" username@jabber > /dev/null 2>&1
          touch "/home/name/scripts/pingserv/pingd/file`echo $i`"
        fi
    fi
done
Засунуть этот скрипт в CRON, и каждые 10 минут запускать.
*/10 * * * * /home/name/scripts/pingserv/pingip > /dev/null 2>&1
Общая идея - пинг серверов, если какой то не доступен, сообщить в jabber.
создать файл c ip сервера, чтобы при следующем пинге, если сервер все еще не доступен, не отсылать повторное сообщение.
Если сервер стал доступен, удалить этот файл и сообщить о доступности сервера.

вторник, 13 сентября 2011 г.

php Отправка почты с сайта с вложениями

Задача
Интернет магазин. покупатель выбирает товар, выбирает способ доставки и оплаты.
Если способ доставки выбран "Почтой России" - отправлять менеджерам сайта сообщение с  заполненным почтовым бланком ф.116.
Если выбран способ оплаты "Наложенный платеж" - отправлять заполненный почтовый бланк ф.112.

Решение

Для начала нужно создать эти бланки. Код бланков описывать не буду. (скачать их можно тут html файлы, в формате php для принятия post'данных).
112.php и 116.php - каждый бланк будет принимает GET данные.

Обращаться к ним следующим образом:
http://****/112.php?fio1=".$_POST['firstname']."&fio2=".$_POST['lastname']."&fio3=".$_POST['thirdname']."&adr1=".$_POST['area'].",".$_POST['city']."&adr2=".$_POST['address'].",&pst=".$_POST['postindex'])
Бланки готовы, и ждут обращения с GET 'данными.
Переходим к функции отправки почты.
Создаем файл mail.php в который передаются данные формы. (В форме пользователь заполняет свои данные, ФИО, почтовый адрес, телефон.. описывать форму не буду.)

Для начала нужно сформировать запрос обращения к бланкам:

$file = str_replace(" ", "%20", "http://****/112.php?fio1=".$_POST['firstname']."&fio2=".$_POST['lastname']."&fio3=".$_POST['thirdname']."&adr1=".$_POST['area'].",".$_POST['city']."&adr2=".$_POST['address'].",&pst=".$_POST['postindex']);  
$file2 =str_replace(" ", "%20", "http://****/116.php?fio1=".$_POST['firstname']."&fio2=".$_POST['lastname']."&fio3=".$_POST['thirdname']."&adr1=".$_POST['area'].",".$_POST['city']."&adr2=".$_POST['address'].",&pst=".$_POST['postindex']);   
Пробелы обязательно заменить на %20

Далее проверим, выбрана ли доставка почтой, и выбран ли способ оплаты - наложенным платежом. и создаем массив файлов $files.
if($_POST['pays'] == 3)
   { $files = array('112.html' => file_get_contents($file), '116.html' => file_get_contents($file2));}
elseif($_POST['pays'] == 2)
   { $files = array('116.html' => file_get_contents($file2));}
else $files = "";
112.html и 116.html  - это имена создаваемых файлов, для последующего вложения к письму.

Непосредственно сама функция отправки

четверг, 8 сентября 2011 г.

Windows не открываются некоторые сайты

Проверяем файл hosts в C:\WINDOWS\system32\drivers\etc\hosts (как было описано раньее). Там должна быть всего одна строчка начинающаяся без #, а именно: "127.0.0.1       localhost".


Заходим Пуск --> Выполнить, вводим команду "cmd", нажимаем Enter. В командной строке пишем через пробел:"route -f" и жмем Enter.
Далее прописываем:"netsh winsock reset" и снова жмем Enter.



Зараженные параметры в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes\
Очисти или удали все айпи (ip),

понедельник, 18 июля 2011 г.

3proxy Статистика


Чистим предыдущие настройки аунтификации
flush
Вход по ip
auth iponly
Разрешаем следующим IP доступ к интернету и почте по будням с 07:00 до 20:00
allow * 192.168.10.1,192.168.10.2,192.168.10.3,192.168.1.1,192.168.1.10,192.168.1.9 * 80,8080,25,443,110,587 * 1-5 07:00:00-20:00:00

понедельник, 9 мая 2011 г.

Синхронизация N900

На n900 установить ssh
При установке указать пароль рута, и НЕ ЗАБЫТЬ его.


По сети (Wifi)
На компьютере

Создаем скрипт nano /home/username/scripts/n900rsync
rsync -e "ssh -p22" -r -v --progress --ignore-existing --exclude '.videos' --exclude 'music' user@192.168.2.3:/home/user/MyDocs /home/username/

--ignore-existing -Пропускать существующие файлы
--exclude - не синхронизировать
user@192.168.2.3 - Имя пользователя@ip адресс телефона

На n900 включить SHH (если выключен)

Дать права на запуск
sudo chmod +x /home/username/scripts/n900rsync
Запустить скрипт
/home/username/scripts/n900rsync
Ввести пароль пользователя ssh.

ИЛИ на N900 сздать такой скрипт sync
rsync -e 'ssh -p22' -r -v --progress -ignore-existing --exclude '.videos' --exclude 'music' /home/user/MyDocs username@192.168.0.1:/home/username
username@192.168.0.1:/home/username - Имя пользователя@ ip адрес компьютера:/Путь/

На рабочий стол добавить виджет Desktop Command Execution Widget
Add Cmd - Title - Синхронизировать
Command  - /home/user/n900rsync
Сохранить и пользоваться. Главное чтобы доступ к ssh был по ключу


По USB

На компьютере
Посмотреть как смонтирован наш n900
ls -l /dev/disk/by-uuid/
Нечто подобное вылезет:
lrwxrwxrwx 1 root root 10 Май 9 11:56 83D7-B53A -> ../../sdс

Узнать путь устройства, для этого в терминале нужно выполнить:
udevinfo -q path -n /dev/sdc/

У меня вывод следующий
/block/sdс
2. Смотрим характеристики устройства и ищем серийный номер устройства
udevinfo -a -p /block/sdс
В выдаче найти оригинальную строку
например:
ATTRS{model}=="N900"

Посмотреть куда смонтирован n900
mount | grep sdc
У меня так:
/media/Nokia N900

создать скрипт /home/username/scripts/n900sync
rsync -r -v --progress --ignore-existing --exclude '.videos' --exclude 'music' /media/Nokia N900/MyDocs /home/username/
Дать скрипту права на запуск
sudo chmod +x /home/username/scripts/n900sync
Создать правило udev
nano /etc/udev/rules.d/10-local.rules
ATTRS{model}=="N900", RUN+="/home/username/scripts/n900sync"

Теперь при подключении n900 к компьютеру, будет выполнятся синхронизация данных

вторник, 5 апреля 2011 г.

wifi адсл роутер в роли шлюза

Необходимо было настроить доступ к интернету нескольким компьютерам, не имея под руками роутера с wan интерфейсов. зато было adsl роутер.
Интернет настроил на одном из комьютеров. Расшарил интернет, через вторую сетевую подключил к компьютеру роутер. А к роутеру по wifi  и eth подключил другие компьютеры.

А теперь подробнее:
Настройка подключения на компьютере
nano /etc/network/interfaces

#Подключение к роутеру
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
#Подключение к провайдеру
auto eth1
iface eth1 inet static
address 192.168.1.3
netmask 255.255.255.0



Подключение у меня pppoe, поэтому использовал утилиту pppoeconf
Создаю подключение, подключаю, в итоги имею интерфейс ppp0

Расшариваю интернет ppp0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

В роутере
В настройках роутера в разделе Lan  ip 192.168.0.1

В разделе  Advanced Setup  -> Routing  -> Default Gateway
Убрать галку Assign Default Gateway
Установить - Use Default Gateway IP Address  - ip машины раздающей интернет
Save/Apply


В разделе DNS прописать адреса днс серверов. Сохранить и перезагрузить роутер.

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

Thunderbird изменяет вложение на dat файл

Столкнулся с проблемкой, при отправке почты с вложением в thunderbird, при получении почты в других клиентах, входящий файл отображается как dat файл, при просмотре почты в thunderbird, вложение отображается нормально.

решение следующее, в thunderbird зайти в:
Инструменты / Настройки / Дополнительно / Редактор настроек
Найти строку, и изменить значение
mail.strictly_mime.parm_folding = 1 (По умолчанию стоит 2)

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

Управление с N900

 Wake On LAN 
Установить Crochik Cute WakeOnLan 



Управление VLC плеером - vlc-remoute


  • на n900 устанавливаем vlc-remoute, запускаем, добавляем аккаунт
  • на компьютере открываем настройки vlc, и на вкладке "основной интерфейс"  ставим галку на против http


Управление XBMC
На телефоне установить Simple XBMC Re


В настройках указать ip компьютера с XBMC


При подключении, на компьютере вы увидите сообщение о подключении












Управление MPD -  mmpc


  • на компьютере, открываем настройки mpd, файл /etc/mpd.conf и добавляем интерфейс
  • bind_to_address               "192.168.1.3" bind_to_address  "localhost" port                            "6600"
  • на n900 ставим пакет mmpc (Maemo Music Mplayer Client), заходим в конфигурацию, прописываем хост и порт, ставим галочку - autoconnect, чтобы при запуске mmpc автоматически соединялся с сервером mpd


Управление Компьютером  - SSH
  • На компьютере ставим ssh server (openssh-server). В настройки вдаваться не буду. В терминале даем команды
    $ xhost +
    $ export DISPLAY=:0.0
  • На n900 устанавливаем openssh-client server (если еще не установлен)
  • Соединяемся с компьютером
    ssh username@192.168.1.3
    И можем запускать Х-приложения удаленно.
    Может понадобится например для запуска VLC или XBMC, чтобы управлять им
Пример удаленного запуска x-приложения (XBMC) одной строкой:
ssh -p 22 username@192.168.1.3 "export DISPLAY=:0.0 && xbmc &"
Для удобства я повесил эту команду на comman execute widget


Туннелирование. Удаленное управление компьютерами в сети.

Также с помощью ssh создаем туннель. чтобы потом работать с компьютером в удаленной локальной сети, как с локальным.
ssh -2 -N -C -L 8080:192.168.0.5:8080 username@user.dundns.org -p 22
8080: удаленный и :8080 локальный порт
192.168.0.5 компьютер в сети
username@user.dundns.org адрес сервера, через который подключаемся к машинам в локальной сети
-p 22 Порт SHH на сервере.

Теперь, имея подключение. можем обращаться к удаленному компьютеру, на порт 8080 так:
http://localhost:8080 - откроется страница веб-сервера, на удаленном компьютере.



Удаленное управление рабочим столом VNC



Допустим на удаленном компьютере стоит VNC (в гноме разрешить удаленное управление).
(установка и настройка x11vnc - для подключение к существующей сессии)
  • Создаем до него тунель командой
    ssh -2 -N -C -L 5900:192.168.0.5:5900 username@user.dundns.org -p 22
    Либо, если компьютер в одной сети с n900, то можно обращатся по IP с указанием порта

  • На n900 ставим VNC Viewer, запускаем, подключаемся, если создали тунель - то localhost, если нет, то 192.168.0.5:5900

Удаленное управление рабочим столом WINDOWS -  Rdesktop





  • На компьютере WINDOWS разрешить удаленное управление рабочим столом.
  • На n900 установить Rdesktop
  • Если компьютер удаленный - то создать тунель на порт 3389 и обращаться по localhost. Если в одной сети, то обращаться по IP адресу на порт 3389.
  • Запускаем Rdesktop, создаем подключение, подключаемся.


Удаленное управление Apple - RaeMote Apple Remote 


Установить


N900 в качестве IRC пульта


  • Устанавливаем Qtirreco
  • Запускаем, в меню выбираем - Download remoute 
  • Ищем необходимую модель (кстати, обычно подходят похожие модели)
  • Выбираем нужные кнопки, и используем.
  •