<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Shumaher’s_Blog &#187; Text</title>
	<atom:link href="http://blog.shumaher.net.ru/category/text/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.shumaher.net.ru</link>
	<description>yet another stupid personal weblog</description>
	<lastBuildDate>Wed, 16 May 2012 18:25:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image><title>Shumaher&#8217;s_Blog</title><url>http://blog.shumaher.net.ru/avatar.100.jpg</url><link>http://blog.shumaher.net.ru</link><width>100</width><height>100</height><description>Shumaher&#8217;s_Blog</description></image>		<item>
		<title>Разблокировка HTC Wildfire S без XTC Clip и HTCDev</title>
		<link>http://blog.shumaher.net.ru/2012/05/16/razblokirovka-htc-wildfire-s-bez-xtc-clip-i-htcdev/</link>
		<comments>http://blog.shumaher.net.ru/2012/05/16/razblokirovka-htc-wildfire-s-bez-xtc-clip-i-htcdev/#comments</comments>
		<pubDate>Wed, 16 May 2012 08:40:39 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[HTC]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1439</guid>
		
			<description><![CDATA[<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2012/05/hboot.png" alt="HBOOT" title="HBOOT" width="266" height="103" class="alignleft size-full wp-image-1458" style="border:none; margin:0 7px 15px 0; float:left" />На днях случилось то, чего я так долго ждал — мне наконец-то удалось <strong>разблокировать загрузчик</strong> своего смартфона без гемора с поиском программатора XTC Clip и без отправки данных о девайсе (identifier token) в HTC. А значит и без потери гарантии. <em>Теоретически.</em><br />
Это конечно не <a href="http://devfaq.ru/ru/q/9856" target="_blank">S-OFF</a> (который, думаю, тоже вскоре будет возможен), а лишь <strong>UNLOCK</strong>, но большинству, включая меня (т.к. не собираюсь извращаться с перепрошивками радиомодуля), этого вполне достаточно.</p>
<p>Уже не терпится разблокировать смартфон и получить полный контроль над своим <a href="http://blog.shumaher.net.ru/tag/android/" title="тег: Android">боевым роботом</a>? Добро пожаловать под кат, ведь процедура займёт всего несколько минут.</p>
<p><span id="more-1439"></span>А возможно это всё стало благодаря скрипту <a href="http://forum.xda-developers.com/showthread.php?t=1576844" target="_blank">Simon’s Wildfires Utility</a> от <a href="http://forum.xda-developers.com/member.php?u=4360270" target="_blank">simonsimons34</a>.<br />
Несмотря на название, автор обещает (но не гарантирует) работу и для других моделей HTC.</p>
<p>Ну а теперь небольшой мануал, который, в общем-то, и не нужен, ибо, если опустить все подготовительные шаги, сама разблокировка происходит буквально одним нажатием.</p>
<p>0) Сейчас самое время забэкапить приложения/данные при помощи Titanium Backup, потому что до установки постоянного su ни <a href="http://4pda.ru/forum/index.php?showtopic=239982&#038;st=480#entry9919289" target="_blank">temproot</a>, ни <a href="http://4pda.ru/forum/index.php?showtopic=239982&#038;st=2280#entry12892493" target="_blank">tacoroot</a> уже работать не будут.</p>
<p>1) Затем проверьте версию <a href="http://devfaq.ru/ru/q/12586" target="_blank">HBOOT</a>. Для этого снимите галку "Быстрая загрузка" в настройках, и выключите телефон, затем включите, удерживая кнопку <em>VolDown</em> и кратковременно нажав <em>Power</em>.<br />
А проще это можно сделать, включив "Отладку USB" и тип подключения "Только зарядка" (это потребуется и далее), и написав в консоли:</p>

<div class="wp_syntax"><div class="code"><pre class="winbatch" style="font-family:monospace;">adb reboot bootloader</pre></div></div>

<p><br clear="none" /><br />
(конечно, если установлен ADB) <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
В любом случае, лишний раз "дёргать батарею", как многие советуют, для этого не нужно!</p>
<p>Если у вас прошивка <strong>2.13.401.3</strong> и версия HBOOT <strong>1.08.0000</strong> (как исходная у меня):</p>
<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2012/05/hboot-1.08.0000.png" alt="HBOOT 1.08.0000" title="HBOOT 1.08.0000" width="320" height="423" class="aligncenter size-full wp-image-1457" style="border:none; margin:0 auto 4px; float:none; display:block" /><br clear="all" /></p>
<p>или 1.09.0000, то необходимо обновить HBOOT до <strong>1.09.0099</strong>.<br />
Для этого скачайте с HTCDev <a href="http://www.htcdev.com/ruu/PG7610000_Marvel_hboot_1.09.0099_2.13.401.3_0210_R.exe" target="_blank">утилиту RUU</a> для обновления через USB, но в этом случае версия прошивки может быть завышена, что затруднит дальнейшие обновления по <a href="http://devfaq.ru/ru/q/9254" target="_blank">FOTA</a>.<br />
Поэтому лучше использовать <a href="http://4pda.ru/forum/dl/post/1497027/PG76IMG.zip" target="_blank">архив PG76IMG.zip</a> для прошивки через recovery.</p>
<p>Если у вас другие версии HBOOT, внимательно читайте <a href="http://4pda.ru/forum/index.php?showtopic=239982&#038;st=1220#entry10750398" target="_blank">Инструкцию "10 шагов"</a> — <em>только</em> то, что выделено красным в начале.</p>
<p>В итоге, HBOOT, готовый к разблокировке, должен выглядеть вот так:</p>
<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2012/05/hboot-1.09.0099-locked.png" alt="HBOOT 1.09.0099 LOCKED" title="HBOOT 1.09.0099 LOCKED" width="320" height="423" class="aligncenter size-full wp-image-1460" style="border:none; margin:0 auto 4px; float:none; display:block" /><br clear="all" /></p>
<p>2) Скачайте <a href="http://goo.im/devs/simonsimons34/HTC_Universal/Htc_Utilityv2Windows.zip" target="_blank">Htc_Utilityv2Windows.zip</a> (ссылка может устареть, поэтому смотрите исходный топик на XDA, или <a href="http://4pda.ru/forum/index.php?showtopic=330028" target="_blank">на 4PDA</a> — <a href="http://4pda.ru/forum/dl/post/1705890/Htc_Utilityv2Windows.zip" target="_blank">Htc_Utilityv2Windows.zip</a>) и распакуйте в корень диска C:<br />
Подключите телефон к компьютеру по USB, драйверы HTC должны уже стоять (есть в архиве), и запустите <strong>simonsutility.bat</strong>. Нужно выбрать <strong>1</strong>-ый пункт в меню:</p>
<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2012/05/wildfires-utility.png" alt="Simon’s Wildfires Utility" title="Simon’s Wildfires Utility" width="439" height="163" class="aligncenter size-full wp-image-1441" style="border:none; margin:0 auto 4px; float:none; display:block" /><br clear="all" /></p>
<p>Не обращайте внимание на "CDMA" и "v1.0" в заголовке окна — разблокировка работает и для GSM-смартфонов, но для CDMA можно сделать и S-OFF. А ещё у автора видимо проблема с именованием версий.<br />
Телефон будет несколько раз перезагружен пока идёт процесс, и в конце вы должны увидеть следующее:</p>
<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2012/05/hboot-1.09.0099-unlocked.png" alt="hboot 1.09.0099 UNLOCKED" title="hboot 1.09.0099 UNLOCKED" width="320" height="423" class="aligncenter size-full wp-image-1461" style="border:none; margin:0 auto 4px; float:none; display:block" /><br clear="all" /></p>
<p>Розовая надпись <strong>UNLOCKED</strong> означает, что ваш телефон наконец <strong>разблокирован</strong>!</p>
<p><br clear="none" /></p>
<h3>Необязательный твик</h3>
<p><small style="color:#C0C0C0">(ну не могу я без этого)</small></p>
<p>После самой разблокировки утилита также пытается поставить <strong>root</strong>, т.е. Superuser.apk и бинарник su.<br />
Чтобы сделать всё позже вручную, я закомментировал соответствующие строки в батнике:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>77
78
79
80
81
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">rem	echo. Before I leave, I am going <span style="color: #800080;">to</span> try <span style="color: #800080;">to</span> root. Highly experimental.
rem	adb shell cp <span style="color: #66cc66;">/</span>data<span style="color: #66cc66;">/</span>local<span style="color: #66cc66;">/</span>su <span style="color: #66cc66;">/</span>system<span style="color: #66cc66;">/</span>bin<span style="color: #66cc66;">/</span>su
rem	adb shell cp <span style="color: #66cc66;">/</span>data<span style="color: #66cc66;">/</span>local<span style="color: #66cc66;">/</span>Superuser.apk <span style="color: #66cc66;">/</span>system<span style="color: #66cc66;">/</span>app<span style="color: #66cc66;">/</span>Superuser.apk
rem	adb shell chmod <span style="color: #cc66cc;">755</span> <span style="color: #66cc66;">/</span>system<span style="color: #66cc66;">/</span>bin<span style="color: #66cc66;">/</span>su
rem	adb shell chmod <span style="color: #cc66cc;">755</span> <span style="color: #66cc66;">/</span>system<span style="color: #66cc66;">/</span>app<span style="color: #66cc66;">/</span>Superuser.apk</pre></td></tr></table></div>

<p><br clear="none" /></p>
<h3>Зачем всё это?</h3>
<p>Что делать дальше и зачем вообще всё это, вы, вероятно, сами знаете — раз уж прочитали этот текст.<br />
CWM, root, Link2SD, прошивки, разгон, покер, развратные женщины... <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><br clear="none" /><br />
Краткая версия этого мануала <a href="http://4pda.ru/forum/index.php?showtopic=239982&#038;view=findpost&#038;p=13215312" target="_blank">в теме прошивки на 4PDA</a>.</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 16th May 2012 @ 12:40 | <a href="http://blog.shumaher.net.ru/2012/05/16/razblokirovka-htc-wildfire-s-bez-xtc-clip-i-htcdev/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2012/05/16/razblokirovka-htc-wildfire-s-bez-xtc-clip-i-htcdev/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/android/" rel="tag">Android</a>, <a href="http://blog.shumaher.net.ru/tag/htc/" rel="tag">HTC</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2012/05/16/razblokirovka-htc-wildfire-s-bez-xtc-clip-i-htcdev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Общие настройки для эмулятора терминала и SSH в Android</title>
		<link>http://blog.shumaher.net.ru/2012/04/14/obcshie-nastrojki-dlja-emuljatora-terminala-i-ssh-v-android/</link>
		<comments>http://blog.shumaher.net.ru/2012/04/14/obcshie-nastrojki-dlja-emuljatora-terminala-i-ssh-v-android/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 12:40:47 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[warez]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1389</guid>
		
			<description><![CDATA[<p>Если вам нужно сделать что-то полезное с устройством на Android, например отредактировать конфиг, насоздавать сразу много папок на SD карте, заморозить ненужные системные приложения, <a href="http://blog.shumaher.net.ru/kak-montirovat-setevye-diski-windows-v-android-bez-konsoli/" title="Как монтировать сетевые диски Windows в Android без консоли (часть 2)">выполнить скрипт</a>, <a href="http://blog.shumaher.net.ru/kak-montirovat-setevye-diski-windows-v-android/" title="Как монтировать сетевые диски Windows в Android">смонтировать CIFS</a>, то вам не обойтись без эмулятора терминала.<br />
Но, если рядом есть компьютер и Wi-Fi, эти действия удобнее производить с него, а не на крошечном экране смартфона, пытаясь попасть в ещё более мелкие клавиши виртуальной клавиатуры.<br />
А ещё удобнее, когда одни и те же алиасы и другие настройки есть и при открытии терминала на самом устройстве, и при подключении к нему по SSH.</p>
<p>Вы ведь для этого купили именно смартфон на Андроиде? Я лично — в том числе.  <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Поэтому сегодня я расскажу, как создать консоль не хуже чем в десктопных линуксах.</p>
<p><span id="more-1389"></span>В качестве эмулятора терминала я использую <strong>Better Terminal Emulator Pro</strong> (<a href="https://play.google.com/store/apps/details?id=com.magicandroidapps.bettertermpro" target="_blank">Google Play</a> | <a href="market://details?id=com.magicandroidapps.bettertermpro" target="_blank">market://</a> | <a href="http://4pda.ru/forum/index.php?showtopic=148522" target="_blank">4PDA</a>), а в качестве SSH-сервера <strong>SSHDroid</strong> (<a href="https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid" target="_blank">Google Play</a> | <a href="market://details?id=berserker.android.apps.sshdroid" target="_blank">market://</a>).</p>
<p><br clear="none"></p>
<h3>Настройка BTEP</h3>
<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2012/04/btep.png" alt="BTEP" title="BTEP" width="320" height="480" class="alignleft size-full wp-image-1399" style="border:none; margin:0 10px 15px 0; float:left" /></p>
<p>После выбора <strong>Preferences — Shell — BASH</strong> (вместо Android Shell) строка <strong>Command Line</strong> изменится как на скриншоте, а после запуска создаётся файл <strong>/data/data/com.magicandroidapps.bettertermpro/home/.profile</strong>.<br />
На его основе нужно создать на SD-карте файл <strong>/mnt/sdcard/data/com.magicandroidapps.bettertermpro/home/local_profile</strong> — это будет основной конфиг как для терминала, так и для SSH.<br />
Путь может быть любым, но он должен быть на SD; оригинальный <strong>.profile</strong> использовать нельзя, т.к. он будет перезаписан при обновлении приложения, или удалён при очистке данных стандартными средствами.<br />
<br clear="all" /><br />
<strong>/mnt/sdcard/data/com.magicandroidapps.bettertermpro/home/local_profile</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">SHELL</span>=<span style="color: #007800;">$_</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">BTEP</span>=<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HOME</span>=<span style="color: #007800;">$BTEP</span><span style="color: #000000; font-weight: bold;">/</span>home
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;/data/data/berserker.android.apps.sshdroid/dropbear/busybox&quot;</span> 
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>berserker.android.apps.sshdroid<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #007800;">$BTEP</span><span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>home:<span style="color: #007800;">$PATH</span>:.
&nbsp;
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTFILE</span>=<span style="color: #007800;">$BTEP</span><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>.history
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">&quot;\w \<span style="color: #000099; font-weight: bold;">\$</span> &quot;</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">TERMINFO</span>=<span style="color: #007800;">$BTEP</span><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>terminfo
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">TERM</span>=linux
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$HISTFILE</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;History file missing, creating...&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;ls&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$HISTFILE</span>
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">666</span> <span style="color: #007800;">$HISTFILE</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-z</span> <span style="color: #007800;">$SHELL</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">SHELL</span>=<span style="color: #007800;">$BTEP</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> x<span style="color: #007800;">$SHELL</span>=xmatch_lhs <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">SHELL</span>=<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$HOME</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">sh</span>=<span style="color: #ff0000;">'/system/bin/sh'</span>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">bash</span>=<span style="color: #ff0000;">'$BTEP/bin/bash --rcfile /mnt/sdcard/data/com.magicandroidapps.bettertermpro/home/local_profile'</span>
<span style="color: #666666; font-style: italic;"># дальше алиасы и остальные настройки по вкусу</span></pre></td></tr></table></div>

<p><br clear="none"><br />
Самые важные строки здесь: <strong>1-6</strong>, <strong>25-33</strong>.<br />
<strong>ВАЖНО:</strong> <code>$SHELL</code> это <strong>/system/bin/sh</strong>, а не <strong>$BTEP/bin/sh</strong>, иначе не запускается программа <strong>pm</strong> (которой можно заморозить системные приложения, но об этом в другой раз), возможно и какие-то другие.<br />
Это имеет значение при запуске скриптов с SD-карты вот так: <strong>sh скрипт.sh</strong>, как упоминалось в предыдущих постах.</p>
<p>Далее.<br />
Создайте файл <strong>/mnt/sdcard/data/com.magicandroidapps.bettertermpro/home/local_profile_HOME</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;/sdcard/data/com.magicandroidapps.bettertermpro/home/local_profile&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
  . <span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>local_profile
<span style="color: #000000; font-weight: bold;">fi</span></pre></td></tr></table></div>

<p><br clear="none"><br />
Его нужно скопировать уже в <strong>/data/data/com.magicandroidapps.bettertermpro/home/local_profile</strong>, а также создать ссылку на <strong>.profile</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>home
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>local_profile_HOME local_profile
<span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #007800;">$USERID</span>:<span style="color: #007800;">$USERID</span> local_profile
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> local_profile
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> local_profile .profile</pre></td></tr></table></div>

<p><br clear="none"><br />
<code>$USERID</code> необходимо исправить на ID пользователя приложения (меняется при каждой установке, узнать можно например через <strong>ls -n</strong>)<br />
Так, после обновления приложения потребуется только создать ссылку (последняя команда).<br />
На этом настройка BTEP закончена.</p>
<p><br clear="none"></p>
<h3>Настройка SSHDroid</h3>
<p>Тут всё аналогично: после включения опции <strong>Custom profile</strong> измените файл <strong>.profile</strong> так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PATH</span>=<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>berserker.android.apps.sshdroid<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #007800;">$PATH</span>
<span style="color: #7a0874; font-weight: bold;">export</span> PATH
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;/data/data/com.magicandroidapps.bettertermpro/bin/bash&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</span> <span style="color: #660033;">--rcfile</span> <span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>local_profile
<span style="color: #000000; font-weight: bold;">else</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;./bin/sh&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">sh</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></td></tr></table></div>

<p><br clear="none"><br />
Если существует <strong>bash</strong>, будет запущен он с конфигом выше, или же <strong>sh</strong> из SSHDroid.</p>
<p><br clear="none"></p>
<h3>Улучшения</h3>
<p>После установки SSH-клиента размер данных BTEP увеличивается почти до 10 МБ, так как добавляется много дополнительных бинарников и <strong>Busybox</strong>, более свежая версия которого входит и в SSHDroid.<br />
Поэтому я написал небольшой скрипт, который выполняет действия, описанные выше, а также удаляет всё лишнее.</p>
<p><strong>btep.sh</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/system/bin/sh</span>
&nbsp;
<span style="color: #007800;">USERID</span>=<span style="color: #ff0000;">&quot;10090&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$HOME</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #007800;">$1</span> <span style="color: #000000; font-weight: bold;">in</span>
&nbsp;
	<span style="color: #ff0000;">&quot;b&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #c20cb9; font-weight: bold;">find</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #660033;">-type</span> l <span style="color: #660033;">-exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>busybox.exe <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #666666; font-style: italic;">#rm -f ../bin/ether-wake &amp;&amp; \   # файл повторяется, однако набор опций различен</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>dropbear<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">scp</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>sftp-server <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>berserker.android.apps.sshdroid<span style="color: #000000; font-weight: bold;">/</span>dropbear<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;../bin/busybox.exe and links deleted!&quot;</span>
	<span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
	<span style="color: #ff0000;">&quot;d&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;../downloader&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-Rf</span> ..<span style="color: #000000; font-weight: bold;">/</span>downloader<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> ..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>downloader ..<span style="color: #000000; font-weight: bold;">/</span>downloader  <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #007800;">$USERID</span>:<span style="color: #007800;">$USERID</span> ..<span style="color: #000000; font-weight: bold;">/</span>downloader <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> ..<span style="color: #000000; font-weight: bold;">/</span>downloader <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;../downloader/ deleted!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
	<span style="color: #ff0000;">&quot;n&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;../bin/nano&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> ..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>nano<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">nano</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #007800;">$USERID</span>:<span style="color: #007800;">$USERID</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">nano</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> ..<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">nano</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;nano copied from SD!&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;../bin/nano exists!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;local_profile&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>local_profile_HOME local_profile <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;local_profile copied from SD!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #007800;">$USERID</span>:<span style="color: #007800;">$USERID</span> local_profile
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> local_profile
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;.profile&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> local_profile .profile <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;local_profile link to .profile created!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;.ssh&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-Rf</span> .ssh
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> ..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>com.magicandroidapps.bettertermpro<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>.ssh <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;.ssh link to SD created!&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Directory/link .ssh exists!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-Rf</span> Advent.z5
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>berserker.android.apps.sshdroid<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>.ash_history
&nbsp;
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> <span style="color: #007800;">$USERID</span>:<span style="color: #007800;">$USERID</span> <span style="color: #000000; font-weight: bold;">*</span>
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> ..<span style="color: #000000; font-weight: bold;">/</span>
	<span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">esac</span></pre></td></tr></table></div>

<p><br clear="none"></p>
<p>О параметрах запуска скрипта:<br />
<strong>Без параметров</strong> — копирование конфига, создание ссылки на <strong>.ssh</strong> на SD, удаление лишних файлов после загрузки BTEP SSH;<br />
<strong>b</strong> — удаление <strong>b</strong>usybox, ссылок и повторяющихся с SSHDroid программ;<br />
<strong>d</strong> — создание ссылки на папку <strong>d</strong>ownloader на SD (должна быть уже скопирована), и удаление исходной папки (если просто удалить папку, повторная загрузка будет происходить при каждом запуске BTEP);<br />
<strong>n</strong> — копирование <strong>n</strong>ano, скачать можно <a href="http://android.modaco.com/topic/291983-nano-editor-for-android/" target="_blank">здесь</a>.<br />
В скрипте могут быть ошибки, но у меня он работает <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Недостаток всего этого решения, который для кого-то может быть существенным: кириллица и в эмуляторе терминала, и в SSH НЕ поддерживается.</p>
<p>Всё это естественно не нужно обычному пользователю, но если вам нужно покопаться в андроиде, станет гораздо удобнее.</p>
<p><br clear="none"><br />
<em>В следующий раз:</em> настройка Samba-сервера, Wake On Lan без дополнительных приложений, и другое про робофон.</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 14th April 2012 @ 16:40 | <a href="http://blog.shumaher.net.ru/2012/04/14/obcshie-nastrojki-dlja-emuljatora-terminala-i-ssh-v-android/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2012/04/14/obcshie-nastrojki-dlja-emuljatora-terminala-i-ssh-v-android/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/android/" rel="tag">Android</a>, <a href="http://blog.shumaher.net.ru/tag/bash/" rel="tag">bash</a>, <a href="http://blog.shumaher.net.ru/tag/linux/" rel="tag">Linux</a>, <a href="http://blog.shumaher.net.ru/tag/warez/" rel="tag">warez</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2012/04/14/obcshie-nastrojki-dlja-emuljatora-terminala-i-ssh-v-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка серверной истории в ejabberd2</title>
		<link>http://blog.shumaher.net.ru/2012/02/17/nastrojka-servernoj-istorii-v-ejabberd2/</link>
		<comments>http://blog.shumaher.net.ru/2012/02/17/nastrojka-servernoj-istorii-v-ejabberd2/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 22:15:56 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[soft]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1349</guid>
		
			<description><![CDATA[<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2010/11/ejabberd.png" alt="ejabberd" title="ejabberd" width="350" height="90" class="aligncenter size-full wp-image-809" style="border:none; margin:0 auto 4px; float:none; display:block" /><br clear="all">Не так давно стал юзать на <a href="http://blog.shumaher.net.ru/tag/android/" title="тег: Android">Андоиде</a> jabber-клиент с поддержкой <a href="http://xmpp.org/extensions/xep-0136.html" target="_blank">XEP-0136: Message Archiving</a> (aka история на сервере).<br />
В <a href="http://www.ejabberd.im/" target="_blank">ejabberd2</a> данный XEP реализуется при помощи модуля <a href="http://www.ejabberd.im/mod_archive" target="_blank">mod_archive</a>. Казалось бы, подключить и радоваться, но, как обычно, всё не так просто [как могло бы быть].<br />
Проблема в том, что последняя на текущий момент версия модуля реализует лишь 0.6 версию XEP'а, тогда как сам он имеет уже версию <strong>1.2</strong> (от 2010.06.21). И современные клиенты использовать функцию сохранения истории не могут, даже если модуль на сервере присутствует.<br />
Для того чтобы обеспечить совместимость надо отредактировать исходник модуля, чему и будет посвящен этот пост.</p>
<p><span id="more-1349"></span>О том, как получить исходники <strong>mod_archive</strong>, собрать и установить модуль, я здесь писать не буду, т.к. процесс ничем не отличается для всех модулей, так что читайте <a href="http://blog.shumaher.net.ru/ustanovka-mod_webpresence-v-ejabberd2/" title="Установка mod_webpresence в ejabberd2">предыдущий пост про mod_webpresence</a>.</p>
<p><br clear="none"></p>
<h3>Правка исходника</h3>
<p>В новой версии XEP-0136 изменился <a href="http://xmpp.org/extensions/xep-0136.html#ns" target="_blank">namespace</a> архива с <code>http://xmpp.org/extensions/xep-0136.html#ns</code> на <code>urn:xmpp:archive</code>, поэтому необходимо изменить соответствующие строки в <strong>mod_archive.erl</strong> так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="erlang" style="font-family:monospace;"><span style="color: #014ea4;">-</span><span style="color: #5400b3;">define</span><span style="color: #109ab8;">&#40;</span><span style="color: #6941fd;">NS_ARCHIVE</span><span style="color: #6bb810;">,</span>
	<span style="color: #ff7800;">&quot;urn:xmpp:archive&quot;</span><span style="color: #109ab8;">&#41;</span><span style="color: #6bb810;">.</span>
<span style="color: #014ea4;">-</span><span style="color: #5400b3;">define</span><span style="color: #109ab8;">&#40;</span><span style="color: #6941fd;">NS_ARCHIVE_MANAGE</span><span style="color: #6bb810;">,</span>
	<span style="color: #ff7800;">&quot;urn:xmpp:archive:manage&quot;</span><span style="color: #109ab8;">&#41;</span><span style="color: #6bb810;">.</span>
<span style="color: #014ea4;">-</span><span style="color: #5400b3;">define</span><span style="color: #109ab8;">&#40;</span><span style="color: #6941fd;">NS_ARCHIVE_PREF</span><span style="color: #6bb810;">,</span>
	<span style="color: #ff7800;">&quot;urn:xmpp:archive:pref&quot;</span><span style="color: #109ab8;">&#41;</span><span style="color: #6bb810;">.</span>
<span style="color: #014ea4;">-</span><span style="color: #5400b3;">define</span><span style="color: #109ab8;">&#40;</span><span style="color: #6941fd;">NS_ARCHIVE_MANUAL</span><span style="color: #6bb810;">,</span>
	<span style="color: #ff7800;">&quot;urn:xmpp:archive:manual&quot;</span><span style="color: #109ab8;">&#41;</span><span style="color: #6bb810;">.</span></pre></td></tr></table></div>

<p><br clear="none"><br />
Файлы ODBC/SQL-версий модуля <strong>mod_archive_odbc.erl</strong> и <strong>mod_archive_sql.erl</strong> редактируются аналогично.</p>
<p>Некоторые клиенты могут поддерживать и оба варианта, а какие-то только старый, соответственно в них может перестать работать данная функция.</p>
<p><br clear="none"></p>
<h3>Конфиг</h3>

<div class="wp_syntax"><div class="code"><pre class="erlang" style="font-family:monospace;"><span style="color: #109ab8;">&#123;</span>listen<span style="color: #6bb810;">,</span>		<span style="color: #666666; font-style: italic;">%% ТОЛЬКО для mod_archive_webview, подробнее ниже!!!</span>
 <span style="color: #109ab8;">&#91;</span>
<span style="color: #6bb810;">...</span>
  <span style="color: #109ab8;">&#123;</span><span style="color: #ff9600;">5280</span><span style="color: #6bb810;">,</span> ejabberd_http<span style="color: #6bb810;">,</span> <span style="color: #109ab8;">&#91;</span>
			 <span style="color: #109ab8;">&#123;</span>request_handlers<span style="color: #6bb810;">,</span>
			 <span style="color: #109ab8;">&#91;</span>
			 <span style="color: #6bb810;">...</span>
			 <span style="color: #109ab8;">&#123;</span><span style="color: #109ab8;">&#91;</span><span style="color: #ff7800;">&quot;archive&quot;</span><span style="color: #109ab8;">&#93;</span><span style="color: #6bb810;">,</span> mod_archive_webview<span style="color: #109ab8;">&#125;</span>
			 <span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#125;</span>
			<span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#125;</span>
 <span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#125;</span><span style="color: #6bb810;">.</span>
&nbsp;
<span style="color: #109ab8;">&#123;</span>modules<span style="color: #6bb810;">,</span>
 <span style="color: #109ab8;">&#91;</span>
  <span style="color: #6bb810;">...</span>
  <span style="color: #109ab8;">&#123;</span>mod_archive<span style="color: #6bb810;">,</span>  <span style="color: #109ab8;">&#91;</span><span style="color: #109ab8;">&#123;</span>save_default<span style="color: #6bb810;">,</span> true<span style="color: #109ab8;">&#125;</span><span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#125;</span><span style="color: #6bb810;">,</span>
  <span style="color: #109ab8;">&#123;</span>mod_archive_webview<span style="color: #6bb810;">,</span> <span style="color: #109ab8;">&#91;</span><span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#125;</span>
 <span style="color: #109ab8;">&#93;</span><span style="color: #109ab8;">&#125;</span><span style="color: #6bb810;">.</span></pre></div></div>

<p><br clear="none"></p>
<h3>mod_archive_webview</h3>
<p>Дополнительный модуль для просмотра истории через браузер по адресу <strong>http://server.com:5280/archive/</strong>. Сам новый раздел в админке открывается, но дальше генерирует пустые страницы. Возможно это только у меня.<br />
Так что добавлять этот модуль или нет — решать вам.</p>
<p><br clear="none"></p>
<h3>Клиенты</h3>
<p>Пока что мне известно лишь 2 jabber-клиента с поддержкой серверной истории:</p>
<ul>
<li><a href="http://emess.eqx.su/" target="_blank">EMess</a> (<a href="http://4pda.ru/forum/index.php?showtopic=181938" target="_blank">4PDA</a>) — для Android <small>(ради чего всё это и делалось)</small></li>
<li><a href="http://www.vacuum-im.org/" target="_blank">Vacuum-IM</a></li>
</ul>
<p>Если знаете ещё, просьба написать в комментах!</p>
<p><br clear="none"><br />
Вот таким нехитрым образом можно получить в смартфоне историю переписки с десктопа, даже если вы только что установили клиент первый раз, или, если десктопный клиент это всё не умеет, хотя бы историю отправленную/полученную смартом ранее.</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 17th February 2012 @ 2:15 | <a href="http://blog.shumaher.net.ru/2012/02/17/nastrojka-servernoj-istorii-v-ejabberd2/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2012/02/17/nastrojka-servernoj-istorii-v-ejabberd2/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/ejabberd/" rel="tag">ejabberd</a>, <a href="http://blog.shumaher.net.ru/tag/im/" rel="tag">IM</a>, <a href="http://blog.shumaher.net.ru/tag/jabber/" rel="tag">Jabber</a>, <a href="http://blog.shumaher.net.ru/tag/soft/" rel="tag">soft</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2012/02/17/nastrojka-servernoj-istorii-v-ejabberd2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как монтировать сетевые диски Windows в Android без консоли (часть 2)</title>
		<link>http://blog.shumaher.net.ru/2011/12/31/kak-montirovat-setevye-diski-windows-v-android-bez-konsoli/</link>
		<comments>http://blog.shumaher.net.ru/2011/12/31/kak-montirovat-setevye-diski-windows-v-android-bez-konsoli/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 20:58:05 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[warez]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1310</guid>
		
			<description><![CDATA[<p><span id="more-1310"></span><!--noteaser-->В прошлый раз я написал, <a href="http://blog.shumaher.net.ru/kak-montirovat-setevye-diski-windows-v-android/" title="Как монтировать сетевые диски Windows в Android">как монтировать расшаренные папки Windows в Android-смартфон</a>: о сборке необходимого модуля <strong>cifs.ko</strong> и зависимостей для него. Само монтирование было сделано при помощи стандартной команды <strong>mount</strong>, но каждый раз открывать эмулятор терминала и вводить длинные команды, конечно же, мягко говоря, не очень удобно.<br />
Поэтому сегодня я расскажу о двух приложениях, которые позволят монтировать всего в 1-2 тапа пальцем. На одно из них я уже давал ссылку в предыдущем посте.</p>
<p><br clear="none"></p>
<h3>CifsManager</h3>
<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/12/cifsmanager.png" alt="CifsManager" title="CifsManager" width="320" height="480" class="alignleft size-full wp-image-1311" style="border:none; margin:0 10px 15px 0; float:left" /><a href="https://market.android.com/details?id=ws.plattner.cifsmanager" target="_blank">Android Market</a> | <a href="market://details?id=ws.plattner.cifsmanager" target="_blank">market://</a> | <a href="http://4pda.ru/forum/index.php?showtopic=183336" target="_blank">4PDA</a></p>
<p>Описание есть на форуме 4PDA, поэтому подробно останавливаться на этом приложении я не буду.<br />
Стоит только отметить правильный порядок модулей в опции <strong>Path to cifs.ko</strong> (видно на скриншоте).<br />
А так же при создании шары не забудьте в опциях вбить <strong>iocharset=utf8,file_mode=0777,dir_mode=0777</strong><br />
Прямо из приложения можно открыть установленным файловым менеджером подключенный ресурс, что плюс.<br />
А минус — нет бэкапа опций на SD, потому что их достаточно много. Так что при, например, перепрошивке, всё нужно будет вбивать заново (если не пользоваться прогами для бэкапа).<br />
Но главное — оно работает, и позволяет монтировать в 2 тапа пальцем по экрану: запуск приложения + тап по нужной шаре.<br />
<br clear="all" /></p>
<p><br clear="none" /></p>
<h3>GScript</h3>
<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/12/gscript-1.png" alt="GScript - Edit script" title="GScript - Edit script" class="alignleft size-full wp-image-1316" style="border:none; margin:0 10px 15px 0; float:left" /><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/12/gscript-2.png" alt="GScript - cifs.sh" title="GScript - cifs.sh" width="320" height="480" class="alignleft size-full wp-image-1318" style="border:none; margin:0 10px 15px 0; float:right" /><br clear="all" /><br />
<strong>Lite:</strong> <a href="https://market.android.com/details?id=nl.rogro.GScriptLite" target="_blank">Android Market</a> | <a href="market://details?id=nl.rogro.GScriptLite" target="_blank">market://</a><br />
<strong>Full:</strong> <a href="https://market.android.com/details?id=nl.rogro.GScriptFull" target="_blank">Android Market</a> | <a href="market://details?id=nl.rogro.GScriptFull" target="_blank">market://</a> | <a href="http://4pda.ru/forum/index.php?showtopic=151597" target="_blank">4PDA</a></p>
<p>Это приложение предназначено не именно для монтирования, а для запуска вообще любых скриптов. Также поддерживает создание ярлыков, что и позволяет монтировать шары в один тап.<br />
Имеются функции и сохранения/загрузки скриптов с SD-карты.<br />
Полезные скрипты можно найти в <a href="http://forum.xda-developers.com/showthread.php?t=488928" target="_blank">теме на XDA</a>.</p>
<p>Ну а теперь к монтированию.<br />
Можно было бы, конечно, просто вбить все команды из предыдущего поста: <strong>insmod</strong>, <strong>mount</strong> и <strong>unount</strong>. Но это всё равно долго и нудно (особенно если подключаемых ресурсов несколько), поэтому я для себя решил наговнокодить скрипт, чтобы все нужные команды были в одном обычном sh-файле, который можно будет запускать не только из GScript, но и при необходимости из терминала.</p>
<p><strong>cifs.sh:</strong></p>
<fieldset class="spoiler">
			<legend>
				<input type="button" onclick="tiny_spoiler('старыйвариантскрипта,новыйсмотритенижеfduxmmflob')" id="старыйвариантскрипта,новыйсмотритенижеfduxmmflob_button" value="+" />
				старый вариант скрипта, новый смотрите ниже
			</legend>
			<div id="старыйвариантскрипта,новыйсмотритенижеfduxmmflob"><br />
#!/system/bin/sh</p>
<p>export PATH=/data/data/berserker.android.apps.sshdroid/home/bin:$PATH</p>
<p>case $1 in</p>
<p>	"m")<br />
if mount | grep -Fq 'unc=\192.168.1.1\share,username=USER'<br />
then<br />
	echo "UnMounting //server/share ..."<br />
	umount -f -l /mnt/sdcard/cifs/share<br />
	echo "//server/share unmounted for USER!"<br />
	echo<br />
	echo<br />
	echo<br />
	echo<br />
	echo<br />
	echo<br />
else<br />
	echo "Mounting //server/share ..."<br />
	mount -t cifs -o ro,iocharset=utf8,username=USER,password=PASS,file_mode=0777,dir_mode=0777 //192.168.1.1/share /mnt/sdcard/cifs/share &#038;& \<br />
	echo "//server/share mounted for USER!"<br />
	echo<br />
	echo<br />
	echo<br />
	echo<br />
	echo<br />
	echo<br />
fi<br />
	;;</p>
<p>        "l")<br />
lsmod &#038;& \<br />
echo<br />
echo<br />
echo<br />
echo<br />
echo<br />
echo<br />
        ;;</p>
<p>        "r")<br />
cd /mnt/sdcard/cifs/modules/$(uname -r)/ &#038;& \</p>
<p>modprobe -r nls_utf8 &#038;& \<br />
modprobe -r cifs &#038;& \<br />
modprobe -r slow-work &#038;& \<br />
echo "*.ko unloaded!"<br />
echo<br />
echo<br />
echo<br />
echo<br />
echo<br />
echo<br />
        ;;</p>
<p>	*)<br />
cd /mnt/sdcard/cifs/modules/$(uname -r)/ &#038;& \</p>
<p>modprobe slow-work.ko &#038;& \<br />
modprobe nls_utf8.ko &#038;& \<br />
modprobe cifs.ko &#038;& \<br />
echo "*.ko loaded!"<br />
echo<br />
echo<br />
echo<br />
echo<br />
echo<br />
echo<br />
	;;</p>
<p>esac<br />

			</div>
		</fieldset>
<p><br clear="none"><br />
На первом скриншоте видно, что перед скриптом стоит команда <strong>sh</strong>, что позволяет запускать его с SD-карты в FAT32, где невозможно сделать <strong>chmod +x</strong>.<br />
Зачем при этом у меня такой длинный путь к файлу, я напишу как-нибудь потом...</p>
<p>Теперь пара слов о самом скрипте.<br />
Результат работы показан на втором скриншоте, после того как скрипт отработал окно автоматически закрывается.<br />
Несколько пустых <strong>echo</strong> добавлено чтобы появляющийся поп-ап не закрывал вывод.</p>
<p>При запуске<strong> без параметров</strong> происходит загрузка всех модулей, <strong>l</strong> — список модулей, <strong>r</strong> — выгрузка, <strong>m</strong> — список смонтированных шар (только в <strong>cifs.sh v2.0</strong>).<br />
<s>m</s> <strong>c</strong> — монтирование/размонтирование; если шара смонтирована, происходит размонтирование, и наоборт.</p>
<p><strong>ВАЖНО:</strong><br />
Скрипт использует <strong>grep</strong>, поэтому должен быть установлен <a href="https://market.android.com/details?id=stericson.busybox" target="_blank">BusyBox</a>.<br />
Исправьте переменную <code>PATH</code>, указав правильный путь до grep!<br />
Также (хотя это и не будет влиять на запуск из-под GScript), исправьте/проверьте путь до интерпретатора <strong>sh</strong> в 1 строке.</p>
<p>Добавляя другие аргументы в <code>case</code> (например, <strong>m1</strong>, <strong>m2</strong> и т.д) можно подключать несколько шар, или одну под разными юзерами. Естественно всё ограничивается лишь вашей фантазией.</p>
<p>Это решение мне показалось лучше в первую очередь тем, что скрипт можно легко редактировать, просто открыв в текстовом редакторе при подключении смартфона как USB-диска, или через SSH.<br />
Как-нибудь позже я напишу об организации в Android одной среды как при запуске терминала, так и при подключении по SSH.</p>
<p>А пока что — <em>с наступающим</em>, юзернеймы! Ведь до 2012-го осталось меньше суток <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><br clear="none"></p>
<div class="update-block" id="update">
<div class="update-title">UPD 05.05.2012, 15:12:</div>
<p>Обновил скрипт <strong>cifs.sh</strong> — теперь использование стало более наглядным: для добавления шар достаточно изменить переменные <code>USER</code>, <code>PASS</code>, <code>SERV</code>, <code>SERVNAME</code> и <code>SHARE</code> в строках <strong>44-48</strong>, и добавить новый блок в <code>case</code>. Добавлено монтирование в режиме только-чтение в зависимости от используемого пользователя (строка <strong>18</strong>, опционально).</p>
</div>
<p><br clear="none"></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/system/bin/sh</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#######	cifs.sh v2.0 (05.05.2012) by Shumaher</span>
<span style="color: #666666; font-style: italic;">#######	http://blog.shumaher.net.ru/kak-montirovat-setevye-diski-windows-v-android-bez-konsoli/</span>
<span style="color: #666666; font-style: italic;">################################################################</span>
&nbsp;
<span style="color: #007800;">SCRIPTVER</span>=<span style="color: #ff0000;">'cifs.sh v2.0 (05.05.2012) by Shumaher'</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>berserker.android.apps.sshdroid<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #007800;">$PATH</span>
&nbsp;
func <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
<span style="color: #007800;">DIRBASE</span>=<span style="color: #ff0000;">&quot;/mnt/sdcard/cifs&quot;</span>
<span style="color: #007800;">DIR</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$DIRBASE</span>/<span style="color: #007800;">$SERVNAME</span>/<span style="color: #007800;">$SHARE</span>&quot;</span>
<span style="color: #007800;">SHAREPATH</span>=<span style="color: #ff0000;">&quot;//<span style="color: #007800;">$SERV</span>/<span style="color: #007800;">$SHARE</span>&quot;</span>
<span style="color: #007800;">PATTERN</span>=<span style="color: #ff0000;">&quot;unc=\\\<span style="color: #000099; font-weight: bold;">\$</span>SERV\<span style="color: #000099; font-weight: bold;">\$</span>SHARE,username=<span style="color: #007800;">$USER</span>&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$USER</span> == <span style="color: #ff0000;">&quot;read-only-user&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>	<span style="color: #666666; font-style: italic;"># пользователь для монтирования в read-only</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #007800;">RW</span>=<span style="color: #ff0000;">&quot;ro&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
<span style="color: #007800;">RW</span>=<span style="color: #ff0000;">&quot;rw&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-Fq</span> <span style="color: #660033;">--</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$PATTERN</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;UnMounting <span style="color: #007800;">$SHAREPATH</span> ...&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #660033;">-f</span> <span style="color: #660033;">-l</span> <span style="color: #007800;">$DIR</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SHAREPATH</span> unmounted for <span style="color: #007800;">$USER</span>!&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Mounting <span style="color: #007800;">$SHAREPATH</span> ...&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> cifs <span style="color: #660033;">-o</span> <span style="color: #007800;">$RW</span>,<span style="color: #007800;">iocharset</span>=utf8,<span style="color: #007800;">username</span>=<span style="color: #007800;">$USER</span>,<span style="color: #007800;">password</span>=<span style="color: #007800;">$PASS</span>,<span style="color: #007800;">file_mode</span>=0777,<span style="color: #007800;">dir_mode</span>=0777 <span style="color: #007800;">$SHAREPATH</span> <span style="color: #007800;">$DIR</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SHAREPATH</span> mounted for <span style="color: #007800;">$USER</span>!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$SCRIPTVER</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #007800;">$1</span> <span style="color: #000000; font-weight: bold;">in</span>
&nbsp;
	<span style="color: #ff0000;">&quot;c&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>		<span style="color: #666666; font-style: italic;"># данные для подключения к серверу, блок начиная с этой строки до ;; можно копировать, меняя аргумент &quot;c&quot;</span>
<span style="color: #007800;">USER</span>=<span style="color: #ff0000;">&quot;user&quot;</span>
<span style="color: #007800;">PASS</span>=<span style="color: #ff0000;">&quot;password&quot;</span>
<span style="color: #007800;">SERV</span>=<span style="color: #ff0000;">&quot;192.168.1.1&quot;</span>
<span style="color: #007800;">SERVNAME</span>=<span style="color: #ff0000;">&quot;comp&quot;</span>
<span style="color: #007800;">SHARE</span>=<span style="color: #ff0000;">&quot;share&quot;</span>
func			<span style="color: #666666; font-style: italic;"># func не удалять!</span>
	<span style="color: #000000; font-weight: bold;">;;</span>		<span style="color: #666666; font-style: italic;"># копировать до этой строки включительно</span>
&nbsp;
	<span style="color: #ff0000;">&quot;l&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #c20cb9; font-weight: bold;">lsmod</span>
        <span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
	<span style="color: #ff0000;">&quot;m&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">--</span> <span style="color: #ff0000;">&quot;type cifs&quot;</span>
<span style="color: #000000; font-weight: bold;">then</span> 
<span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">--</span> <span style="color: #ff0000;">&quot;type cifs&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;No mounted shares found!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
	<span style="color: #ff0000;">&quot;r&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>cifs<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -r<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
&nbsp;
insmod <span style="color: #660033;">-r</span> nls_utf8 <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
insmod <span style="color: #660033;">-r</span> cifs <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
insmod <span style="color: #660033;">-r</span> slow-work <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;*.ko unloaded!&quot;</span>
        <span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>cifs<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -r<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
&nbsp;
insmod slow-work.ko <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
insmod cifs.ko <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
insmod nls_utf8.ko <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;*.ko loaded!&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>lib
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> ..<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>cifs<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> \
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Link to /lib created!&quot;</span>
	<span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">esac</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span></pre></td></tr></table></div>

<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 31st December 2011 @ 0:58 | <a href="http://blog.shumaher.net.ru/2011/12/31/kak-montirovat-setevye-diski-windows-v-android-bez-konsoli/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2011/12/31/kak-montirovat-setevye-diski-windows-v-android-bez-konsoli/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/android/" rel="tag">Android</a>, <a href="http://blog.shumaher.net.ru/tag/bash/" rel="tag">bash</a>, <a href="http://blog.shumaher.net.ru/tag/linux/" rel="tag">Linux</a>, <a href="http://blog.shumaher.net.ru/tag/warez/" rel="tag">warez</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2011/12/31/kak-montirovat-setevye-diski-windows-v-android-bez-konsoli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как монтировать сетевые диски Windows в Android</title>
		<link>http://blog.shumaher.net.ru/2011/12/29/kak-montirovat-setevye-diski-windows-v-android/</link>
		<comments>http://blog.shumaher.net.ru/2011/12/29/kak-montirovat-setevye-diski-windows-v-android/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 00:29:29 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1274</guid>
		
			<description><![CDATA[<p>Зачем это нужно, спросят некоторые, ведь есть файловые менеджеры с поддержкой виндовых шар?<br />
Отвечу — чтобы смотреть сериальчики по Wi-Fi без задержек и с быстрой перемоткой, и слушать музыку папками. Пользователи Linux знают, какая это удобная штука — монтирование всех ресурсов в локальную ФС. И естественно на Андройде тоже можно так сделать. Проблема только в том, что нужен модуль ядра <strong>cifs.ko</strong> для конкретной прошивки конкретного смартфона. И если его ещё никто не скомпилировал, придётся сделать это самому.</p>
<p><span id="more-1274"></span>Процесс сборки модулей далее будет описан на примере моего не самого популярного смартфона <strong>HTC Wildfire S</strong>.<br />
Девайс с прошивкой 2.13 имеет ядро <strong>2.6.35.10-ga66971c</strong> (последняя часть номера версии тоже важна, далее станет ясно почему), и не так много свободной внутренней памяти как хотелось бы.</p>
<p>Данный способ не является догмой, и возможно существуют и более правильные и простые решения данного вопроса.<br />
<strong>Всё, что написано далее, вы делаете на свой страх и риск!</strong></p>
<p><br clear="none"></p>
<h3>Что понадобится</h3>
<p>0) Телефон должен быть <strong>root</strong>'ован, хотя бы <em>временно</em>!<br />
<a href="http://4pda.ru/forum/index.php?showtopic=239982&#038;st=680#entry9919289" target="_blank">Способ для HTC</a>. Точно работает для WFS, прежде чем делать на другой модели, читайте соответствующий топик.<br />
Обязательно эмулятор терминала, рекомендую <a href="https://market.android.com/details?id=com.magicandroidapps.bettertermpro" target="_blank">BTEP</a>.</p>
<p>1) <strong>Исходники</strong> "ванильного" ядра с kernel.org, например <a href="http://kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.35/linux-2.6.35.10.tar.gz" target="_blank">2.6.35.10</a><br />
ИЛИ, что естественно более предпочтительно, исходники ядра именно вашей прошивки (если вы знаете, где их взять). Тут я пишу именно про официальное ядро.</p>
<p><br clear="none"><br />
2) Файл <strong>.config</strong> с конфигурацией сборки вашего ядра. Извлекается из смартфона, для HTC так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">zcat</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>config.gz <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>.config</pre></div></div>

<p><br clear="none"><br />
3) <strong>Toolchain</strong>. Таким странным словом называется кросс-компилятор, которым и собирают всякие полезные штуки для процессоров ARM на обычных i386 компах с линуксом.<br />
Есть сайт <a href="http://www.gnuarm.com/" target="_blank">gnuarm.com</a>, откуда можно скачать кучу архивов с исходниками и собрать всё самому по очереди, а также мне попалось несколько архивов с готовыми бинарниками. Загуглить не составляет труда.<br />
Но оказывается (для Ubuntu 10.10 и выше) есть способ лучше — всего лишь</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> build-dep linux <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> g++-<span style="color: #000000;">4.5</span>-arm-linux-gnueabi</pre></div></div>

<p><br clear="none"></p>
<h3>Сборка</h3>
<p>1) Нужно определить несколько <strong>переменных</strong> для корректной работы toolchain'а:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ARCH</span>=<span style="color: #ff0000;">&quot;arm&quot;</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CROSS_COMPILE</span>=<span style="color: #ff0000;">&quot;/usr/bin/arm-linux-gnueabi-&quot;</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">EXTRAVERSION</span>=<span style="color: #ff0000;">&quot;.10-ga66971c&quot;</span> <span style="color: #666666; font-style: italic;"># vermagic ядра, у меня эта переменная не работала</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CFLAGS</span>=<span style="color: #ff0000;">&quot;-march=armv6&quot;</span> <span style="color: #666666; font-style: italic;"># ВАЖНО: архитектура проца, подробнее ниже</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CXXFLAGS</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${CFLAGS}</span>&quot;</span></pre></div></div>

<p><br clear="none"><br />
Опция <code>-march=armv6</code> указана для примера, выбирайте архитектуру своего процессора (узнать можно по <strong>cat /proc/cpuinfo</strong>), ещё есть опция <code>-mtune=</code> для выбора модели процессора, что указывать для своего я не узнал, поэтому пропустил её.<br />
Все варианты смотрите в <strong>arm-linux-gnueabi-gcc --target-help</strong></p>
<p><br clear="none"><br />
2) Сейчас вы должны находиться в директории с уже распакованным ядром, и там же должен быть файл <strong>.config</strong>. Далее все пути будут относительные.<br />
По команде</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> menuconfig</pre></div></div>

<p>запустится конфигуратор сборки ядра. Найдите в меню <code>File systems  ---> Network File Systems</code> и <code>Native language support</code> и кнопкой <strong>M</strong> установите следующие опции:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;M&gt;   CIFS support (advanced network filesystem, SMBFS successor)
&lt;M&gt;   NLS UTF-8</pre></div></div>

<p>Под <code>CIFS support</code> есть группа дополнительных опций, с которыми можно поэкспериментировать, я их включать не стал.<br />
Выбор <code>NLS UTF-8</code> добавляет модуль <strong>nls_utf8.ko</strong>, который необходим для корректного отображения имен файлов с кириллицей на Windows-серверах.</p>
<p>Выйдите кнопкой <strong>Esc</strong> и сохраните <strong>.config</strong><br />
Теперь измените в нём опцию <code>CONFIG_DEBUG_INFO</code> на:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">CONFIG_DEBUG_INFO</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">n</span></pre></div></div>

<p>что позволяет исключить отладочную информацию и очень сократить размер файла.</p>
<p>3) Собственно <strong>сборка модулей</strong> запускается так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">EXTRAVERSION</span>=.10-ga66971c modules</pre></div></div>

<p><br clear="none"><br />
Строка <code>EXTRAVERSION=.10-ga66971c</code> очень важна, только так получается полное соответствие версии ядра и собираемого модуля.<br />
Опция <strong>modprobe -f</strong>, которая позволяет это игнорировать и загрузить модуль принудительно, на андройде не работает.<br />
Не забудьте исправить на свою! Тут указывается не только буквенно-цифровая часть в конце (что и называется <em>vermagic</em>), но и последнее число основного номера.<br />
По идее это можно было бы указать через переменные (см. выше), но у меня заработало только так.</p>
<p>Иначе при загрузке модуля вы получите ошибку</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">insmod: can't insert 'cifs.ko': invalid module format</pre></div></div>

<p><br clear="none"><br />
Если всё собралось успешно, проверить версию можно так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">modinfo .<span style="color: #000000; font-weight: bold;">/</span>fs<span style="color: #000000; font-weight: bold;">/</span>cifs<span style="color: #000000; font-weight: bold;">/</span>cifs.ko
modinfo .<span style="color: #000000; font-weight: bold;">/</span>fs<span style="color: #000000; font-weight: bold;">/</span>nls<span style="color: #000000; font-weight: bold;">/</span>nls_utf8.ko</pre></div></div>

<p><br clear="none"></p>
<h3>Хранение и загрузка модулей</h3>
<p>Куда положить получившиеся модули тоже важно.<br />
Если у вас есть постоянный root с записью в <strong>/system</strong>, то:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">su</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -r<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">*</span>.ko <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -r<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">chown</span> root:root <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -r<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #000000; font-weight: bold;">/*</span>.ko
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">644</span> <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">uname</span> -r<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #000000; font-weight: bold;">/*</span>.ko</pre></div></div>

<p><br clear="none"><br />
Если доступа на запись в <strong>/system</strong> нет, модули можно положить в <strong>/lib/modules/$(uname -r)</strong>, но эта папка <strong>удалится</strong> после перезагрузки телефона!<br />
Только если модули лежат в названных выше местах, работает команда <strong>modprobe</strong>!<br />
Поэтому я предпочитаю хранить сами файлы *.ko на SD в <strong>/mnt/sdcard/cifs/modules/$(uname -r)</strong>, а в <strong>/lib</strong> сделать симлинк.</p>
<p>Теперь можно попробовать загрузить модули (кстати, выгрузить получается только через <strong>modprobe</strong>):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">insmod nls_utf8.ko
insmod cifs.ko</pre></div></div>

<p><br clear="none"><br />
Если ошибок не было, и модуль <strong>cifs.ko</strong> загрузился (проверить можно командой <strong>lsmod</strong>), то переходите к чтению подраздела <strong>"Монтирование"</strong>.</p>
<p>Но, скорее всего произойдет ошибка, и в выводе <strong>dmesg</strong> будет примерно следующее:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">cifs: Unknown symbol slow_work_enqueue</pre></div></div>

<p>то необходимо собрать ещё и модуль <strong>slow-work.ko</strong>.</p>
<p><br clear="none"></p>
<h3>Сборка slow-work.ko</h3>
<p>Как я понял, этот модуль необходим не на всех телефонах, поэтому сначала лучше попытаться без него.</p>
<p>Откройте файл <strong>fs/cifs/Makefile</strong> и добавьте следующее, не забыв оставить пустую строку в конце:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>15
16
</pre></td><td class="code"><pre class="make" style="font-family:monospace;">obj<span style="color: #004400;">-$</span><span style="color: #004400;">&#40;</span><span style="color: #000088;">CONFIG_CIFS</span><span style="color: #004400;">&#41;</span> <span style="color: #004400;">+=</span> cifs<span style="color: #004400;">.</span>o <span style="color: #004400;">../../</span>kernel<span style="color: #004400;">/</span>slow<span style="color: #004400;">-</span>work<span style="color: #004400;">.</span>o
 </pre></td></tr></table></div>

<p><br clear="none"></p>
<p>Можно пересобрать только сifs.ko</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> clean
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">EXTRAVERSION</span>=.10-ga66971c <span style="color: #007800;">M</span>=fs<span style="color: #000000; font-weight: bold;">/</span>cifs</pre></div></div>

<p>Но теперь должен появиться файл <strong>kernel/slow-work.ko</strong>, который надо грузить через insmod/modprobe <strong>ПЕРВЫМ</strong>, до cifs.ko.</p>
<p>Скопировав в телефон эти два модуля и попытавшись загрузить, я столкнулся ещё с одной ошибкой:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">slow_work: Unknown symbol round_jiffies (err 0)</pre></div></div>

<p><br clear="none"><br />
Помогло закомментировать в файле <strong>kernel/slow-work.c</strong> строки содержащие <code>round_jiffies</code>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>669
670
</pre></td><td class="code"><pre class="c" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">/*mod_timer(&amp;slow_work_cull_timer,
		  round_jiffies(jiffies + SLOW_WORK_CULL_TIMEOUT));*/</span></pre></td></tr></table></div>

<p></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>810
811
</pre></td><td class="code"><pre class="c" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">/*mod_timer(&amp;slow_work_oom_timer/
		  round_jiffies(jiffies + SLOW_WORK_OOM_TIMEOUT));*/</span></pre></td></tr></table></div>

<p><br clear="none"><br />
После этого все модули скомпилировались и загрузились в телефоне нормально.<br />
Если у вас возникли другие ошибки, то попробуйте их загуглить.</p>
<p><br clear="none"></p>
<h3>Монтирование</h3>
<p>Само монтирование происходит точно так же, как во всех линуксах, вопрос в том, куда монтировать:<br />
можно в <strong>/mnt/cifs/share</strong>, но лишние директории после перезагрузки девайса могут тоже пропасть (не пробовал), поэтому я монтирую прямо на SD-карту, что, кстати, ещё и облегчает открытие шар файловыми менеджерами.</p>
<p>Монтирование/размонтирование:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> cifs <span style="color: #660033;">-o</span> rw,<span style="color: #007800;">iocharset</span>=utf8,<span style="color: #007800;">username</span>=USER,<span style="color: #007800;">password</span>=PASS,<span style="color: #007800;">file_mode</span>=0777,<span style="color: #007800;">dir_mode</span>=0777 <span style="color: #000000; font-weight: bold;">//</span>192.168.1.1<span style="color: #000000; font-weight: bold;">/</span>share <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>cifs<span style="color: #000000; font-weight: bold;">/</span>share
<span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>sdcard<span style="color: #000000; font-weight: bold;">/</span>cifs<span style="color: #000000; font-weight: bold;">/</span>share <span style="color: #666666; font-style: italic;"># только по точке монтирования, по имени ресурса не работает</span></pre></div></div>

<p><br clear="none"><br />
Естественно существуют и более графические способы, без консоли. Но об этом, а так же о том, как немого упростить процедуру загрузки .ko — <strong>в следующий раз</strong>.</p>
<p><br clear="none"></p>
<h3>Модули для HTC Wildfire S (прошивка 2.13)</h3>
<p>Собственно, результат всех трудов:</p>
<div class="download-block"><a  title='cifs_2.6.35.10-ga66971c_Wildfire_S_by_Shumaher' href='http://blog.shumaher.net.ru/?wpdmact=process&did=MS5ob3RsaW5r' style="background:url('http://blog.shumaher.net.ru/wp-content/plugins/download-manager/icon/download.png') no-repeat;padding:3px 12px 12px 28px;font:bold 10pt verdana;">cifs_2.6.35.10-ga66971c_Wildfire_S_by_Shumaher.tar.gz</a><br><small style='margin-left:30px;'>Downloaded 19 times</small></div>
<p><br clear="none"><br />
Или тоже самое в <a href="http://4pda.ru/forum/index.php?showtopic=183336&#038;view=findpost&#038;p=10547035" target="_blank">теме на 4PDA</a> (необходима регистрация).<br />
Тема посвящена приложению для монтирования шар, есть подробный мануал.</p>
<p>Но почему-то возникают проблемы с записью на шары через ES Проводник, через Root Explorer или терминал все нормально. Помогает <strong>mount -o remount</strong>. Вряд ли это проблемы модуля, т.к. тогда бы не работало во всех приложениях. Надо попробовать ещё раз пересобрать с другими опциями.</p>
<p>А на сегодня всё)</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 29th December 2011 @ 4:29 | <a href="http://blog.shumaher.net.ru/2011/12/29/kak-montirovat-setevye-diski-windows-v-android/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2011/12/29/kak-montirovat-setevye-diski-windows-v-android/#comments">2 Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/android/" rel="tag">Android</a>, <a href="http://blog.shumaher.net.ru/tag/htc/" rel="tag">HTC</a>, <a href="http://blog.shumaher.net.ru/tag/linux/" rel="tag">Linux</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2011/12/29/kak-montirovat-setevye-diski-windows-v-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Опрос: HTC Wildfire S &#8211; прошивка 2.13</title>
		<link>http://blog.shumaher.net.ru/2011/11/25/opros-htc-wildfire-s-proshivka-2-13/</link>
		<comments>http://blog.shumaher.net.ru/2011/11/25/opros-htc-wildfire-s-proshivka-2-13/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 08:28:35 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1262</guid>
		
			<description><![CDATA[<p>Привет <a href="http://blog.shumaher.net.ru/tag/android/" title="тег: Android">Android</a>-юзерам!<br />
А особенно обладателям <a href="http://devdb.ru/htc_wildfire_s" target="_blank">HTC Wildfire S</a>.</p>
<p>Вчера ВНЕЗАПНО <a href="http://4pda.ru/forum/index.php?s=&#038;showtopic=239982&#038;view=findpost&#038;p=9994789" target="_blank">появилась</a> новая прошивка <strong>2.13</strong>, а следить за полезной информацией по поводу прошивок в теме на 4PDA становится всё труднее (в основном из-за тупых повторяющихся вопросов от юзеров, которые не трудятся читать не только шапку, но и вообще весь форум), я решил создать опрос о багах в прошивке <strong>2.13</strong> по сравнению с предыдущими 1.33 и 1.66.</p>
<p>ССЫЛКА: <a href="http://virtualexs.ru/cgi-bin/exsurveys/survey.cgi?ac=6539" target="_blank">http://virtualexs.ru/cgi-bin/exsurveys/survey.cgi?ac=6539</a></p>
<p>РЕЗУЛЬТАТЫ: <a href="http://virtualexs.ru/cgi-bin/exsurveys/research.cgi?mode=qresults&#038;ac=6539" target="_blank">http://virtualexs.ru/cgi-bin/exsurveys/research.cgi?mode=qresults&#038;ac=6539</a></p>
<p>Надеюсь, всех заинтересованных не затруднит пройти, дабы помочь мне принять решение — обновляться или нет. <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Да и ещё кому-нибудь может быть полезно.<br />
Ибо мой телефон пока что без S-OFF и не root'ован, а откатиться назад в случае чего без этого нельзя.<br />
<br clear="none" /><br />
<strong>P.S.</strong> предложения по дополнению/изменению опроса принимаются тут, <a href="http://4pda.ru/forum/index.php?showuser=1653240" target="_blank">через ЛС</a> на 4PDA, или любым другим способом  (через все эти джабберы и т.п.).</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 25th November 2011 @ 12:28 | <a href="http://blog.shumaher.net.ru/2011/11/25/opros-htc-wildfire-s-proshivka-2-13/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2011/11/25/opros-htc-wildfire-s-proshivka-2-13/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/android/" rel="tag">Android</a>, <a href="http://blog.shumaher.net.ru/tag/htc/" rel="tag">HTC</a>, <a href="http://blog.shumaher.net.ru/tag/links/" rel="tag">Links</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2011/11/25/opros-htc-wildfire-s-proshivka-2-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сражайся с роботом на Google</title>
		<link>http://blog.shumaher.net.ru/2011/11/23/srazhajsja-s-robotom-na-google/</link>
		<comments>http://blog.shumaher.net.ru/2011/11/23/srazhajsja-s-robotom-na-google/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 10:49:42 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[warez]]></category>
		<category><![CDATA[игры]]></category>
		<category><![CDATA[литература]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1244</guid>
		
			<description><![CDATA[<p>Сегодня на главной странице <em>корпорации добра</em> появился такой логотип:</p>
<p style="text-align:center"><a href="https://www.google.com/" target="_blank" title="Google Doodle: Лем"><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/11/google-lem.png" alt="Google Doodle: Лем" width="553" height="707" class="aligncenter size-full wp-image-1246" style="border:none; margin:0 auto 0; float:none" /></a></p>
<p><br clear="all" /><br />
На этот раз <a href="http://ru.wikipedia.org/wiki/Google#Google_Doodle" target="_blank">doodle</a> посвящён 60-тилетию со дня выхода 1 книги <a href="https://www.google.com/search?q=Станислав+Лем" target="_blank">Станислава Лема</a> "Астронавты" (1951).</p>
<p>И, что бывает не так часто, дудл является интерактивным — нужно решить несколько несложных головоломок, например, победить робота.<br />
Полный список этих лого можно посмотреть на странице <a href="https://www.google.com/logos/" target="_blank">Google Doodles</a>.</p>
<p>К своему стыду, ни разу не читал Лема, так как можно сказать перешёл на аудиокниги, предпочитаю слушать. <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Особенно рекомендую "Магелланово облако" и "Непобедимый".<br />
Скачать несколько аудиокниг через DC можно, например, <a href="http://dcp.sovserv.ru/ebook/42504/2009/07/04/lem/" target="_blank">отсюда</a>, или из любого другого места в интернетах.</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 23rd November 2011 @ 14:49 | <a href="http://blog.shumaher.net.ru/2011/11/23/srazhajsja-s-robotom-na-google/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2011/11/23/srazhajsja-s-robotom-na-google/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/google/" rel="tag">Google</a>, <a href="http://blog.shumaher.net.ru/tag/links/" rel="tag">Links</a>, <a href="http://blog.shumaher.net.ru/tag/warez/" rel="tag">warez</a>, <a href="http://blog.shumaher.net.ru/tag/igry/" rel="tag">игры</a>, <a href="http://blog.shumaher.net.ru/tag/literatura/" rel="tag">литература</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2011/11/23/srazhajsja-s-robotom-na-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Angry Birds наступают</title>
		<link>http://blog.shumaher.net.ru/2011/11/08/angry-birds-nastupajut/</link>
		<comments>http://blog.shumaher.net.ru/2011/11/08/angry-birds-nastupajut/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 18:54:38 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[игры]]></category>
		<category><![CDATA[спёртое]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1223</guid>
		
			<description><![CDATA[<p>...чтобы разрушить ваш блог!</p>
<p>Разработчики из Nokia [вместо того чтобы делать новые девайсы] создали bookmarklet, запустив который, каждый желающий может пострелять птичками в мерзких зеленых свиней прямо на страницах любого сайта.</p>
<p>Bookmarklet находится на <a href="http://www.nokia.com.ar/productos/promociones/potencia-tu-experiencia" target="_blank">этой странице</a>.<br />
Просто перетащите большую кнопку с птицей на панель закладок, и, находясь например на своем блоге, нажмите на получившеюся закладку.</p>
<p>Результат будет примерно таким:</p>
<p style="text-align:center"><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/11/angry-birds.png" alt="Angry Birds" title="Angry Birds" width="696" height="618" class="aligncenter size-full wp-image-1203" style="border:none; margin:0 auto 0; float:none" /></p>
<p><br clear="none" /><br />
По сравнению с обычной версией целиться надо не в самих свиней, а в элементы страницы (абзацы текста, картинки и т.п.), которые уже должны упасть на хрюшек. Запускать можно только обычных красных птиц, которые ничего не умеют <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
Это несколько сложнее.</p>
<p>Рядом с птичками есть аналогичный букмарклет игры <strong>Fruit Ninja</strong>. Тоже довольно забавно.</p>
<p>Ну а если вы хотите ещё больше <strong>Angry Birds</strong> — добро пожаловать под кат.</p>
<p><span id="more-1223"></span><br />
Потому что поиграть можно также и в <a href="https://plus.google.com/games/971508122032" target="_blank">играх Google+</a>:</p>
<p style="text-align:center"><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/11/angry-birds-2.png" alt="Angry Birds в Google+" title="Angry Birds в Google+" width="620" height="489" class="aligncenter size-full wp-image-1231" style="border:none; margin:0 auto 0; float:none" /></p>
<p><br clear="none" /><br />
Необходима последняя версия Firefox или Google Chrome.<br />
Можно соревноваться со своими закругленными друзьями и даже запускать птичек вместе.</p>
<p>Версия от Nokia найдена на Lifehacker'е.<br />
Удачной охоты! <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 8th November 2011 @ 22:54 | <a href="http://blog.shumaher.net.ru/2011/11/08/angry-birds-nastupajut/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2011/11/08/angry-birds-nastupajut/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/google/" rel="tag">Google</a>, <a href="http://blog.shumaher.net.ru/tag/igry/" rel="tag">игры</a>, <a href="http://blog.shumaher.net.ru/tag/spertoe/" rel="tag">спёртое</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2011/11/08/angry-birds-nastupajut/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как настроить доступ к UltraVNC без пароля</title>
		<link>http://blog.shumaher.net.ru/2011/10/29/kak-nastroit-dostup-k-ultravnc-bez-parolja/</link>
		<comments>http://blog.shumaher.net.ru/2011/10/29/kak-nastroit-dostup-k-ultravnc-bez-parolja/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 16:27:19 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[soft]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1211</guid>
		
			<description><![CDATA[<p><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/10/uvnc.png" alt="UltraVNC" title="UltraVNC" width="150" height="50" class="alignleft size-full wp-image-1213" style="border:none; margin:0 7px 15px 0; float:left" />Через пару дней вроде как отмечается <a href="http://ru.wikipedia.org/wiki/Хэллоуин" target="_blank">Хэллоуин</a>, поэтому заранее поздравляю всех, кто празднует <s>эту хрень</s>. <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Но, само собой, дальше будет не об этом)</p>
<p>В связи с покупкой Android-девайса <a href="http://market.yandex.ru/model.xml?modelid=7023082" target="_blank">HTC Wildfire S</a> и из-за отсутствия клиентов Radmin'а под него, пришлось поменять проработавший несколько лет сервер для удалённого управления на <a href="http://www.uvnc.com/" target="_blank">UltraVNC</a>.</p>
<h3>Некоторые преимущества UltraVNC (по сравнению с Radmin):</h3>
<ul>
<li>Клиенты под все платформы и ОС (о клиенте под Android ниже)</li>
<li>Шифрование подключения</li>
<li>При подключении к Win7 Aero не отключается и мигания экрана не происходит</li>
<li>Специальных кнопок для передачи буфера обмена с/на удалённый экран нет</li>
<li>Установка не нужна (при необходимости можно поставить только службу)</li>
<li>Установка специального видеодрайвера не обязательна</li>
<li>Возможность отключить клиента с сервера</li>
<li>И т.д.</li>
</ul>
<p>И хотя в андройде есть возможность сохранять пароль подключения, для соединения с другого компьютера в один клик решил настроить вход на сервер без пароля.<br />
Но сожалению, конфигуратор сервера имеет странный баг, и сделать очевидным способом нельзя.</p>
<p><strong>ВНИМАНИЕ!<br />
Нижеописанные действия могут вызвать (и вызовут) угрозу безопасности, если компьютер доступен из интернета напрямую.<br />
Вы всё делаете на свой страх и риск, и <em>бла-бла-бла... <img src='http://blog.shumaher.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></strong></p>
<p><span id="more-1211"></span>Нужно дописать в <strong>ultravnc.ini</strong> следующее:</p>

<div class="wp_syntax"><div class="code"><pre class="properties" style="font-family:monospace;"><span style="">&#91;</span>ultravnc<span style="">&#93;</span>
<span style="color: #000080; font-weight:bold;">passwd</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">NULL</span>
<span style="color: #000080; font-weight:bold;">passwd2</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">NULL</span>
<span style="color: #000080; font-weight:bold;">AuthRequired</span><span style="color: #000000;">=</span><span style="color: #008000; font-weight:bold;">0</span></pre></div></div>

<p><br clear="none" /></p>
<h3>Клиент под Android</h3>
<p><a href="https://market.android.com/details?id=com.realvnc.viewer.android" target="_blank">VNC Viewer</a> от RealVNC.</p>
<p><br clear="none" /></p>
<h3>Проблемы</h3>
<p>Замечены проблемы при вводе текста на русском (с андройда). Но возможно это объясняется тем, что у меня прошивка с отдельной русификацией клавиатуры, а не официальная русская. Проверить это пока не могу.</p>
<p>Также один недостаток UltraVNC-сервера всё же нашелся (как всегда): при выходе или переключении юзеров происходит кратковременный дисконнект — сервер отключается не навсегда, потом можно подключиться снова. Естественно речь идёт только при условии запуска в качестве системной службы.<br />
Хотя, как пишут <a href="http://forum.ultravnc.info/viewtopic.php?t=17869" target="_blank">тут</a>, это происходит из-за особенностей самой Windows 7. Но при использовании Radmin'а отключения не бывает, экран только зависает на пару секунд.<br />
Если удалённая ОС WinXP — всё нормально.</p>
<p><br clear="none" /><br />
Гибкость настроек и широкий выбор VNC-клиентов даже несмотря на эту небольшую проблему делают UltraVNC идеальным выбором для удалённого управления компьютером под Windows и не только — в мире Linux VNC уже давно является чуть ли ни стандартом.</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 29th October 2011 @ 20:27 | <a href="http://blog.shumaher.net.ru/2011/10/29/kak-nastroit-dostup-k-ultravnc-bez-parolja/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2011/10/29/kak-nastroit-dostup-k-ultravnc-bez-parolja/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/android/" rel="tag">Android</a>, <a href="http://blog.shumaher.net.ru/tag/soft/" rel="tag">soft</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2011/10/29/kak-nastroit-dostup-k-ultravnc-bez-parolja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Фильтрация offline-сообщений в Яндекс.Почте</title>
		<link>http://blog.shumaher.net.ru/2011/09/30/filtracija-offline-soobschenij-v-yandex-pochte/</link>
		<comments>http://blog.shumaher.net.ru/2011/09/30/filtracija-offline-soobschenij-v-yandex-pochte/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 19:47:49 +0000</pubDate>
		<dc:creator>Shumaher</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[Яндекс]]></category>

		<guid isPermaLink="false">http://blog.shumaher.net.ru/?p=1199</guid>
		
			<description><![CDATA[<p>При поступлении offline-сообщений в jabber от Яндекса, они оказываются в почте вот таким вот образом:</p>
<p style="text-align:center"><img src="http://blog.shumaher.net.ru/wp-content/uploads/2011/09/yandex-mail.png" alt="Яндекс.Почта" title="Яндекс.Почта" width="523" height="247" class="aligncenter size-full wp-image-1203"  style="border:none; margin:0 auto 0; float:none" /></p>
<p><br clear="none" /><br />
В Gmail аналогичные письма попадают в специальную папку Чаты, а в Я.Почте они сыпятся сразу во Входящие, и более того загружаются через POP3. И лично мне не нравится в основном это.<br />
Очень странно, что в настройках нет опции, вообще отключающей приход таких писем.<br />
К счастью через фильтры можно очень легко от них избавиться.</p>
<p><span id="more-1199"></span><br />
Конечно, можно фильтровать просто по теме письма, но если Яндекс решит поменять эту тему, то придёться обновлять и правило. Есть способ лучше.<br />
Что выгодно отличает почту Яндекса от почты Гугла — это возможность включать в фильтры <em>любой заголовок</em> письма. Действительно любой. Потому что кроме общеизвестных <strong>From</strong>, <strong>To</strong>, <strong>Subject</strong> в письмах содержится <a href="http://mail.google.com/support/bin/answer.py?answer=29436&#038;hl=en" target="_blank">куча других</a>. <small>(справка специально дана на английском языке, на русский почему-то был переведён и код примеров, что неверно)</small><br />
И, несмотря на посты в блогах, в Gmail это сделать нельзя.</p>
<p>Так что для того чтобы избавиться от писем с jabber-сообщениями, достаточно создать такой <a href="http://mail.yandex.ru/#setup/filters" target="_blank">фильтр</a>:<br />
<code><br />
Если заголовок «<strong>Received</strong>» содержит «<strong>online.yandex.net</strong>»<br />
— переместить письмо в папку «Jabber»<br />
</code><br />
<small>(кавычки в правилах писать не надо)</small></p>
<p>В качестве действия я указал перемещение в папку, потому что ещё можно отключить загрузку писем по POP3 из любых папок в настройках <a href="http://mail.yandex.ru/#setup/client" target="_blank">почтовых программ</a>.</p>
<p>Таким нехитрым образом можно полностью избавиться от этой особенности jabber'a от Яндекса, при этом пропущенные сообщения не пропадают навсегда, а по-прежнему доступны.</p>
<hr />
<p><small>© <strong>Shumaher</strong> for <a href="http://blog.shumaher.net.ru">Shumaher’s_Blog</a>, 30th September 2011 @ 23:47 | <a href="http://blog.shumaher.net.ru/2011/09/30/filtracija-offline-soobschenij-v-yandex-pochte/">Permalink</a> | <a href="http://blog.shumaher.net.ru/2011/09/30/filtracija-offline-soobschenij-v-yandex-pochte/#comments">No Comments</a>
<br />
Post tags: <a href="http://blog.shumaher.net.ru/tag/im/" rel="tag">IM</a>, <a href="http://blog.shumaher.net.ru/tag/jabber/" rel="tag">Jabber</a>, <a href="http://blog.shumaher.net.ru/tag/yandex/" rel="tag">Яндекс</a>
</small></p>]]></description>
			<wfw:commentRss>http://blog.shumaher.net.ru/2011/09/30/filtracija-offline-soobschenij-v-yandex-pochte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

