<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-1572422044952826972</atom:id><lastBuildDate>Wed, 27 May 2009 00:24:41 +0000</lastBuildDate><title>Linux how-to</title><description>Сборник руководств по операционной системе GNU/Linux</description><link>http://nixhowto.blogspot.com/</link><managingEditor>noreply@blogger.com (howto)</managingEditor><generator>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/How-to" /><feedburner:info uri="how-to" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1572422044952826972.post-6193807647050953396</guid><pubDate>Wed, 12 Nov 2008 03:24:00 +0000</pubDate><atom:updated>2008-11-12T06:26:09.140+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">icq</category><category domain="http://www.blogger.com/atom/ns#">оповещение</category><title>Оповещение работы серверов по ICQ</title><description>&lt;table class="inf_tbl" id="text"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="inf_txt" style="font-weight: bold; width: 95%;" id="r_title"&gt;Настройка оповещения Nagios по ICQ&lt;/td&gt; &lt;td class="inf_txt" style="width: 5%; font-size: 65%;" id="edit_link" align="right"&gt;[&lt;a href="http://www.opennet.ru/tips/info/1817.shtml#top" onclick="return page_edit('tips',1817);" title="Общедоступная правка в wiki-стиле"&gt;исправить&lt;/a&gt;]&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;&lt;td colspan="2" class="inf_txt" id="r_memo"&gt;&lt;pre&gt;Простое решение для нотификации работы серверов при помощи ICQ:&lt;br /&gt;&lt;br /&gt;1) Ставим vicq клиент. Регистрируем для него UIN. Из примера конфигурационного файла&lt;br /&gt;создаем работающий конфиг. Обязательные параметры uin и password.&lt;br /&gt;&lt;br /&gt;2) Настраиваем nagios для отсылки сообщений о проблемах:&lt;br /&gt;&lt;br /&gt;а) Задаем для своего контакта параметр pager равный номеру вашего ICQ.&lt;br /&gt;&lt;br /&gt;б) Задаем 2-е дополнительне комманды в commands.cfg&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt; # ICQ Notification&lt;br /&gt;define command{&lt;br /&gt; command_name notify-host-by-icq&lt;br /&gt; command_line /usr/bin/printf "%b" "msg $CONTACTPAGER$\n***** Nagios  &lt;li&gt;**\n\nNotification Type: $NOTIFICATIONTYPE$\nHost:&lt;br /&gt;  $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo:&lt;br /&gt;  $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n.\n" |&lt;br /&gt;  /usr/local/bin/vicq -c /usr/local/etc/vicq.conf -b -o -t 5&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt; define command {&lt;br /&gt; command_name notify-service-by-icq&lt;br /&gt; command_line /usr/bin/printf "msg $CONTACTPAGER$\n***** Nagios&lt;li&gt;**\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService:&lt;br /&gt;   $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState:&lt;br /&gt;   $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n.\n" |&lt;br /&gt;  /usr/local/bin/vicq -c /usr/local/etc/vicq.conf -b -o -t 5&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;в) В шаблоне описывающем generic-contact задаем следующие параметры:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   service_notification_commands notify-service-by-email,notify-service-by-icq&lt;br /&gt;  host_notification_commands notify-host-by-email,notify-host-by-icq&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;После всех манипуляций - перезагружаем Nagios и "роняем" какой-нибудь сервис. Все должно работать.&lt;br /&gt;&lt;br /&gt;Сообщения будут приходить такими:&lt;br /&gt;&lt;li&gt;** Nagios *****&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   Notification Type: PROBLEM&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   Service: AMAVIS&lt;br /&gt;   Host: localhost&lt;br /&gt;   Address: 127.0.0.1&lt;br /&gt;   State: CRITICAL&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   Date/Time: Sun Nov 2 01:22:37 MSK 2008&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   Additional Info:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   Connection refused&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Кстати, с vicq есть 1 баг при запуске его нагиосом. Так как клиент использует Term::Readline,&lt;br /&gt;то возникает ошибка при запуске:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   Cannot open /dev/tty for read at ...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Решается проблема просто, надо подредактировать файл vicq. Перед 1063 строкой вставить следующий кусок кода:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt; open (FH, "/dev/tty" )&lt;br /&gt;or eval 'sub Term::ReadLine::findConsole { ("&amp;amp;STDIN", "&amp;amp;STDERR") }';&lt;br /&gt;die $@ if $@;&lt;br /&gt;close (FH);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Все будет работать без проблем.&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td colspan="2"&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" class="inf_txt"&gt; &lt;div style="float: left; text-align: left; font-size: 75%;"&gt; Автор: &lt;a href="mailto:admin@REMOVE-THIS-FAKE.contrib.ru"&gt;Doktor&lt;/a&gt; , Источник: &lt;a href="http://contrib.ru/content/nastroika-opoveshcheniya-nagios-po-icq"&gt;http://contrib.ru/content/nastroika...&lt;/a&gt; &lt;/div&gt; &lt;div style="text-align: right; font-size: 75%;"&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='//blogger.googleusercontent.com/tracker/1572422044952826972-6193807647050953396?l=nixhowto.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QL6VbjSM7hvVwzWY5fA3S7yKONc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QL6VbjSM7hvVwzWY5fA3S7yKONc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QL6VbjSM7hvVwzWY5fA3S7yKONc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QL6VbjSM7hvVwzWY5fA3S7yKONc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/How-to/~4/uDjKnXyzs5c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/How-to/~3/uDjKnXyzs5c/icq.html</link><author>noreply@blogger.com (howto)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nixhowto.blogspot.com/2008/11/icq.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1572422044952826972.post-4888578707122655695</guid><pubDate>Wed, 29 Oct 2008 12:05:00 +0000</pubDate><atom:updated>2008-10-29T15:19:08.785+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">squid</category><category domain="http://www.blogger.com/atom/ns#">ограничение траффика</category><title>Squid + LightSquid + Perl = ограничение по трафику</title><description>Очередное решение на наболевшую тему.
&lt;br /&gt;
&lt;br /&gt;Задача: имея squid с настроенной авторизацией пользователей и сбором статистики
&lt;br /&gt;сделать ограничение на используемый трафик (квоты).
&lt;br /&gt;
&lt;br /&gt;Лично мне от sams пришлось отказаться т.к. он прикручивается к авторизации пользователей,
&lt;br /&gt;а для меня это неприемлемо.
&lt;br /&gt;
&lt;br /&gt;Решение подойдет для тех, кому не сильно критично точное лимитирование.
&lt;br /&gt;Я сильно не хотел менять устоявшуюся систему авторизации пользователей.
&lt;br /&gt;
&lt;br /&gt;итак.
&lt;br /&gt;
&lt;br /&gt;1. настраиваем сквид (статей много, описывать не буду)
&lt;br /&gt;В squid.conf , желательно перед остальными ACL, надо будет добавить следующее
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;# блокировка пользователей которые превысили лимит (файл user-deny),
&lt;br /&gt;# и разрешение этим пользователям только тех IP и сайтов, которые перечислины в файле host.acl
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;acl no_quota url_regex -i "/etc/squid/no_quota_url.txt"
&lt;br /&gt;acl banusers proxy_auth_regex -i "/etc/squid/user_deny.txt"
&lt;br /&gt;http_access allow no_quota banusers allowedhost
&lt;br /&gt;deny_info ERR_QUOTA all
&lt;br /&gt;http_access deny banusers allowedhost all
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;по порядку что к чему с файлами:
&lt;br /&gt;no_quota_url.txt - ведется руками.
&lt;br /&gt;текст:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # файд содержит сайты, который открываются, даже если превышена квота и пользователь попал в users_deny.txt
&lt;br /&gt;test.ru
&lt;br /&gt;icq.com
&lt;br /&gt;205.188.
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;user_deny.txt - в дальнейшем создастся сам, но без него перечитать настройки squid не получиться
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # файл содержит пользователей превысивших квоту.
&lt;br /&gt;# автоматически переписывается скриптом traf_limit.pl
&lt;br /&gt;dolzhen_bit_odin_user
&lt;br /&gt;user1
&lt;br /&gt;user2
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;ERR_QUOTA создадим по образу и подобию всех остальных страниц с ошибками.
&lt;br /&gt;Я поставил что-бы получать другой текст. вот так получилось:
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;&lt;title&gt;вышен лимит&lt;/title&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;h1&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;ПРЕВЫШЕН ЛИМИТ&lt;/span&gt;&lt;/h1&gt;
&lt;br /&gt;&lt;h2&gt;
&lt;br /&gt;&lt;/h2&gt;
&lt;br /&gt;&lt;hr /&gt;
&lt;br /&gt;&lt;p&gt;Заблокированный URL:
&lt;br /&gt;&lt;a href="http://www.blogger.com/%U"&gt;%U&lt;/a&gt;
&lt;br /&gt;&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;br /&gt;&lt;li&gt;
&lt;br /&gt;&lt;strong&gt; Вы превысили месячный лимит на интеренет.
&lt;br /&gt;
&lt;br /&gt;Если Вы считаете это неправильным, свяжитесь с отделом АСУ по телефонам
&lt;br /&gt;1013 или 1066
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;Если этот сайт необходим для работы, то он может быть открыт по  служебной записке.
&lt;br /&gt;&lt;/strong&gt;
&lt;br /&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;p&gt;С Уважением отдел АСУ.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;
&lt;br /&gt;allowedhost - мое правило проверки пользователей.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;2. LightSquid абсолютно штатный. вот официальный сайт &lt;a href="http://lightsquid.sourceforge.net/"&gt;http://lightsquid.sourceforge.net/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Ставится и настраивается минут 5-10. Собственно вся настройка у меня заключалась в том,
&lt;br /&gt;что-бы рассортировать пользователей по группам. Для тех у кого еще есть http сервер
&lt;br /&gt;дополнительно будет красивая статистика. ;)
&lt;br /&gt;
&lt;br /&gt;3. в /etc/squid создадим папку traf_limit
&lt;br /&gt;
&lt;br /&gt;4. в /etc/squid/traf_limit создаем два файла
&lt;br /&gt;
&lt;br /&gt;traf_limit.pl
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; #!/usr/bin/perl
&lt;br /&gt;#
&lt;br /&gt;# Довесок на LightSquid Project (c) 2004-2005 Sergey Erokhin aka ESL
&lt;br /&gt;#
&lt;br /&gt;# Скрипт создает файлик user_deny для ограничения инета по трафику
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # Автор: Иван Лонин loninia@apksouz.ru  2008 год.
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; use File::Basename;
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # коряво конечно напрямую писать путь к конфигу, но лениво было sh файлик для крона делать :)
&lt;br /&gt;require "/etc/squid/traf_limit/config";
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; #($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
&lt;br /&gt;@dat=localtime(time);
&lt;br /&gt;$year =1900+$dat[5];
&lt;br /&gt;$month=1 + $dat[4];
&lt;br /&gt;$filter="$year$month";
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; #print "$log_path/$filter*\n";
&lt;br /&gt;@daylist=glob("$log_path/$filter*");
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; foreach $daypath (sort @daylist) {
&lt;br /&gt;open FF,"&lt;$daypath/.total"; &lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;   $totaluser=&lt;ff&gt;;chomp $totaluser;$totaluser=~s/^user: //;
&lt;br /&gt;$totalsize=&lt;ff&gt;;chomp $totalsize;$totalsize=~s/^size: //;
&lt;br /&gt;&lt;/ff&gt;&lt;/ff&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;   while (&lt;ff&gt;) {
&lt;br /&gt;&lt;/ff&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;     ($user,$size,$hit)=split;
&lt;br /&gt;
&lt;br /&gt; $h{$user}{size}+=$size;
&lt;br /&gt; $h{$user}{hit}+=$hit;
&lt;br /&gt;}
&lt;br /&gt;close FF;
&lt;br /&gt;}
&lt;br /&gt;#
&lt;br /&gt;$cummulative=0;
&lt;br /&gt;open RES,"&gt;$res_file";
&lt;br /&gt;print RES "# файл содержит юзеров превысивших квоту.\n
&lt;br /&gt;# автоматически переписывается скриптом traf_limit.pl\ndolzhen_bit_odin_user\n";
&lt;br /&gt;foreach $user (sort {$h{$b}{size}&lt;=&gt;$h{$a}{size}} keys  %h) {
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;     $all4user=$h{$user}{size}/1024/1024;
&lt;br /&gt; if ($vip_user{$user}{size} &gt; 0) {
&lt;br /&gt;     $limit=$vip_user{$user}{size};
&lt;br /&gt; }else{
&lt;br /&gt;     $limit=$all_limit;
&lt;br /&gt; }
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;     if ($all4user &gt;= $limit) {
&lt;br /&gt;     print RES "$user\n";
&lt;br /&gt;#        print "$h{$user}{size}\n";
&lt;br /&gt; };
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; }
&lt;br /&gt;__END__
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;и файлик config
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; #!/usr/bin/perl
&lt;br /&gt;# конфигурационный файл для скрипта traf_limit.pl
&lt;br /&gt;#
&lt;br /&gt;# путь к логам lightsquid
&lt;br /&gt;$log_path="/www/lightsquid/report";
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # файл в который пушутся пользователи превысившие лимит
&lt;br /&gt;$res_file="/etc/squid/user_deny.txt";
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # лимит инета в мегабайтах
&lt;br /&gt;$all_limit=150;
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # привелигированные пользователи с повышенным или пониженным лимитом
&lt;br /&gt;# для каждого пользователя строка формата:
&lt;br /&gt;#$vip_user={&lt;имя_юзера}{size}=&lt;лимит_в_мегабайтах&gt;;
&lt;br /&gt;$vip_user{user1}{size}=5;
&lt;br /&gt;$vip_user{qwe}{size}=50;
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;назначим файликам нужного владельца и права на запуск
&lt;br /&gt;
&lt;br /&gt;5. осталось в только в cron добавить запуск. Я сделал раз в сутки в 5-00.
&lt;br /&gt;делать вечером в 20 с чем нибудь категорически не рекомендую т.к. скрипт работает
&lt;br /&gt;на текущую дату (первого числа будут использоваться прошломесячные данные)
&lt;br /&gt;
&lt;br /&gt;делаем
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; crontab -e
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;и добавляем для скрипта строчку вида
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; 45 04 * * * /etc/squid/traf_limit/traf_limit.pl
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;и для сквида
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; 0 05 * * * /etc/init.d/squid reload
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;собственно все :). естественно, что правильно оно начнет работать только с 1 числа следующего за установкой месяца.
&lt;br /&gt;
&lt;br /&gt;Удачи.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td colspan="1"&gt;
&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td colspan="1" class="inf_txt"&gt; &lt;div style="float: left; text-align: left; font-size: 75%;"&gt; Автор: &lt;a href="mailto:loninia@REMOVE-THIS-FAKE.apksouz.ru"&gt;Mosson&lt;/a&gt; &lt;/div&gt; &lt;div style="text-align: right; font-size: 75%;"&gt; &lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='//blogger.googleusercontent.com/tracker/1572422044952826972-4888578707122655695?l=nixhowto.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EZZnrtvIB-aE3BAMMJW3PQYbj8g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EZZnrtvIB-aE3BAMMJW3PQYbj8g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EZZnrtvIB-aE3BAMMJW3PQYbj8g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EZZnrtvIB-aE3BAMMJW3PQYbj8g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/How-to/~4/fUmXPMNuH5Q" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/How-to/~3/fUmXPMNuH5Q/squid-lightsquid-perl.html</link><author>noreply@blogger.com (howto)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nixhowto.blogspot.com/2008/10/squid-lightsquid-perl.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1572422044952826972.post-784760937276511163</guid><pubDate>Mon, 27 Oct 2008 15:45:00 +0000</pubDate><atom:updated>2008-10-27T18:47:11.826+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">пропускная способность</category><category domain="http://www.blogger.com/atom/ns#">шлюз</category><category domain="http://www.blogger.com/atom/ns#">iproute</category><title>Скрипт для распределения пропускной способности средствами iproute2 в Linux</title><description>&lt;pre&gt;Скрипт опробован в Debian Etch с установленными пакетами tc, iproute2 и bc.&lt;br /&gt;Задача скрипта равномерное распределения пропускной способности канала среди пользователей&lt;br /&gt;и повышения приоритета dns, ssh, smtp.&lt;br /&gt;&lt;br /&gt;SOME_IMPORTANT_IP, SOME_OTHER_IMPORTANT_IP, IMPORTANT_IP - нужно заменить на IP&lt;br /&gt;важного сервера во внутренней сети.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;EXT_IFACE="eth0"&lt;br /&gt;INT_IFACE="eth1"&lt;br /&gt;TC="tc"&lt;br /&gt;UNITS="kbit"&lt;br /&gt;LINE="10000" # максимальная фактическая скорость внешнего (ext) линка&lt;br /&gt;LIMIT="5000" # максимально скорость, которую мы можем допустить&lt;br /&gt;&lt;br /&gt;# Переменные определеяющие скорость для индивидуальных классов трафика&lt;br /&gt;# для ограничения внутреннего трафика, проходящего через интерфейс eth0;&lt;br /&gt;CLS1_RATE="200" # гарантировано 200kbit&lt;br /&gt;CLS2_RATE="300" # гарантировано 300kbit&lt;br /&gt;CLS3_RATE="4500" # на всех 4500kbit (низкий приоритет)&lt;br /&gt;&lt;br /&gt;# Переменные определеяющие скорость для индивидуальных классов трафика&lt;br /&gt;# для ограничения трафика, проходящего через внешний интерфейс eth1;&lt;br /&gt;INT_CLS1_RATE="1000" #Priority&lt;br /&gt;INT_CLS2_RATE="4000" #Bulk&lt;br /&gt;&lt;br /&gt;# Чистим содержимое qdiscs&lt;br /&gt;${TC} qdisc del dev ${INT_IFACE} root&lt;br /&gt;${TC} qdisc del dev ${EXT_IFACE} root&lt;br /&gt;&lt;br /&gt;# Создаем корневые qdiscs, используя HTB, привязываем к интерфейсу и ставим метку "1:0"&lt;br /&gt;${TC} qdisc add dev ${INT_IFACE} root handle 1:0 htb&lt;br /&gt;${TC} qdisc add dev ${EXT_IFACE} root handle 1:0 htb&lt;br /&gt;&lt;br /&gt;# Создаем корневые классы и выставляем максимально-допустимый лимит скорости&lt;br /&gt;# eth1&lt;br /&gt;${TC} class add dev ${INT_IFACE} parent 1:0 classid 1:1 htb rate ${LIMIT}${UNITS} ceil ${LIMIT}${UNITS}&lt;br /&gt;# eth0&lt;br /&gt;${TC} class add dev ${EXT_IFACE} parent 1:0 classid 1:1 htb rate ${LIMIT}${UNITS} ceil ${LIMIT}${UNITS}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Создаем дочерние классы, маркируем их меткой "1:2", "1:3", в зависимости от лимита, для eth1&lt;br /&gt;${TC} class add dev ${INT_IFACE} parent 1:1 classid 1:2 htb rate ${INT_CLS1_RATE}${UNITS} ceil ${LIMIT}${UNITS}&lt;br /&gt;&lt;br /&gt;${TC} class add dev ${INT_IFACE} parent 1:1 classid 1:3 htb rate ${INT_CLS2_RATE}${UNITS} ceil ${INT_CLS2_RATE}${UNITS}&lt;br /&gt;&lt;br /&gt;# Привязываем лимит для eth1 (для ограничения исходящего трафика)&lt;br /&gt;# Ставим для класса "1:2" гарантированную скорость 200kbit&lt;br /&gt;# с возможностью подъема при свободности канала до 5000kbit&lt;br /&gt;${TC} class add dev ${EXT_IFACE} parent 1:1 classid 1:2 htb rate ${CLS1_RATE}${UNITS} ceil ${LIMIT}${UNITS}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Ставим для класса "1:3" гарантированную скорость 300kbit&lt;br /&gt;# с возможностью подъема при свободности канала до 4800kbit (5000kbit - 200kbit зарезервированный для 1:2)&lt;br /&gt;${TC} class add dev ${EXT_IFACE} parent 1:1 classid 1:3 htb rate \&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   ${CLS2_RATE}${UNITS} ceil `echo ${LIMIT}-${CLS1_RATE}|bc`${UNITS}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;# Ставим для менее приоритетного класса "1:4" оставшуюся скорость 4500kbit (5000kbit - 200kbit - 300kbit)&lt;br /&gt;${TC} class add dev ${EXT_IFACE} parent 1:1 classid 1:4 htb rate ${CLS3_RATE}${UNITS} \&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   ceil `echo ${LIMIT}-${CLS1_RATE}-${CLS2_RATE}|bc`${UNITS}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;# Добавляем pfifo.&lt;br /&gt;${TC} qdisc add dev ${INT_IFACE} parent 1:2 handle 12: pfifo limit 10&lt;br /&gt;${TC} qdisc add dev ${INT_IFACE} parent 1:3 handle 13: pfifo limit 10&lt;br /&gt;${TC} qdisc add dev ${EXT_IFACE} parent 1:2 handle 12: pfifo limit 10&lt;br /&gt;${TC} qdisc add dev ${EXT_IFACE} parent 1:3 handle 13: pfifo limit 10&lt;br /&gt;${TC} qdisc add dev ${EXT_IFACE} parent 1:4 handle 14: pfifo limit 10&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;### С классами закончили, создаем правила для адресов в сети&lt;br /&gt;# INT_IFACE, настраиваем скорость.&lt;br /&gt;# под dst подразумевается трафик уходящий во внутренний интерфейс eth0, т.е. к локальному IP&lt;br /&gt;# и определяем скорость загрузки с этих адресов.&lt;br /&gt;# адрес SOME_IMPORTANT_IP привязываем к классу 1:2&lt;br /&gt;${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 1 u32 match ip dst SOME_IMPORTANT_IP/32 flowid 1:2&lt;br /&gt;${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 1 u32 match ip dst SOME_OTHER_IMPORTANT_IP/32 flowid 1:2&lt;br /&gt;# Все остальные адреса привязываем к классу 1:3 и считаем неприоритетными&lt;br /&gt;${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# EXT_IFACE&lt;br /&gt;# Устанавливаем повышенный приоритет для  DNS запросов&lt;br /&gt;${TC} filter add dev ${EXT_IFACE} parent 1:0 protocol ip prio 1 u32 match ip src IMPORTANT_IP/32 match ip sport 53 0xffff flowid 1:2&lt;br /&gt;# SSH тоже считаем приоритетным&lt;br /&gt;&lt;br /&gt;${TC} filter add dev ${EXT_IFACE} parent 1:0 protocol ip prio 1 u32 match ip src IMPORTANT_IP/32 match ip sport 22 0xffff flowid 1:2&lt;br /&gt;# SMTP отдаем остатки полосы, но приоритет по сравнению с остальным трафиком поднимаем&lt;br /&gt;${TC} filter add dev ${EXT_IFACE} parent 1:0 protocol ip prio 1 u32 match ip src IMPORTANT_IP/32 match ip sport 25 0xffff flowid 1:3&lt;br /&gt;# Все остальное - в последнюю очередь, самый низкий приоритет&lt;br /&gt;${TC} filter add dev ${EXT_IFACE} parent 1:0 protocol ip prio 1 u32 match ip src 0.0.0.0/0 flowid 1:4&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='//blogger.googleusercontent.com/tracker/1572422044952826972-784760937276511163?l=nixhowto.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XbLj0yrM-arHsWdOD8j-s6LEHts/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XbLj0yrM-arHsWdOD8j-s6LEHts/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XbLj0yrM-arHsWdOD8j-s6LEHts/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XbLj0yrM-arHsWdOD8j-s6LEHts/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/How-to/~4/I5aDXJdg5EE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/How-to/~3/I5aDXJdg5EE/iproute2-linux.html</link><author>noreply@blogger.com (howto)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nixhowto.blogspot.com/2008/10/iproute2-linux.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1572422044952826972.post-6103532091386198041</guid><pubDate>Mon, 27 Oct 2008 13:36:00 +0000</pubDate><atom:updated>2008-10-27T16:42:12.182+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">горячие клавиши</category><category domain="http://www.blogger.com/atom/ns#">назначение</category><category domain="http://www.blogger.com/atom/ns#">gnome</category><title>Создание глобальных горячих клавиш в GNOME</title><description>&lt;pre&gt;Назначение собственных "горячих клавиш" для выполнения каких-либо команд в GNOME.&lt;br /&gt;&lt;br /&gt;Есть небольшой апплет, доступный через меню GNOME&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;   "Система" &gt; "Параметры" &gt; "Комбинации клавиш клавиатуры"&lt;br /&gt; "Desktop" &gt; "Preferences" &gt; "Keyboard Shortcuts"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;который позволяет назначить горячие клавиши для некоего набора предопределенных действий.&lt;br /&gt;Используя этот апплет вы можете, например, назначить сочетание "Ctrl - Alt - t" для запуска эмулятора терминала.&lt;br /&gt;Но поскольку список фиксирован, вы не сможете добавить в него новое действие.&lt;br /&gt;А вы хотите, к примеру, назначить сочетание "Ctrl - Alt - e" для запуска Emacs.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Назначить произвольные горячие клавиши, можно воспользовавшись gconf-editor&lt;br /&gt;&lt;br /&gt;Откройте терминал и наберите:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;    user@desktop:~$ &lt;span&gt;&lt;span&gt;gconf-editor&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Откроется редактор настроек GNOME. С его помощью мы должны сделать две вещи:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;    * Определить новую команду&lt;br /&gt;  * Определить сочетание клавиш для выполнения этой команды&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Перейдите в раздел&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;   "apps" &gt; "metacity" &gt; "keybinding_commands"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;В правой панели выберите пункт "command_1" и измените его значение на /usr/bin/emacs&lt;br /&gt;Теперь нам необходимо задать клавиатурную комбинацию для этой команды.&lt;br /&gt;Перейдите в раздел&lt;br /&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;   "apps" &gt; "metacity" &gt; "global_keybindings".&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Выберите пункт "run_command_1" и измените его значение на e.&lt;br /&gt;Вуаля! Нажимаем Ctrl - Alt -e и запускается Emacs&lt;control&gt;&lt;alt&gt;&lt;br /&gt;&lt;/alt&gt;&lt;/control&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='//blogger.googleusercontent.com/tracker/1572422044952826972-6103532091386198041?l=nixhowto.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HP8XLpjzbUZ5E5Ol3AHy551MtrI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HP8XLpjzbUZ5E5Ol3AHy551MtrI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HP8XLpjzbUZ5E5Ol3AHy551MtrI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HP8XLpjzbUZ5E5Ol3AHy551MtrI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/How-to/~4/iDswulDkySc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/How-to/~3/iDswulDkySc/gnome.html</link><author>noreply@blogger.com (howto)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nixhowto.blogspot.com/2008/10/gnome.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1572422044952826972.post-90713244156505658</guid><pubDate>Mon, 27 Oct 2008 13:31:00 +0000</pubDate><atom:updated>2008-10-27T16:33:28.798+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">gmail</category><category domain="http://www.blogger.com/atom/ns#">gnome</category><title>gmail в качестве почтового клиента по умолчанию в GNOME</title><description>&lt;pre&gt;В "&lt;span style="font-weight: bold;"&gt;System \ Preferences \ Preferred Applications" &lt;/span&gt;в качестве почтового клиента нужно прописать скрипт&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   /home/имя/open_mailto.sh %s&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;, содержащий:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   #!/bin/sh&lt;br /&gt;  firefox https://mail.google.com/mail?view=cm&amp;amp;tf=0&amp;amp;to=`echo $1 | sed 's/mailto://'`&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Если нужно открывать gmail не в новом окне, а в новом табе:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#461b7e;"&gt;   #!/bin/sh&lt;br /&gt;  firefox -remote "openurl(https://mail.google.com/mail?view=cm&amp;amp;tf=0&amp;amp;to=`echo $1 | sed 's/mailto://'`,new-tab)"")&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Для уведомления о появлении почты в Gmail можно использовать программы:&lt;br /&gt;gmail-notify - &lt;a href="http://gmail-notify.sourceforge.net/"&gt;http://gmail-notify.sourceforge.net/&lt;/a&gt;&lt;br /&gt;KGmailNotifier - &lt;a href="http://www.kde-apps.org/content/show.php/KGmailNotifier?content=55375"&gt;http://www.kde-apps.org/content/show.php/KGmailNotifier?content=55375&lt;/a&gt;&lt;br /&gt;gnome-gmail-notifier - &lt;a href="http://code.google.com/p/gnome-gmail-notifier/"&gt;http://code.google.com/p/gnome-gmail-notifier/&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='//blogger.googleusercontent.com/tracker/1572422044952826972-90713244156505658?l=nixhowto.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GGF7MFvKYX2tn7xGOPwv4ms_gzQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GGF7MFvKYX2tn7xGOPwv4ms_gzQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GGF7MFvKYX2tn7xGOPwv4ms_gzQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GGF7MFvKYX2tn7xGOPwv4ms_gzQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/How-to/~4/K3y4Xuchxno" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/How-to/~3/K3y4Xuchxno/gmail-gnome.html</link><author>noreply@blogger.com (howto)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nixhowto.blogspot.com/2008/10/gmail-gnome.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1572422044952826972.post-4285419460285658114</guid><pubDate>Mon, 11 Aug 2008 08:36:00 +0000</pubDate><atom:updated>2008-08-11T13:37:22.599+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">icq</category><category domain="http://www.blogger.com/atom/ns#">брутфорс</category><category domain="http://www.blogger.com/atom/ns#">zbrute</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">nix</category><category domain="http://www.blogger.com/atom/ns#">bruteforce</category><title>Zbrute под *nix</title><description>&lt;a href="http://zbrute.antichat.ru/"&gt;Zbrute&lt;/a&gt; - кросс платформенный icq брутфорсер .
&lt;br /&gt;Компилируем:
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;blockquote&gt;gcc -lpthread zbrute.c -o zbrute.exe&lt;/blockquote&gt;&lt;/span&gt;&lt;span&gt;Основные опции&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:
&lt;br /&gt;
&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;-s&lt;/span&gt; &lt;файл со списком вида uin;пароль&gt;
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-g&lt;/span&gt; &lt;файл куда складываются удачносбрученные пароли в таком же формате как у опции -s&gt;
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-p&lt;/span&gt; &lt;файл со списком http&lt;span style="font-weight: bold;"&gt;s&lt;/span&gt; проксей&gt;
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-s5&lt;/span&gt; и -&lt;span style="font-weight: bold;"&gt;s4&lt;/span&gt; &lt;файл с листом socks5 и socks4 соответственно&gt;
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-t&lt;/span&gt; &lt;количество потоков, я тестил на 200&gt;
&lt;br /&gt;
&lt;br /&gt;В ближайшее время выложу ссылки на proxy листы и напишу маленький скриптик на баше для генерации uin;pass'овых списков.
&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='//blogger.googleusercontent.com/tracker/1572422044952826972-4285419460285658114?l=nixhowto.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ov305M6tWpG-y04gwscDxcbjiw8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ov305M6tWpG-y04gwscDxcbjiw8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ov305M6tWpG-y04gwscDxcbjiw8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ov305M6tWpG-y04gwscDxcbjiw8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/How-to/~4/zELsS4UExPE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/How-to/~3/zELsS4UExPE/zbrute-nix.html</link><author>noreply@blogger.com (howto)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nixhowto.blogspot.com/2008/08/zbrute-nix.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1572422044952826972.post-521683755861020777</guid><pubDate>Mon, 11 Aug 2008 03:55:00 +0000</pubDate><atom:updated>2008-08-11T08:00:09.791+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ctr+shift</category><category domain="http://www.blogger.com/atom/ns#">xorg.conf</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">раскладка</category><category domain="http://www.blogger.com/atom/ns#">русская</category><category domain="http://www.blogger.com/atom/ns#">nix</category><category domain="http://www.blogger.com/atom/ns#">xorg</category><title>Настройка клавиатура, с переключением на ctrl+shift и отображением раскладки на Скролл локе</title><description>Заходим под &lt;span style="font-weight: bold;"&gt;root'&lt;/span&gt;ом и редактируем /etc/X11/xorg.conf&lt;br /&gt;&lt;br /&gt;&lt;div class="entrytext"&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;S&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ection "InputDevice"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; Identifier "Keyboard1"&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; Driver "Keyboard"&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; Option "XkbModel" "pc105"&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; Option "XkbLayout" "us,ru(winkeys)"&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; Option "XkbVariant" "winkeys"&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; EndSection&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='//blogger.googleusercontent.com/tracker/1572422044952826972-521683755861020777?l=nixhowto.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GEq58CmSgRo0X6cCnQ0I6BxLOt0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GEq58CmSgRo0X6cCnQ0I6BxLOt0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GEq58CmSgRo0X6cCnQ0I6BxLOt0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GEq58CmSgRo0X6cCnQ0I6BxLOt0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/How-to/~4/SmY5lrFoZ4w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/How-to/~3/SmY5lrFoZ4w/ctrlshift.html</link><author>noreply@blogger.com (howto)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://nixhowto.blogspot.com/2008/08/ctrlshift.html</feedburner:origLink></item></channel></rss>

