<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4342898077558899588</id><updated>2024-08-28T22:40:16.001-07:00</updated><title type='text'>Записи по linux</title><subtitle type='html'>Данный блог не преднaзначен для читателей, просто мне надоело синхронизировать закладки в браузере:-)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-3272318488052454275</id><published>2012-10-05T02:20:00.000-07:00</published><updated>2012-10-08T00:35:10.481-07:00</updated><title type='text'>Вещание с нескольких DV камер на медиасервер (RTMP протокол)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Для этого нам потребуется доп.ПО: dvswitch, dvsource, dvsilk и ffmpeg&lt;br /&gt;
&lt;br /&gt;
Как правило всё это есть в репозиториях и сложности в установки нет.&lt;br /&gt;
&lt;br /&gt;
1.) Запускаем dvswitch&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;dv_host=&quot;127.0.0.1&quot; &lt;/i&gt;#ip адрес ПК с запущенным dvswitch&lt;i&gt;&lt;br /&gt;dv_port=&quot;54321&quot; &lt;/i&gt;#порт который будит слушать dvswitch&lt;i&gt;&lt;br /&gt;&lt;br /&gt;dvswitch -h ${dv_host} -p ${dv_port};&lt;br /&gt;&lt;br /&gt;exit 0&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
2.) Подключаем dv камеры, вот тут много &quot;подводных камней&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;DV камеру не рекомендуется подключать &quot;на живую&quot; есть шанс что сгорит&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Начнем, если Вы планируете подключить только одну dv-камеру то тут всё просто:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;dv_host=&quot;127.0.0.1&quot; &lt;/i&gt;#ПК с запущенным dvswitch&lt;i&gt;&lt;br /&gt;dv_port=&quot;54321&quot; &lt;/i&gt;#порт dvswitch&lt;i&gt;&lt;br /&gt;&lt;br /&gt;dvsource-firewire -h ${dv_host} -p ${dv_port};&lt;br /&gt;&lt;br /&gt;exit 0&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Если у Вас несколько dv-камер, то по документации достаточно добавить параметр &lt;b&gt;-c hex_GUID_dv-камеры&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;А вот тут начинаются приколы:&lt;/b&gt;&lt;br /&gt;
I.) Как узнать эти GUID?&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;grep &quot;firewire_core: created device&quot; /var/log/dmesg&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Только нужно учесть что здесь будит не только GUID dv-камер, но и GUID чипов в вашей карты ieee1394, так что не удивляйтесь.&lt;br /&gt;
&amp;nbsp;Так же можно поставить GTK+ программу &lt;b&gt;gscanbus&lt;/b&gt; и посмотреть в ней.&lt;br /&gt;
&lt;br /&gt;
II.) Если у вас каждая dv-камера подключена к отдельной плате ieee1394, то проблем тоже нет, указываем hex_guid и всё нормально, но в моём случаи на плате ieee1394 было 2 выхода и чип один. При этом при попытки подключить камеру стандартным методом подключалась только 1 камера и на указание GUID вообще не реагирует!!!&lt;br /&gt;
Пришлось извращаться:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;i&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;dv_guid=&quot;0x0800460103F54296&quot; &lt;/i&gt;#GUID камеры&lt;i&gt;&lt;br /&gt;dv_host=&quot;-h 127.0.0.1&quot; &lt;/i&gt;#ПК с dvswitch&lt;i&gt;&lt;br /&gt;dv_port=&quot;-p 54321&quot; &lt;/i&gt;#порт dvswitch&lt;i&gt;&lt;br /&gt;dv_fifo=&quot;/tmp/&quot;${dv_guid} &lt;/i&gt;#потоковый файл&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;audio=&quot;-ab 96k -f alsa -ac 2 -i pulse -ar 44100&quot;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;br /&gt;mkfifo ${dv_fifo}; &lt;/i&gt;#создаём потоковый файл&lt;i&gt;&lt;br /&gt;&lt;br /&gt;dvgrab -guid ${dv_guid} - | ffmpeg -i - -f dv ${audio} -target pal-dv - &amp;gt; ${dv_fifo}&amp;amp; &lt;/i&gt;#через dvgrab заводим видео в потоковый файл&lt;i&gt;&lt;br /&gt;dvsource-file ${dv_host} ${dv_port} ${dv_fifo}; &lt;/i&gt;#подключаем поток к dvswitch&lt;i&gt;&lt;br /&gt;&lt;br /&gt;exit 0&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Задержка видео примерно 10сек., зато работает)))&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
3.) Если нужно подключить web-камеру&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;#!/bin/bash&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;dv_host=&quot;-h 127.0.0.1&quot; #ПК с dvswitch&lt;br /&gt;dv_port=&quot;-p 54321&quot; #порт dvswitch&lt;br /&gt;dev_web=&quot;video0&quot;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;web_fifo=&quot;/tmp/&quot;${dev_web} &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;mkfifo ${web_fifo};&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;ffmpeg -f video4linux2 -s vga -r 25 -i /dev/${dev_web} -f s16le -ar 48000 -ac 2 -i /dev/zero -target pal-dv - &amp;gt; ${web_fifo}&amp;amp;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;dvsource-file ${dv_host} ${dv_port} ${web_fifo}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;exit 0&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
По аналогии с предыдущем, думаю всё понятно. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;4.) Вещаем собранный поток из dvswitch&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;dv_host=&quot;127.0.0.1&quot;;&lt;br /&gt;dv_port=&quot;54321&quot;;&lt;br /&gt;&lt;br /&gt;rtmp=&quot;tcp://ip_медиасервера:порт&quot;;&lt;br /&gt;kadr=&quot;-r 25&quot;;&lt;br /&gt;video=&quot;-vcodec libx264 -b 200k -vpre slow -s 720x530&quot;;&lt;br /&gt;audio=&quot;-ab 96k -f alsa -ac 2 -i pulse -ar 44100&quot;;&lt;br /&gt;str_name=&quot;-metadata streamName=livestream&quot;; &lt;/i&gt;#имя нашего потока&lt;i&gt;&lt;br /&gt;&lt;br /&gt;dvsink-command -h ${dv_host} -p ${dv_port} -- ffmpeg -i - -f dv ${audio} ${video} -bufsize 20000k ${kadr} ${str_name} -threads 0 -f flv ${rtmp};&lt;br /&gt;&lt;br /&gt;exit 0&lt;/i&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/3272318488052454275/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/10/dv-rtmp.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/3272318488052454275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/3272318488052454275'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/10/dv-rtmp.html' title='Вещание с нескольких DV камер на медиасервер (RTMP протокол)'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-2012248820303462475</id><published>2012-05-07T04:20:00.004-07:00</published><updated>2012-05-07T04:21:50.968-07:00</updated><title type='text'>Вставки мультимедийного контента в OOo 3.3</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
1.) Скачиваем архив и распаковываем &lt;a class=&quot;bbc_link&quot; href=&quot;https://docs.google.com/open?id=0B4O9WJovBctqSFpad1huUUVhNjA&quot; target=&quot;_blank&quot;&gt;https://docs.google.com/open?id=0B4O9WJovBctqSFpad1huUUVhNjA&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2.) Копирум в &lt;b&gt;/opt&lt;/b&gt; и делаем символьную ссылку для удобства&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;codeheader&quot;&gt;
&lt;/div&gt;
&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;sudo ln -s /opt/JMF-2.1.1e /opt/JMF&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
3.) Выполняем и записываем в конец &lt;b&gt;~/.profile&lt;/b&gt;: &lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;export JAVA_HOME=/usr/lib/jvm/java-6-sun
export JMFHOME=/opt/JMF
export CLASSPATH=$JMFHOME/lib/jmf.jar:$JMFHOME/lib/mp3plugin.jar:$JMFHOME/lib/fobs4jmf.jar:$CLASSPATH
export LD_LIBRARY_PATH=$JMFHOME/lib:$LD_LIBRARY_PATH
export PATH=$JAVA_HOME/bin:$JMFHOME/bin:$PATH&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
4.) Открываем всем доступ&lt;br /&gt;
&lt;div class=&quot;codeheader&quot;&gt;
&lt;/div&gt;
&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;sudo chmod -R 777 /opt/JMF&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
5.) Запускаем&lt;br /&gt;
&lt;div class=&quot;codeheader&quot;&gt;
&lt;/div&gt;
&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;sudo /opt/JMF/lib/runjmstudio.sh&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
6.) Перехдим &lt;b&gt;File&lt;/b&gt; &amp;gt; &lt;b&gt;Preferences&lt;/b&gt;, выбераем&lt;b&gt; Capture device&lt;/b&gt;, жмём &lt;b&gt;Detect Capture Devices&lt;/b&gt;.&lt;br /&gt;
Переходим в &lt;b&gt;Plugins&lt;/b&gt; &amp;gt; &lt;b&gt;Codec&lt;/b&gt;, в поле теста пишем&lt;b&gt; com.sun.media.codec.audio.mp3.JavaDecoder&lt;/b&gt;, жмём &lt;b&gt;Add&lt;/b&gt;, и &lt;b&gt;Commit&lt;/b&gt;.&lt;br /&gt;
Выходим.&lt;br /&gt;
&lt;br /&gt;
7.) Открываем &lt;b&gt;openoffice&lt;/b&gt; &amp;gt; &lt;b&gt;сервис&lt;/b&gt; &amp;gt; &lt;b&gt;параметры&lt;/b&gt; &amp;gt;&lt;b&gt; java&lt;/b&gt; &amp;gt; &lt;b&gt;Путь класса&lt;/b&gt; &amp;gt; &lt;b&gt;Добавить архив&lt;/b&gt; &amp;gt;&lt;br /&gt;
&lt;ul class=&quot;bbc_list&quot;&gt;
&lt;li&gt;/opt/JMF/lib/jmf.jar&lt;/li&gt;
&lt;li&gt;/opt/JMF/lib/multiplayer.jar&lt;/li&gt;
&lt;li&gt;/opt/JMF/lib/customizer.jar&lt;/li&gt;
&lt;li&gt;/opt/JMF/lib/multiplayer.jar&lt;/li&gt;
&lt;li&gt;/opt/JMF/lib/mediaplayer.jar&lt;/li&gt;
&lt;li&gt;/opt/JMF/lib/mp3plugin.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
8.) Перзапускаем openoffice&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Шаг 5 и 6 необязательны!&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/2012248820303462475/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/05/ooo-33.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/2012248820303462475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/2012248820303462475'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/05/ooo-33.html' title='Вставки мультимедийного контента в OOo 3.3'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-5382424232190887401</id><published>2012-05-07T04:19:00.001-07:00</published><updated>2012-05-07T04:19:10.217-07:00</updated><title type='text'>Установка проприетарных драйверов Nvidea в Ubuntu</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/5382424232190887401/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/05/nvidea-ubuntu.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/5382424232190887401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/5382424232190887401'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/05/nvidea-ubuntu.html' title='Установка проприетарных драйверов Nvidea в Ubuntu'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-8867624633798619042</id><published>2012-04-11T10:40:00.002-07:00</published><updated>2012-04-11T10:52:54.595-07:00</updated><title type='text'>Запуск GUI-приложения от имени другого пользователя</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;1.) Способ - самодельный велосипед&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;&amp;nbsp;&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;#!/bin/bash
# Коды завершения
UA_REQUEST=60&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Прервано пользователем
NO_REQUEST=61&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Нет одного или нескольких параметров
NU_REQUEST=62&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Указан несуществующий пользователь
NEH_REQUEST=63&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Не удалось создать папку пользователя
FCXA_REQUEST=64&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Не удалось создать файл авторизации
SUDOFAIL_REQUEST=65&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Ошибка авторизации супер-пользователя
UE_REQUEST=69&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Непредвиденная ошибка
HELP_REQUEST=70&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# HELP
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;# Справка
if [ &quot;$1&quot; = &quot;-h&quot;&amp;nbsp; -o &quot;$1&quot; = &quot;--help&quot; ]&amp;nbsp; &amp;nbsp; &amp;nbsp;# Request help.
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo; echo &quot;Порядок использования:&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$0 user [option] command&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$0 [-h|--help] - выводит эту справку&quot;; echo
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sed --silent -e &#39;/DOCUMENTATIONHELP$/,/^DOCUMENTATIONHELP/p&#39; &quot;$0&quot; |
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sed -e &#39;/DOCUMENTATIONHELP/d&#39;;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $HELP_REQUEST;
fi

: &amp;lt;&amp;lt; DOCUMENTATIONHELP
Запускает GUI-приложение от имени другого пользователя
Для правильной работы ваша система должна пробрасывать переменную XAUTHORITY через sudo
и вы должны иметь права на sudo - вам потребуется ввести свой пароль
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;user - пользователь от имени которого необходимо выполнить command
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option - однобуквенный ключ указывающий в каком домашнем каталоге выполнять command
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;если ключ опущен, то для пользователей с uid &amp;lt; 1000 будет созданн временный каталог в /tmp,
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;а для пользователей с uid &amp;gt; 999 будет использоваться каталог указанный в /etc/passwd,
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;h - выполнить в домашнем каталоге пользователя указанном в /etc/passwd
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;t - создать временныый каталог для выполнения этой задачи
Коды завершения:
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;60 - Прервано пользователем
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;61 - Нет одного или нескольких параметров
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;62 - Указан несуществующий пользователь
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;63 - Не удалось создать папку позьзователя
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;64 - Не удалось создать файл авторизации
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;65 - Ошибка авторизации супер-пользователя
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;69 - Непредвиденная ошибка
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;70 - HELP
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;
by dr.Faust aka Suntechnic
GNU/GPL 3 (2010)
DOCUMENTATIONHELP

# Обработка естественных ошибок
# Проверка параметров
if [ &quot;$1&quot; = &quot;&quot; -o &quot;$2&quot; = &quot;&quot; ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;$0: пропущен операнд&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Попробуйте &#39;$0 --help&#39; для получения более подробного описания.&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $NO_REQUEST
fi
# Проверка пользователя
PSWDNT=`cat /etc/passwd | grep &quot;$1:x:&quot;`&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Запись о пользователе в /etc/passwd
if [ &quot;$PSWDNT&quot; = &quot;&quot; ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;$0: неизвестный пользователь: $1&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $NU_REQUEST
fi

# Получаем переменные и устанавливаем home
# Окружение
DSPL=$DISPLAY
MYXA=$XAUTHORITY

TMPUSER=$1&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Пользователь
PLACE=$2&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Предположительно ключ home
# CMND=$3&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Команда

# Устанавливаем переменные
case $PLACE in
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[&quot;h&quot;])
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Выполняем операцию в домашнем каталоге из /etc/passwd
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Получаем информацию о пользователе
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;CMNDAWK=`echo &#39;BEGIN{ FS = &quot;:&quot; }{ print $6 }&#39;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCHOME=`echo $PSWDNT | awk &quot;$CMNDAWK&quot;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;CMNDAWK=`echo &#39;BEGIN{ FS = &quot;:&quot; }{ print $3 }&#39;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCUID=`echo $PSWDNT | awk &quot;$CMNDAWK&quot;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ &quot;$LCUID&quot; -lt &quot;1000&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Операция в домашнем каталоге пользователя с UID &amp;lt; 1000
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Вы пытаетесь выполнить &#39;$CMND&#39; от имени пользователя &#39;$TMPUSER&#39; (UID: $LCUID) в его домашнем каталоге: $LCHOME&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;read -p &quot;Всё равно продолжить? (Да - только &#39;y&#39;) [y/n]: &quot; myyn
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ &quot;$myyn&quot; != &quot;y&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Прервано пользователем&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $UA_REQUEST
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;shift
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;shift
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;CMND=$@
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;;;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[&quot;t&quot;])
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Выполняем операцию во временном домашнем каталоге
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCHOME=/tmp/tudo-$TMPUSER
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;shift
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;shift
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;CMND=$@
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;;;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;*)
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Выполняем операцию в каком-то домашнем каталоге... ;)
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Получаем UID
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;CMNDAWK=`echo &#39;BEGIN{ FS = &quot;:&quot; }{ print $3 }&#39;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCUID=`echo $PSWDNT | awk &quot;$CMNDAWK&quot;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ &quot;$LCUID&quot; -lt &quot;1000&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;PLACE=&quot;t&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCHOME=/tmp/tudo-$TMPUSER
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;else
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;PLACE=&quot;h&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;CMNDAWK=`echo &#39;BEGIN{ FS = &quot;:&quot; }{ print $6 }&#39;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCHOME=`echo $PSWDNT | awk &quot;$CMNDAWK&quot;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;shift
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;CMND=$@
esac
# Проверяем теперь уже окончательную команду
if [ &quot;$CMND&quot; = &quot;&quot; ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;$0: пропущен операнд&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Попробуйте &#39;$0 --help&#39; для получения более подробного описания.&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $NO_REQUEST
fi

# Собственно рабочий код
# Тут нам потребуется судо
sudo true
if [ &quot;$?&quot; != &quot;0&quot; ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;$0: провал авторизации&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $SUDOFAIL_REQUEST
fi

if [ &quot;$PLACE&quot; = &quot;t&quot; ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Необходима временная домашняя папка
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Создаём временный домашний каталог
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sudo mkdir $LCHOME
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ &quot;$?&quot; = &quot;0&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Если мы действительно создали временный домашний каталог, запишем путь к нему в файл - это потребуется в дальнейшем для безопасного его удаления
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCLCHOME=&quot;$LCHOME&quot;&quot;_lc&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Указатель на удачное создание каталога
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sudo echo &quot;$LCHOME&quot; &amp;gt;&amp;gt; $LCLCHOME
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sudo chmod 0777 $LCLCHOME
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sudo chown $TMPUSER $LCHOME
else
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ ! -d $LCHOME ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# а каталога-то и нет...
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sudo mkdir $LCHOME
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ &quot;$?&quot; = &quot;0&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$PLACE=&quot;ht&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;else
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Домашний каталог &#39;$LCHOME&#39; не существует, а попытка его создания завершилась провалом&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $NEH_REQUEST
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sudo chown $TMPUSER $LCHOME
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
fi
# Проверяем получили ли мы каталог
if [ ! -d $LCHOME ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Домашний каталог &#39;$LCHOME&#39; не существует или его не удалось создать&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $NEH_REQUEST
fi

# Отдаём файл авторизации
LXA=$LCHOME/.xauthority-tudo
sudo cp $MYXA $LXA
sudo chown $TMPUSER $LXA
# Проверяем получили ли файл авторизации
if [ ! -e $LXA ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Не удалось создать файл авторизации&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $FCXA_REQUEST
fi
# На всякий случай проверяем переменные
# Так как хомяк и файл авторизации будут удалятся, да ещё и от root - проверим что путь к хомяку не &quot;&quot; и не &quot;/&quot;
if [ &quot;$LCHOME&quot; = &quot;&quot; -o &quot;$LCHOME&quot; = &quot;/&quot; ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Что-то пошло не так...&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $UE_REQUEST
fi
# Экспортируем переменные
export XAUTHORITY=$LXA
export DISPLAY=$DSPL
export HOME=$LCHOME
# Запускаемся
echo &quot;&#39;$CMND&#39; выполняется в следующем окружении:&quot;
sudo -u $TMPUSER env
echo &quot;------------ далее следует вывод выполняемой команды ------------&quot;
sudo -u $TMPUSER $CMND
CMDEXIT_REQUEST=$?
echo &quot;---------------- конец вывода выполняемой команды ----------------&quot;
echo &quot;&#39;$CMND&#39; завершилась с кодом: $CMDEXIT_REQUEST&quot;
# Удаляем файл авторизации
# Тут нам потребуется судо
sudo true
if [ &quot;$?&quot; != &quot;0&quot; ]
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;$0: провал авторизации&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Файл авторизации X-сервера ($LXA) не будет удалён&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ &quot;$PLACE&quot; = &quot;t&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Временная домашняя директория ($LCHOME) не будет удалёна&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Файл-указатель ($LCLCHOME) не будет удалён&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $SUDOFAIL_REQUEST
fi
sudo rm -f &quot;$LXA&quot;

if [ &quot;$PLACE&quot; = &quot;t&quot; ]
then 
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Удаляем домашний каталог
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sleep 8
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Мы должны быть уверены что:
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# 1 Переменная $LCHOME всё ещё указывает на созданный нами каталог
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# 2 Нет больше ни одной копии tudo которая его использует
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ -e &quot;$LCLCHOME&quot; -a&amp;nbsp; -e &quot;$LCHOME&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LCLCHOMECNT=`cat &quot;$LCLCHOME&quot;`
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ &quot;$LCHOME&quot; = &quot;$LCLCHOMECNT&quot; -a &quot;$LCHOME&quot; != &quot;&quot; ]
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sudo rm -rf &quot;$LCHOME&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;rm -f &quot;$LCLCHOME&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;else
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Что-то пошло не так при попытке удалить временный домашний каталог &#39;$LCHOME&#39; ...&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Удалите &#39;$LCHOME&#39; вручную если он действительно не нужен.&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $UE_REQUEST
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;else
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Что-то пошло не так при попытке удалить временный домашний каталог &#39;$LCHOME&#39; ...&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Удалите &#39;$LCHOME&#39; вручную если он действительно не нужен.&quot;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit $UE_REQUEST
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
fi
exit $CMDEXIT_REQUEST&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;&amp;nbsp;&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;Кидаем его в /usr/sbin, обозвав tudo.&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;Синтаксис такой&lt;/code&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;:&lt;/code&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt; tudo от_кого опиция что_запустить&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;&amp;nbsp;&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;2.) Способ&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;sudo apt-get install sux&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot; style=&quot;overflow: scroll;&quot;&gt;sux от_кого что_запустить :-) &lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/8867624633798619042/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/04/gui.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8867624633798619042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8867624633798619042'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/04/gui.html' title='Запуск GUI-приложения от имени другого пользователя'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-2073673663952449998</id><published>2012-03-29T01:58:00.001-07:00</published><updated>2012-05-08T03:31:30.924-07:00</updated><title type='text'>Загрузка прошивки для &quot;безголовых&quot; принтеров</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Если система опознала принтер, но он не печатает значит не загрузилась прошивка.&amp;nbsp;&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;#!/bin/bash&lt;br /&gt;
&amp;nbsp;printers=&quot;1000 1005 1018 1020 p1005 &lt;/i&gt; &lt;i&gt;p1006&lt;/i&gt;  &lt;i&gt;p1007 &lt;/i&gt; &lt;i&gt;p1008&lt;/i&gt;  &lt;i&gt;p1505&lt;/i&gt;&lt;i&gt;&quot; &lt;/i&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;#весь список принтеров можно посмотреть командой&amp;nbsp;&lt;/b&gt;&lt;i&gt;sudo getweb. &lt;/i&gt;Впишите нужный вам принтер (если его нет) в переменную printers &lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;i&gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
for prn in $printers; do&lt;br /&gt;
img=&quot;sihp${prn}.img&quot;&lt;br /&gt;
dl=&quot;sihp${prn}.dl&quot;&lt;br /&gt;
getweb $prn&lt;br /&gt;
if [ -f $img ]; then&lt;br /&gt;
arm2hpdl $img &amp;gt; $dl&lt;br /&gt;
sudo cp /lib/firmware/hp/$dl /usr/share/foo2zjs/firmware/$dl&lt;br /&gt;
rm $img $dl&lt;br /&gt;
fi;&lt;br /&gt;
done&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
После этого, выключите и включите принтер. Должен печать&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Ещё один способ:&lt;br /&gt;
1. установите пакет: hannah-foo2zjs&lt;br /&gt;
2. запустите утилиту Система &amp;gt; Администрирование &amp;gt; Foo2ZJS firmware installer и выберите модель принтера&lt;br /&gt;
3. выполните комманду sudo cp /lib/firmware/hp/* /usr/share/foo2zjs/firmware&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/2073673663952449998/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/03/hp-1018.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/2073673663952449998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/2073673663952449998'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/03/hp-1018.html' title='Загрузка прошивки для &quot;безголовых&quot; принтеров'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-6818265377873620085</id><published>2012-03-22T12:37:00.001-07:00</published><updated>2012-03-29T01:54:05.290-07:00</updated><title type='text'>Слетает тема Gnome</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;1.) gedit  ~/.bash_logout &lt;br /&gt;
2.) Пишем:&lt;br /&gt;
t&lt;em&gt;heme=$(gconftool-2 -g /desktop/gnome/interface/gtk_theme);&lt;br /&gt;
echo gtk-theme-name =&quot;&#39;${theme}&#39;&quot; &amp;gt; ~/.gtkrc-2.0&lt;br /&gt;
&lt;br /&gt;
icon=$(gconftool-2 -g /desktop/gnome/interface/icon_theme);&lt;br /&gt;
echo gtk-icon-theme-name =&quot;&#39;${icon}&#39;&quot; &amp;gt;&amp;gt; ~/.gtkrc-2.0&lt;/em&gt;&lt;br /&gt;
3.) Сохроняем файл&lt;br /&gt;
&lt;br /&gt;
Лучше ещё пробублировать&lt;br /&gt;
4.) gedit ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Попторяем шаг 2.) и 3.)&lt;br /&gt;
&lt;br /&gt;
5.) Перзагрузаемся или завершаем сеанс&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/6818265377873620085/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/03/gnome.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6818265377873620085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6818265377873620085'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/03/gnome.html' title='Слетает тема Gnome'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-4884571094548044055</id><published>2012-03-16T08:52:00.000-07:00</published><updated>2012-03-16T08:52:41.350-07:00</updated><title type='text'>Убиваем gnome-panel в gnome2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt;sudo mv /usr/bin/gnome-panel &lt;/code&gt;&lt;code class=&quot;bbc_code&quot;&gt;/usr/bin/gnome-panel&lt;/code&gt;.&lt;code class=&quot;bbc_code&quot;&gt;back&amp;nbsp;&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt;&amp;nbsp;&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;Конечно костыль, зато работает.&lt;/code&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt; &lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/4884571094548044055/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/03/gnome-panel-gnome2.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/4884571094548044055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/4884571094548044055'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/03/gnome-panel-gnome2.html' title='Убиваем gnome-panel в gnome2'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-460812607707084447</id><published>2012-02-16T21:24:00.000-08:00</published><updated>2012-02-16T21:24:15.053-08:00</updated><title type='text'>Сигналы BIOS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;strong&gt;Award BIOS:&lt;/strong&gt;&lt;br /&gt;
1. Сигналов нет - неисправен или не подключен к материнской плате блок питания (БП). &lt;br /&gt;
Очистите его от пыли. &lt;br /&gt;
Проверьте надежность крепления колодки питания на материнской плате. &lt;br /&gt;
Если не помогло, требуется замена или ремонт БП. &lt;br /&gt;
2. Непрерывный сигнал - неисправен БП. См. п. 1. &lt;br /&gt;
3. 1 короткий сигнал - ошибок не обнаружено, ПК исправен. &lt;br /&gt;
4. 1 короткий повторяющийся сигнал - проблемы с БП. См. п. 1. &lt;br /&gt;
5. 1 длинный повторяющийся сигнал - неисправность оперативной памяти. Попробуйте вытащить модуль ОЗУ из слота и вставить снова. Если не помогло, замените. &lt;br /&gt;
6. 2 коротких сигнала - обнаружены незначительные ошибки. Проверьте надежность крепления шлейфов и кабелей в разъемах материнской платы. Установите в BIOS значения по умолчанию (Load BIOS Defaults). &lt;br /&gt;
7. 3 длинных сигнала - неисправность контроллера клавиатуры. Проверьте целостность кабеля клавиатуры и качество соединений. Проверьте клавиатуру на заведомо исправном ПК. Если не помогает, потребуется ремонт или замена материнской платы. &lt;br /&gt;
8. 1 длинный и 1 короткий сигналы - неисправность оперативной памяти. См. п. 5. &lt;br /&gt;
9. 1 длинный и 2 коротких сигнала - неисправность видеокарты. Рекомендуется вытащить видеокарту и заново вставить. Проверьте целостность и качество соединения кабеля монитора. Если не помогает, замените видеокарту. &lt;br /&gt;
10. 1 длинный и 3 коротких сигнала - неисправность клавиатуры. См. п. 7. &lt;br /&gt;
11. 1 длинный и 9 коротких сигналов - ошибка при чтении данных из микросхемы BIOS. &lt;br /&gt;
Требуется перезапись (перепрошивка) микросхемы. Если не помогает, замените микросхему. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;AMI BIOS: &lt;/strong&gt;&lt;br /&gt;
1. Сигналов нет - неисправен или не подключен к материнской плате блок питания (БП). Очистите его от пыли. Проверьте надежность крепления колодки питания на материнской плате. Если не помогло, требуется замена или ремонт БП. &lt;br /&gt;
2. 1 короткий сигнал - ошибок не обнаружено, ПК исправен. &lt;br /&gt;
3. 2 коротких сигнала - неисправность оперативной памяти. Попробуйте вытащить модуль ОЗУ из слота и вставить снова. Если не помогло, замените. &lt;br /&gt;
4. 3 коротких сигнала - ошибка первых 64 Кбайт основной памяти. См. п. 3. &lt;br /&gt;
5. 4 коротких сигнала - неисправность системного таймера. Перезагрузите ПК. Если не помогает, потребуется ремонт или замена материнской платы. &lt;br /&gt;
6. 5 коротких сигналов - неисправность центрального процессора. Перезагрузите ПК. Если не помогает, потребуется замена процессора. &lt;br /&gt;
7. 6 коротких сигналов - неисправность контроллера клавиатуры. Проверьте целостность кабеля клавиатуры и плотность соединений. Проверьте клавиатуру на заведомо исправном ПК. Если не помогает, потребуется ремонт или замена материнской платы. &lt;br /&gt;
8. 7 коротких сигналов - неисправность материнской платы. Перезагрузите ПК. Если не помогает, потребуется ремонт или замена материнской платы. &lt;br /&gt;
9. 8 коротких сигналов - неисправность ОЗУ видеокарты. Перезагрузите ПК. Если не помогает, замените видеокарту. &lt;br /&gt;
10. 9 коротких сигналов - ошибка при проверке контрольной суммы микросхемы BIOS. Требуется перезапись (перепрошивка) микросхемы. Если не помогает, замените микросхему. &lt;br /&gt;
11. 10 коротких сигналов - невозможно произвести запись в CMOS-память. Обнулите содержимое памяти (для этого выключите ПК, вытащите сетевой кабель из розетки. Найдите рядом с батарейкой CMOS-памяти переключатель, установите его в положение Clear CMOS. Нажмите - при отключенном сетевом кабеле! - кнопку включения ПК. Установите переключатель в первоначальное положение. Если на Вашей материнской плате переключатель отсутствует, вытащите батарейку на полчаса-час). Установите в BIOS значения по умолчанию (Load BIOS Defaults). Если не помогает, замените микросхему. &lt;br /&gt;
12. 11 коротких сигналов - неисправность оперативной памяти. См. п. 3. &lt;br /&gt;
13. 1 длинный и 2 коротких сигнала - неисправность видеокарты. Рекомендуется вытащить видеокарту и заново вставить. Проверьте целостность и качество соединения кабеля монитора. Если не помогает, замените видеокарту. &lt;br /&gt;
14. 1 длинный и 3 коротких сигнала - неисправность видеокарты. См. п. 13. &lt;br /&gt;
15. 1 длинный и 8 коротких сигналов - неисправность видеокарты. См. п. 13. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Phoenix BIOS: &lt;/strong&gt;&lt;br /&gt;
1-1-3. Ошибка записи/чтения данных CMOS. &lt;br /&gt;
1-1-4. Ошибка контрольной суммы содержимого микросхемы BIOS. &lt;br /&gt;
1-2-1. Неисправна материнская плата. &lt;br /&gt;
1-2-2. Ошибка инициализации контроллера DMA. &lt;br /&gt;
1-2-3. Ошибка при попытке чтения/записи в один из каналов DMA. &lt;br /&gt;
1-3-1. Ошибка регенерации оперативной памяти. &lt;br /&gt;
1-3-3. Ошибка при тестировании первых 64 Кб оперативной памяти. &lt;br /&gt;
1-3-4. Аналогично предыдущему. &lt;br /&gt;
1-4-1. Неисправна материнская плата. &lt;br /&gt;
1-4-2. Ошибка тестирования оперативной памяти. &lt;br /&gt;
1-4-3. Ошибка системного таймера. &lt;br /&gt;
1-4-4. Ошибка обращения к порту ввода/вывода. &lt;br /&gt;
2-x-x. Проблемы с первыми 64к памяти (х - от 1 до 4) &lt;br /&gt;
3-1-1. Ошибка инициализации второго канала DMA. &lt;br /&gt;
3-1-2. Ошибка инициализации первого канала DMA. &lt;br /&gt;
3-1-4. Неисправна материнская плата. &lt;br /&gt;
3-2-4. Ошибка контроллера клавиатуры. &lt;br /&gt;
3-3-4. Ошибка тестирования видеопамяти. &lt;br /&gt;
4-2-1. Ошибка системного таймера. &lt;br /&gt;
4-2-3. Ошибка линии A20. Неисправен контроллер клавиатуры. &lt;br /&gt;
4-2-4. Ошибка при работе в защищенном режиме. Возможно, неисправен центральный процессор. &lt;br /&gt;
4-3-1. Ошибка при тестировании оперативной памяти. &lt;br /&gt;
4-3-4. Ошибка часов реального времени. &lt;br /&gt;
4-4-1. Ошибка тестирования последовательного порта. Может быть вызвана устройством, использующим данный порт. &lt;br /&gt;
4-4-2. Ошибка при тестировании параллельного порта. См. выше. &lt;br /&gt;
4-4-3. Ошибка при тестировании математического сопроцессора.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/460812607707084447/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/02/bios.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/460812607707084447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/460812607707084447'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/02/bios.html' title='Сигналы BIOS'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-3964697031877966334</id><published>2012-02-16T20:42:00.000-08:00</published><updated>2012-02-16T20:42:52.510-08:00</updated><title type='text'>Рассылка по jabber</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Для рассылки сообщений через jabber используется прорамма &lt;strong&gt;sendxmpp&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
1.) Ставим пакет: &lt;em&gt;sudo apt-get intall sendxmpp&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
2.) Вся настройка произвоится в файле &lt;strong&gt;~/.sendxmpprc,&amp;nbsp;&lt;/strong&gt;если он не создался автоматически, то создайте сами&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
3.) В файле делем запись вида: имя_пользователя@адрес_сервера:5222 пароль&lt;br /&gt;
&lt;br /&gt;
4.) Выставляем права на файл: &lt;em&gt;chmod 400 ~/.sendxmpprc&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
Настройка завершена. Проверка работы: &lt;em&gt;echo &quot;Привет&quot; | sendxmpp кому_нужно@jabber.ru&lt;/em&gt;&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Ключи программы:&lt;br /&gt;
-s - тема сообщения&lt;br /&gt;
-r - ресурс&lt;br /&gt;
-u - имя юзера, для логина на jabber-сервер&lt;br /&gt;
-j - адрес jabber-сервера и его порт&lt;br /&gt;
-p - пароль&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/3964697031877966334/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/02/jabber.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/3964697031877966334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/3964697031877966334'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/02/jabber.html' title='Рассылка по jabber'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-6141733348744480812</id><published>2012-02-06T13:07:00.000-08:00</published><updated>2012-02-07T07:40:35.699-08:00</updated><title type='text'>Разгоняяем GMA intel &gt;= 2.6.35</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;1.) Открываем &lt;b&gt;~/.drirc&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;gedit &lt;/b&gt;&lt;b&gt;~/.drirc&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style=&quot;font-weight: normal;&quot;&gt;2.) &lt;/b&gt;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;Пишим:&lt;br /&gt;
&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt;&amp;lt;driconf&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;device screen=&quot;0&quot; driver=&quot;dri2&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;application name=&quot;Default&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;vblank_mode&quot; value=&quot;0&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/application&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/device&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;device screen=&quot;0&quot; driver=&quot;i915&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;application name=&quot;Default&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;force_s3tc_enable&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;no_rast&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;always_flush_cache&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;stub_occlusion_query&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;always_flush_batch&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;bo_reuse&quot; value=&quot;1&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;texture_tiling&quot; value=&quot;true&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;early_z&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;allow_large_textures&quot; value=&quot;2&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;fragment_shader&quot; value=&quot;true&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/application&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/device&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;device screen=&quot;0&quot; driver=&quot;i965&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;application name=&quot;Default&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;force_s3tc_enable&quot; value=&quot;true&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;no_rast&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;vblank_mode&quot; value=&quot;0&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;always_flush_cache&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;stub_occlusion_query&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;always_flush_batch&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;bo_reuse&quot; value=&quot;1&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;texture_tiling&quot; value=&quot;true&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;early_z&quot; value=&quot;false&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;allow_large_textures&quot; value=&quot;0&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option name=&quot;fragment_shader&quot; value=&quot;true&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/application&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/device&amp;gt;
&amp;lt;/driconf&amp;gt;&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;
3.) Перезагружаемся и радуемся.&lt;br /&gt;
&lt;br /&gt;
4.) Увеличиваем частоту ядра видеокарты&lt;br /&gt;
&amp;nbsp;- Качаем &lt;a href=&quot;http://www.gmabooster.com/download_linux.htm&quot;&gt; GMA Booster&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;- Распаковываем файл&lt;br /&gt;
&amp;nbsp;- Переходим в папку с бустером.&lt;br /&gt;
&amp;nbsp;- Выполним &quot;&lt;b&gt;chmod +x GMABooster&lt;/b&gt;&quot;, т.е. сделать файл исполняемым.&lt;br /&gt;
&amp;nbsp;- Запуск &lt;b&gt;sudo ./GMABooster&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/6141733348744480812/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/02/gma-intel.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6141733348744480812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6141733348744480812'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/02/gma-intel.html' title='Разгоняяем GMA intel &gt;= 2.6.35'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-1820411285370328161</id><published>2012-01-24T02:36:00.000-08:00</published><updated>2012-01-24T02:36:03.331-08:00</updated><title type='text'>WOEID коды России</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;a href=&quot;http://www.flickr.com/places/info/23424936&quot;&gt;http://www.flickr.com/places/info/23424936&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/1820411285370328161/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/01/woeid.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/1820411285370328161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/1820411285370328161'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/01/woeid.html' title='WOEID коды России'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-3213187059899091018</id><published>2012-01-23T10:41:00.000-08:00</published><updated>2012-01-23T10:41:47.639-08:00</updated><title type='text'>HP LaserJet P1102 в Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;На данный принтер драйверов нет. Используем совместимый  драйвер HP LaserJet 1022  Foomaic/foo2zjs.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/3213187059899091018/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/01/hp-laserjet-p1102-linux.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/3213187059899091018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/3213187059899091018'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/01/hp-laserjet-p1102-linux.html' title='HP LaserJet P1102 в Linux'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-8001100017369068361</id><published>2012-01-13T10:17:00.000-08:00</published><updated>2012-01-13T10:17:29.652-08:00</updated><title type='text'>inSSIDer - сканер Wi-Fi для Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;InSSIDer - простая freeware утилита с графическим интерфейсом от  MetaGeek для сканирования Wi-Fi эфира.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.metageek.net/products/inssider/linux/&quot;&gt;Скачать&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/8001100017369068361/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/01/inssider-wi-fi-linux.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8001100017369068361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8001100017369068361'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/01/inssider-wi-fi-linux.html' title='inSSIDer - сканер Wi-Fi для Linux'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-9032151469010460859</id><published>2012-01-12T13:53:00.000-08:00</published><updated>2012-10-07T03:10:48.639-07:00</updated><title type='text'>Epson 6200L</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Не знаю по какой причине, но этот хлам работает только с эти &lt;a href=&quot;https://docs.google.com/open?id=0B4O9WJovBctqMTI3YTJjOGYtZjQ5OS00YjI4LTllZDQtNDAwYTZlYjIyYWRk&quot;&gt;PPD&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Так же для работы нужен &lt;code class=&quot;bbc_code&quot;&gt;epsoneplijs &lt;/code&gt;готовых deb пакетов нет, по этому:&lt;code class=&quot;bbc_code&quot;&gt; &lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;sudo apt-get install checkinstall&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;wget http://sourceforge.net/projects/epsonepl/files/latest/download/0.4.1/epsoneplijs-0.4.1.tgz
tar zxvf epsoneplijs-0.4.1.tgz
cd epsoneplijs-0.4.1
./configure --prefix=/usr
make
sudo checkinstall -D &lt;/code&gt;&lt;/pre&gt;
&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;  &lt;code class=&quot;bbc_code&quot;&gt; &lt;/code&gt;&lt;/pre&gt;
После этого используем PPD скаченный выше (EPL-6200L-Hardy)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/9032151469010460859/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2012/01/epson-6200l.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/9032151469010460859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/9032151469010460859'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2012/01/epson-6200l.html' title='Epson 6200L'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-8518388501388712991</id><published>2011-12-21T05:30:00.000-08:00</published><updated>2011-12-21T05:30:26.296-08:00</updated><title type='text'>Проблемы с модемами от Билайн в linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;При обычном подключении через NM интернета от билайна не дождёшься. Метод проверен на модемах usb huawei 170 b 150, 170 билайна и 150 от  мтс разблокированный. Нужно изменить точку доступа в NM с &lt;a href=&quot;http://internet.beeline.ru/&quot; target=&quot;_blank&quot;&gt;internet.beeline.ru&lt;/a&gt; на &lt;a href=&quot;http://home.beeline.ru/&quot; target=&quot;_blank&quot;&gt;home.beeline.ru&lt;/a&gt; &amp;nbsp;и прописывании PIN с карты.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/8518388501388712991/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/12/linux.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8518388501388712991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8518388501388712991'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/12/linux.html' title='Проблемы с модемами от Билайн в linux'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-1730074597129907720</id><published>2011-12-19T07:53:00.000-08:00</published><updated>2011-12-19T07:53:22.211-08:00</updated><title type='text'>Настройка тачпада - скролл двумя пальцами</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;Создаём файл со следующим содержанием:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;synclient VertTwoFingerScroll=1&lt;br /&gt;
synclient HorizTwoFingerScroll=1&lt;br /&gt;
synclient EmulateTwoFingerMinW=5&lt;br /&gt;
synclient EmulateTwoFingerMinZ=48&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;exit 0&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;И ставим его на автозагрузку.&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/1730074597129907720/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/12/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/1730074597129907720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/1730074597129907720'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/12/blog-post.html' title='Настройка тачпада - скролл двумя пальцами'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-7853512703748416866</id><published>2011-10-03T09:30:00.000-07:00</published><updated>2011-10-04T21:41:07.324-07:00</updated><title type='text'>Оптимизация через fstab</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Итак, открываем файл &lt;b&gt;/etc/fstab&lt;/b&gt;, в котором  содержатся сведения о монтируемых при загрузке разделах. Ну и добавляем  опции монтирования на выбор, в зависимости от того, что нужно получить в  итоге… Опции зависят от файловой системы:&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;ReiserFS:&lt;/b&gt; acl,user_xattr,noatime,nodiratime,notail,barrier=flush&lt;br /&gt;
&lt;b&gt;Ext3/Ext4:&lt;/b&gt; acl,user_xattr,noatime,nodiratime,barrier=1&lt;br /&gt;
&lt;b&gt;XFS:&lt;/b&gt;defaults,noatime,nodiratime,logbufs=8,logbsize=32k,biosize=16,allocsize=512m,barrier&lt;/blockquote&gt;Обозначает все это следующие функции:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;- user_xattr&lt;/i&gt; – расширенные атрибуты файлов (используются для индексирования)&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- barrier&lt;/i&gt; – команда очистки кэша&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- noatime&lt;/i&gt; и &lt;i&gt;nodiratime&lt;/i&gt; – отключение записи времени последнего доступа (для файлов/директорий)&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;- allocsize &lt;/i&gt;– размер заранее резервируемой области на диске. Высокое значение помогает избежать фрагментации&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- biosize &lt;/i&gt;– размер I/O-блоков по умолчанию&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- logbufs &lt;/i&gt;– количество встроенных буферов для ведения журнала&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- logbsize &lt;/i&gt;– размер буфера&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- notail &lt;/i&gt;- не упаковывать хвосты больших файлов – улучшает  производительность – увеличивает используемое для хранения место(~5%&lt;b&gt;) (для применения этой опции надо &lt;span style=&quot;text-decoration: underline;&quot;&gt;перезаписать&lt;/span&gt; находящиеся на ней файлы!)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;redtext&quot;&gt;&lt;i&gt;tmpfs&lt;/i&gt; &lt;/span&gt;&amp;nbsp;- виртуальная файловая система, или  RAM-диск, находящийся в оперативной памяти машины. Конечно, создавать  этот диск имеет смысл только при наличии достаточного объёма оперативной  памяти (не менее 1,5 Гб). В моём конфиге в оперативную память вынесены временные файлы,  на диск размером 128 Мб. Этот  параметр можно изменять как угодно, рекомендуется не превышать величину  25% от объёма оперативной памяти.&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Пример: &lt;/b&gt;&lt;span class=&quot;redtext&quot;&gt;tmpfs                /tmp                 tmpfs   defaults,size=128m        0 0&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/7853512703748416866/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/10/fstab.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/7853512703748416866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/7853512703748416866'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/10/fstab.html' title='Оптимизация через fstab'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-6077228759675317382</id><published>2011-10-03T09:24:00.000-07:00</published><updated>2011-10-04T11:53:51.052-07:00</updated><title type='text'>Костыль  для banshee (теги в CP1251)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;code&gt;&lt;i&gt;#!/bin/sh &lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;i&gt;grep ru_RU.CP1251 /var/lib/locales/supported.d/local &amp;gt;/dev/null&lt;br /&gt;
if [ $? -ne 0 ]; then&lt;br /&gt;
echo &quot;ru_RU.CP1251 CP1251&quot; | sudo tee -a /var/lib/locales/supported.d/local&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
grep ru_RU.CP1251 /var/lib/locales/supported.d/ru &amp;gt;/dev/null&lt;br /&gt;
if [ $? -ne 0 ]; then &lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;i&gt;echo &quot;ru_RU.CP1251 CP1251&quot; | sudo tee -a /var/lib/locales/supported.d/ru&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
sudo locale-gen&lt;br /&gt;
sudo mv /usr/bin/banshee /usr/bin/banshee_&lt;br /&gt;
&amp;nbsp;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;i&gt;echo &quot;#!/bin/sh&quot; | sudo tee &lt;/i&gt;&lt;/code&gt;&lt;code&gt;&lt;i&gt;/usr/bin/banshee&lt;/i&gt;&lt;/code&gt;&lt;code&gt;&lt;i&gt; &lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;i&gt;echo &quot;sh -c &#39;LC_ALL=ru_RU.CP1251 banshee_&#39;&quot; | sudo tee -a /usr/bin/banshee&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;i&gt;echo &quot;exit 0&quot; | sudo tee -a /usr/bin/banshee&lt;/i&gt;&lt;/code&gt;&lt;code&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;i&gt;sudo chmod +x /usr/bin/banshee&lt;br /&gt;
rm -r ~/.config/banshee-1/&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;
&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt;&amp;nbsp;&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt;exit 0&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt; &lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;Обратите внимание что будит &lt;b&gt;удалена пользовательская библиотека&lt;/b&gt;&lt;/code&gt;&lt;code class=&quot;bbc_code&quot;&gt;!!! &lt;/code&gt;&lt;/pre&gt;&lt;pre style=&quot;margin: 0pt; padding: 0pt;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;При создании новой, проблем с отображение тегов в Cp1251 не будит&lt;/code&gt;&lt;i&gt;&lt;code class=&quot;bbc_code&quot;&gt;.
&lt;/code&gt;&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/6077228759675317382/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/10/banshee-cp1251.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6077228759675317382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6077228759675317382'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/10/banshee-cp1251.html' title='Костыль  для banshee (теги в CP1251)'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-6174944154404193900</id><published>2011-09-29T22:19:00.000-07:00</published><updated>2011-09-29T22:30:12.277-07:00</updated><title type='text'>Перемещение и изменение размеров окна программы</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Перемещение и изменение размеров окна при помощи программы &lt;b&gt;wmctrl&lt;/b&gt;.&lt;br /&gt;
&lt;i&gt;sudo apt-get install &amp;nbsp;wmctrl&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Извлечь текущие размеры запущенных приложений:&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;wmctrl  -Gl&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Пример работы на основе калькулятора SpeedCrunch:&lt;br /&gt;
&lt;i&gt;wmctrl -i -r `wmctrl -l | grep &#39;SpeedCrunch&#39; | awk &#39;{print $1}&#39;` -e 0,0,0,500,500&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
После параметра -e передаем следующие обязательные параметры:&lt;i&gt;&lt;br /&gt;
— e &amp;lt;G&amp;gt;,&amp;lt;X&amp;gt;,&amp;lt;Y&amp;gt;,&amp;lt;W&amp;gt;,&amp;lt;H&amp;gt;&lt;br /&gt;
&amp;nbsp;G - &lt;/i&gt;Gravity&lt;i&gt;&lt;br /&gt;
X,Y &lt;/i&gt;- координаты окна&lt;i&gt;&lt;br /&gt;
&amp;nbsp;w,H - &lt;/i&gt;размеры окна&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/6174944154404193900/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/09/blog-post_29.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6174944154404193900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/6174944154404193900'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/09/blog-post_29.html' title='Перемещение и изменение размеров окна программы'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-4321576276003617795</id><published>2011-09-21T20:37:00.000-07:00</published><updated>2011-09-21T20:37:56.518-07:00</updated><title type='text'>Автоматическое обнаружение прокси-сервера (WPAD)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Есть два способа сообщить информацию о локальном прокси-сервере: через DHCP и через DNS. По соображениям максимальной совместимости, предпочтительно использовать DNS.&lt;br /&gt;
&lt;br /&gt;
Для этого необходимо занести запись, указывающую на домен &quot;wpad&quot; с работающим web-сервером. В корень web-сервера необходимо поместить файл с именем &quot;wpad.dat&quot;. Этот файл представляет собой JavaScript, содержащий функцию &quot;FindProxyForURL&quot;. Этот файл будет автоматически затребован и выполнен web-браузерами на всех компьютерах локальной сети. Содержание файла может быть примерно следующим:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;function FindProxyForURL(url, host)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; if (isPlainHostName(host) ||&lt;br /&gt;
&amp;nbsp; &amp;nbsp;dnsDomainIs(host, &quot;my.local.network.domain.org&quot;) ||&lt;br /&gt;
&amp;nbsp; &amp;nbsp;(host==&quot;127.0.0.1&quot;) )&lt;br /&gt;
&amp;nbsp; &amp;nbsp;return &quot;DIRECT&quot;;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;else&lt;br /&gt;
&amp;nbsp; &amp;nbsp;return &quot;PROXY my.proxy.server.address:8080&quot;;&lt;br /&gt;
}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Из примера понятно, что браузер попробует определить к какому адресу пытается подключиться, в случае локальной сети использует настройки без прокси, иначе будет задействован прокси my.proxy.server.address:8080.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/4321576276003617795/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/09/wpad.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/4321576276003617795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/4321576276003617795'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/09/wpad.html' title='Автоматическое обнаружение прокси-сервера (WPAD)'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-7319566873157943632</id><published>2011-09-21T20:21:00.000-07:00</published><updated>2011-09-21T20:23:18.608-07:00</updated><title type='text'>Удаление pulse audio и настройка OSS4</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;Удалим pulseaudio.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1.Запускаем терминал. Меню — Стандартные — Терминал&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo killall pulseaudio&lt;/i&gt;&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;i&gt;cp /etc/X11/Xsession.d/70pulseaudio ~/&lt;/i&gt;&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;i&gt;sudo apt-get purge pulseaudio&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;sudo apt-get remove gstreamer0.10-pulseaudio&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;sudo reboot&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Настройка gnome-sound-properties.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1. Идём по ссылке&lt;br /&gt;
&lt;a href=&quot;http://www.4front-tech.com/forum/viewtopic.php?f=3&amp;amp;t=3324&quot;&gt;http://www.4front-tech.com/forum/viewtopic.php?f=3&amp;amp;t=3324&lt;/a&gt; и качаем архив &lt;br /&gt;
soundproperties.tar.gz, так же можно воспользоваться прямой ссылкой &lt;br /&gt;
&lt;a href=&quot;http://www.4front-tech.com/forum/download/file.php?id=1&quot;&gt;http://www.4front-tech.com/forum/download/file.php?id=1&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2.Разархивируем soundproperties.tar.gz в домашнюю директорию.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;tar xzf soundproperties.tar.gz&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
3.Далее, в зависимости от того, какая у вас установлена Ubuntu i386 или &lt;br /&gt;
amd64, Переходим соответственно в папку 32-bit-x86 или 64-bit-amd64.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;cd 32-bit-x86&lt;/i&gt;&lt;br /&gt;
или&lt;br /&gt;
&lt;i&gt;cd 64-bit-amd64&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
4. Копируем gnome-sound-properties в /usr/bin/&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo cp gnome-sound-properties /usr/bin/&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
5.Выходим в каталог выше&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;cd ..&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
6.Создаём папку glade в /usr/share/gnome-control-center/.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;sudo mkdir /usr/share/gnome-control-center/glade/&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
7.Копируем sound-proerties.glade в /usr/share/gnome-control-center/glade/&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo cp sound-properties.glade /usr/share/gnome-control-center/glade/&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
8.Визуализация достигается запуском gnome-sound-properties с Терминала, &lt;br /&gt;
или же Меню — Система — Параметры — Звук.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Установка Open Sound System (OSS4)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1.Помещаем в Blacklist ALSA модули.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo dpkg-reconfigure linux-sound-base&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
далее выбираем курсором OSS, жмём Tab курсор перемещается на OK и после &lt;br /&gt;
этого нажимаем Enter для подтверждения.&lt;br /&gt;
&lt;br /&gt;
2.Удаляем ALSA.&lt;br /&gt;
&lt;br /&gt;
Удаляем все пакеты имя которых начинается с alsa. Это делается так. &lt;br /&gt;
Копируем или пишем ручками в Терминале sudo apt-get remove alsa и 2 раза &lt;br /&gt;
нажимаем Tab, должен появиться список установленых пакетов которые &lt;br /&gt;
начинаются с «alsa», после этого вписываем через пробел, наименование &lt;br /&gt;
этих пакетов и нажимаем Enter. Тоже самое следует проделать с пакетами &lt;br /&gt;
начинающийся на pulse.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;После всех манипуляций следует перегрузиться.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
3. Ставим рекомендуемые пакеты.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo apt-get install -y libesd0 libsdl1.2debian-oss&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
4.Ставим OSS4.&lt;br /&gt;
&lt;br /&gt;
Идём на официальный сайт http://www.opensound.com/download.cgi . Качаем &lt;br /&gt;
подходящий нам по архитектуре пакет. Linux 2.6 (x86) (DEB) для Ubuntu &lt;br /&gt;
i386 или Linux 2.6 (amd64) (DEB) для Ubuntu amd64 и сохраняем в домашней &lt;br /&gt;
папке. После ставим этот пакет командой:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo dpkg -i oss-linux*.deb.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Так же, есть возможность установить OSS4 из исходников, вот ссылка &lt;br /&gt;
&lt;a href=&quot;https://help.ubuntu.com/community/OpenSound&quot;&gt;https://help.ubuntu.com/community/OpenSound&lt;/a&gt; (Building from Source).&lt;br /&gt;
&lt;br /&gt;
5.Настраиваем GNOME/gstreamer.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo apt-get install -y gstreamer0.10-plugins-bad&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Перезагружаемся.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Всё oss4 установлен и готов к работе. soundproperties.tar.gz, &lt;br /&gt;
32-bit-x86, 64-bit-amd64, sound-properties.glade и deb пакет OSS4 из &lt;br /&gt;
домашней директории можно удалить. Остаётся только,&lt;br /&gt;
настроить приложения на&amp;nbsp;oss.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/7319566873157943632/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/09/pulse-audio-oss4.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/7319566873157943632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/7319566873157943632'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/09/pulse-audio-oss4.html' title='Удаление pulse audio и настройка OSS4'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-5368108303632917034</id><published>2011-09-20T23:50:00.000-07:00</published><updated>2011-09-20T23:50:16.073-07:00</updated><title type='text'>Транслирование и запись WEB камеры motion</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;strong&gt;Установка Motion&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;sudo aptitude install motion&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Конфигурационные файлы Motion:&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;sudo nano /etc/motion/motion.conf&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
# Видеоустройство для захвата, в FreeBSD по умолчанию /dev/bktr0&lt;br /&gt;
videodevice /dev/video0&lt;br /&gt;
&lt;br /&gt;
# Используемый вход для видео, может иметь два значения;&lt;br /&gt;
# по умолчанию используется 8 (для USB камер), для V4L устройств ставим 1&lt;br /&gt;
input 8&lt;br /&gt;
&lt;br /&gt;
# Устанавливаем количество захватываемых кадров в секунду;&lt;br /&gt;
# здесь следует ввести число в диапазоне 2 – 100 (100 – по умолчанию)&lt;br /&gt;
# для PAL стандартным является 25&lt;br /&gt;
framerate 25&lt;br /&gt;
&lt;br /&gt;
# И не менее важный параметр target_dir, в нем определяем каталог,&lt;br /&gt;
# куда будем складывать захваченные с видеокамеры файлы;&lt;br /&gt;
# в качестве имени можно использовать переменные,&lt;br /&gt;
# все они описаны в оригинальном файле&lt;br /&gt;
target_dir /var/lib/motion/snapshots/&lt;br /&gt;
&lt;br /&gt;
# Имя файла для снимков и видео, в примере оставляем значение по умолчанию&lt;br /&gt;
# %Y = год, %m = месяц, %d = день, %H = час, %M = минута, %S = секунда&lt;br /&gt;
snapshot_filename %v-%Y%m%d%H%M%S-snapshot&lt;br /&gt;
jpeg_filename %v-%Y%m%d%H%M%S-%q&lt;br /&gt;
movie_filename %v-%Y%m%d%H%M%S&lt;br /&gt;
timelapse_filename %Y%m%d-timelapse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Вот, собственно, и все основные настройки. Если используется карта видеозахвата или TV тюнер, при помощи параметра norm указываем стандарт. По умолчанию используется 0, то есть PAL. Возможны значения 1 – NTSC, 2 – SECAM и 3 PAL NC. Для TV тюнера также указываем частоту. По умолчанию frequency = 0.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Чтобы Motion не переходил в режим демона&lt;/strong&gt; и выводил отладочную информацию в консоль, используем флаг ‘–n’.&lt;br /&gt;
&lt;em&gt;sudo motion –&lt;/em&gt;n&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Использование веб-браузера&lt;/strong&gt;&lt;br /&gt;
В состав Motion включен мини http-сервер, который позволяет просматривать в реальном времени картинку с камеры в окне браузера. Открываем motion.conf и ищем в самом низу секцию “Live Webcam Server”. При инсталляции с помощью пакетов значение параметра webcam_port установлено в 0, то есть http-сервер отключен. Чтобы он заработал, достаточно указать здесь любой свободный порт (традиционно 8081). Параметр webcam_localhost по умолчанию устанавливается в on, поэтому подключиться к http-серверу можно только с локального компьютера. Если планируется заходить по сети, укажи здесь off. Качество выводимых сервером jpeg изображений выставляется при помощи webcam_quality. Значение 50, скорее всего, трогать не придется. По дефолту картинка в браузере меняется только при обнаружении движения. Активировав webcam_motion, можно указать, чтобы картинка постоянно менялась с частотой 1 кадр, а при движении – с частотой, указанной в параметре webcam_maxrate. Значение последнего параметра по умолчанию установлено в 1, не стоит указывать его выше 4-5. И еще один параметр – webcam_limit, с его помощью указывается максимальное количество изображений за соединение. По умолчанию установлено значение 0, то есть без ограничений. При соединении с localhost и работе с одной камерой, наверное, трогать его и не нужно.&lt;br /&gt;
&lt;br /&gt;
Теперь, если снова запустить Motion, в командной строке должно появиться сообщение: “Started stream webcam server in port 8081″. Набираем в браузере адрес своего компьютера, например http://localhost:8081, и смотрим, что показывает нам камера.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Настраиваем изображение и видео&lt;/strong&gt;&lt;br /&gt;
Итак, файлы у нас уже есть, http-сервер работает, самое время заняться подстройкой. А тюнить в Motion есть что. Например, параметр rotate. Ты не ошибешься, если подумаешь, что с его помощью можно вращать полученное изображение. Поэтому если камеру удобнее закрепить в перевернутом виде, ничего страшного. Используемое по умолчанию 0 означает сохранение без вращения, возможны варианты 90, 180 и 270. При захвате устанавливается размер кадра, выдаваемый камерой, для его изменения редактируем параметры width и height. Если камера не поддерживает автоматическую регулировку яркости, ее можно установить вручную. За это отвечает сразу несколько параметров. Так отключенный по умолчанию auto_brightness разрешает Motion регулировать яркость. Ее величина берется из значения brightness, регулируемого в пределах 0-255. Если последнее установлено в 0, тогда auto_brightness установит среднее значение 128. Аналогично за регулировку контраста и насыщенности отвечают соответственно contrast и saturation. Качество изображения регулируется с помощью quality. Чтобы изменить формат файла с jpeg на ppm, параметр ppm устанавливаем в on.&lt;br /&gt;
&lt;br /&gt;
По умолчанию при обнаружении движения образуется не только видеофайл, но и последовательность изображений. Параметром output_normal можно изменить такое поведение. Так при установке в first будет сохранено только первое изображение, best – лучшее, а отключить эту функцию можно, использовав off. Активация output_motion разрешит сохранять в снимке только пиксели, показывающие движущийся объект. Правда, пока я не нашел практического применения этому параметру, разве что для съемки продолжения “Охотники за привидениями”.&lt;br /&gt;
&lt;br /&gt;
При установке пакета из репозитария Ubuntu в конфигурационном файле motion.conf функция записи захваченного видео отключена. Поэтому при необходимости измени значение ffmpeg_cap_new на on. Аналогично с output_motion, есть такой же параметр и для видео – ffmpeg_cap_motion, при активации которого в результирующий видеофайл будут сохранены пиксели, показывающие движущийся объект.&lt;br /&gt;
&lt;br /&gt;
За качество результирующего видео отвечают два параметра: ffmpeg_bps или ffmpeg_variable_bitrate. При настройке следует использовать лишь один из них. Качество лучше подбирать экспериментальным путем, исходя из мощности системы и возможностей камеры. Кодек задается при помощи ffmpeg_video_codec, по умолчанию используется mpeg4, но при необходимости можно использовать: mpeg1, msmpeg4, swf, flv или ffv1.&lt;br /&gt;
&lt;br /&gt;
В некоторых случаях полезной будет возможность периодической записи. Параметр ffmpeg_timelapse отвечает за период, в течение которого ведется запись информации в один видеофайл, затем будет создан новый. Возможные значения: daily (за день, по умолчанию), hourly, weekly-sunday, weekly-monday, monthly и manual. Например, чтобы запись на видео велась каждую секунду, устанавливаем “ffmpeg_timelapse 1″. Если во время захвата с аналоговой камеры при перемещении объектов появляются искажения, установи ffmpeg_deinterlace в on.&lt;br /&gt;
&lt;br /&gt;
В файл, кроме собственно объекта, за которым следит камера, заносится и дополнительная информация, позволяющая определить время съемки. Эти данные настраиваются в секции Snapshots. Например, установка цифры в snapshot_interval позволит делать снимки с указанным периодом вне зависимости от обнаружения движения. Активация locate выделит на снимке движущийся объект. Текст, выводимый в левом и правом углах снимка, указывается соответственно в text_left и text_right. В настройках по умолчанию выводится дата и время, когда сделан снимок (формат strftime(3)). Если камер несколько, для удобства можно активировать text_left, где прописать что-то вроде “Camera 1″.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Настройка захвата&lt;/strong&gt;&lt;br /&gt;
Секция “Motion Detection Settings”, расположенная в самом конце конфигурационного файла, отвечает за тонкую настройку обнаружения движущихся объектов. Если камера стоит в комнате, и тушка входящего перекрывает объектив, проблем с обнаружением обычно нет. Вмешательство потребуется в том случае, когда камера контролирует большую территорию, где объект имеет относительно маленький размер, и срабатывание может быть вызвано колыханием веток деревьев, проезжающими машинами и прочими помехами. На дешевых девайсах запись может начинаться из-за артефактов, вызванных искажениями самой камеры или поведением драйвера.&lt;br /&gt;
&lt;br /&gt;
Например, threshold позволяет указать количество пикселей, которые должны измениться для срабатывания детектора, а minimum_motion_frames – количество кадров, в котором они зафиксированы. Подобрав эти значения, можно сделать так, что Motion не будет замечать пролетающую птицу, но без проблем реагировать на человека. Фильтры для сглаживания шума подключаются при помощи despeckle. По умолчанию используется оптимальное значение EedDl. При появлении проблем следует поэкспериментировать, убирая буквы в сочетании EedDl и пробуя их в разных комбинациях (подробнее о despeckle смотри на WiKi Motion и на emit.demon.co.uk/motion).&lt;br /&gt;
&lt;br /&gt;
Параметры noise_level, noise_tune, night_compensate и lightswitch отвечают за уровень порога шума и компенсацию темных и светлых участков.&lt;br /&gt;
&lt;br /&gt;
Комбинация параметров pre_capture, post_capture и gap позволяет записать законченную сцену, где будет снят контролируемый объект до и после того, как было обнаружено движение. Значение gap по умолчанию установлено в оптимальные 60 (секунд), если движение не будет обнаружено, то создается новый видеофайл, а старый удаляется. Чтобы захваченный файл не был большим, его продолжительность можно ограничить параметром max_mpeg_time, указав в качестве значения время в секундах.&lt;br /&gt;
&lt;br /&gt;
Параметров в motion.conf очень много, обо всех рассказать не получится. Но остался еще один, о котором следует знать. Например, поставил ты камеру в общежитии на кухне, где топчется много народу, но тебя интересуют лишь те, которые лазят в холодильник. Без проблем, делаем снимок камерой, создаем маску, в которой нужная область окрашена белым, а все остальное, что нас не интересует, черным. Сохраняем его в файле формата pgm и указываем путь при помощи mask_file. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/5368108303632917034/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/09/web-motion.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/5368108303632917034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/5368108303632917034'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/09/web-motion.html' title='Транслирование и запись WEB камеры motion'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-984117991336128876</id><published>2011-09-20T23:19:00.000-07:00</published><updated>2011-09-20T23:31:52.531-07:00</updated><title type='text'>Отвязка программы от консоли</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Команда призвана закрыть консоль откуда была вызвана программа, но без закрытия самой программы.&lt;br /&gt;
&lt;em&gt;nohup команда 1&amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;/em&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/984117991336128876/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/09/blog-post_20.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/984117991336128876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/984117991336128876'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/09/blog-post_20.html' title='Отвязка программы от консоли'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-8857669602710043005</id><published>2011-09-20T23:07:00.000-07:00</published><updated>2011-10-18T22:21:41.743-07:00</updated><title type='text'>SSH</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;Подготовка ключей:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
ssh-keygen #генерируем ключ&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub учётка@ip_адрес #копируем &amp;nbsp;ключ клиенту&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Туннелирование:&lt;/b&gt;&lt;br /&gt;
Есть два вида ssh проброса туннелей:&lt;br /&gt;
1.) Вы открываете на удаленной машине локальный порт&lt;br /&gt;
ssh root@удалённый_сервер -R 2222:ip_ПК:22&lt;br /&gt;
&lt;br /&gt;
где 2222 на удаленной машине, а 22 локальный порт.&lt;br /&gt;
&lt;br /&gt;
2.) На локальной машине открываем удаленный порт&lt;br /&gt;
ssh root@уалённый_сервер -L 2222:ip_ПК:22&lt;br /&gt;
&lt;br /&gt;
где 2222 локальный порт, а 22 порт на удаленной машине.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Удаленный доступ к файлам:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;sudo apt-get install sshfs &amp;nbsp;#ставим нужный пакет&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
А далее присоединить необходимую папку:&lt;br /&gt;
&lt;i&gt;sshfs name@server:/path/to/folder /path/to/mount/point&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Защита от взлома SSH&lt;/b&gt;&lt;i&gt; &lt;/i&gt;&lt;b&gt;:&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;sudo apt-get install fail2ban&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Суть этого демона заключается в облегчении жизни пользователя, а именно, он в фоновом режиме сканирует логи (/var/log/pwdfail или /var/log/apache/error_log и др.) на наличие записей вида “Failed password for invalid user condor” для таких служб как sshd, apache, vsftpd и др., и после нескольких неудачных попыток производит блокировку по IP адресу.&lt;br /&gt;
&lt;br /&gt;
Количество попыток авторизации, время блокировки и многие другие настройки находятся в файле:&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;i&gt;&lt;br /&gt;
/etc/fail2ban/jail.conf&lt;/i&gt;&lt;br /&gt;
Настраивается все очень просто, работает отлично.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Оповещение при подключении по SSH:&lt;/strong&gt;&lt;br /&gt;
При установке выполняется файл /etc/ssh/sshrc. Поэтому мы создадим скрипт и поместим команду для его запуска в этот файл:&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;/usr/local/alert/start.sh&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;unset SSH_CONNECTION&lt;/em&gt; &lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
И добавил в /root/.bashrc код:&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;unset SSH_CONNECTION&lt;br /&gt;
&lt;br /&gt;
/usr/local/alert/start.sh &amp;nbsp;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Скрипт будет выводить сообщение с важной информацией через notify-osd.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;em&gt;#!/bin/sh &amp;nbsp;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt; export DISPLAY=:0&lt;/em&gt;&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;em&gt;notify-send &quot;Security Warning&quot; &quot;Occured Login as user \&quot;$USER\&quot; $(echo $SSH_CONNECTION $SSH_TTY | sed &#39;s/\(.*\) \(.*\) \(.*\) \(.*\) \(.*\)/using SSH connection at \5 from \1:\2 to \3:\4/&#39;)&quot; -u critical -i /usr/local/alert/icon.png&amp;nbsp;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt; &lt;/em&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&amp;nbsp;&lt;/em&gt;&amp;nbsp;Первой строкой мы устанавливаем текущий дисплей для правильной работы notify-osd, а затем выводим сообщение с иконкой и пометкой критической важности, используя системные переменные $USER (текущий пользователь) и $SSH_CONNECTION (данные о соединении, которые мы преобразуем с помощью регулярных выражений чрезвычайно удобной утилитой sed).&lt;br /&gt;
&lt;br /&gt;
Сюда же можно добавить и отправку сообщения на e-mail (sendmail) или jabber (sendxmpp).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Не забудьте также доставить нужные библиотеки, для Ubuntu это делается так:&lt;br /&gt;
sudo apt-get install libnotify-bin sox&lt;br /&gt;
&lt;br /&gt;
Если есть ~/.ssh/rc, то выполнится он, а система работать не будет. Более того, для правильного выполнения эти скрипты ничего не должны выводить в stdout (на экран).&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&amp;nbsp;&lt;/i&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/8857669602710043005/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/09/ssh.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8857669602710043005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8857669602710043005'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/09/ssh.html' title='SSH'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4342898077558899588.post-8370366580744640596</id><published>2011-09-18T11:21:00.000-07:00</published><updated>2011-09-18T11:21:04.559-07:00</updated><title type='text'>Сканер+принтер=копир</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;pre style=&quot;margin: 0; padding: 0;&quot;&gt;&lt;code class=&quot;bbc_code&quot;&gt;#! /bin/bash

file_time=`date +%d.%m.%y_%H.%M.%S` ; #создаем временную метку
scan_file=&quot;/tmp/tmp_${file_time}.ppm&quot; ; #устанавливаем название файла скан-имиджа
scan_dir=&quot;~/scan_images&quot; ; #назначаем целевую папку для хранения сканов


if `scanimage -n` &amp;amp;&amp;gt; /dev/null ; #проверяем наличие сканера
then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ ! -d ${scan_dir}] ; #смотрим есть ли папка scan_images в домашней папки
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;mkdir ${scan_dir} ; #если нет то создаём
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;scanimage -v -p --mode Gray --resolution 200 &amp;gt; ${scan_file} ; 
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;#скан в /tmp c разрешением 200 dpi, оттенки серого и дописываем временную метку для истории
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if [ -f ${scan_file} ] ;&amp;nbsp; #проверяем наличие в /tmp сканированого файла
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;convert ${scan_file} ${scan_dir}/${file_time}.jpg ; 
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# конвертируем ppm в jpg и сохраняем его в папке сканов
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;lpr -o landscape -o fit-to-page -o media=A4 ${scan_dir}/${file_time}.jpg 
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;#отправляем jpg-файл на принтер по умолчанию
&amp;nbsp; &amp;nbsp;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;ГОТОВО !!!&quot; ;
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;else 
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit 0 ; #выход из скрипта
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fi
else #если сканера нет или с ним работает другая программа
&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Сканер не подключен!&quot; ;
fi

exit 0 ;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bflinux.blogspot.com/feeds/8370366580744640596/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://bflinux.blogspot.com/2011/09/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8370366580744640596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4342898077558899588/posts/default/8370366580744640596'/><link rel='alternate' type='text/html' href='http://bflinux.blogspot.com/2011/09/blog-post.html' title='Сканер+принтер=копир'/><author><name>Александр</name><uri>http://www.blogger.com/profile/01086841146216415991</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>