книги хакеры / журнал хакер / 135_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
HITB'09 — МОНИТОРОВ НЕ МОЖЕТ |
|
КАЖДЫЙ ГОД НА DEFCON ПОСЕТИ- |
БЫТЬ МНОГО! |
|
ТЕЛЯМ, ПРЕССЕ, СПИКЕРАМ И Т.Д. |
|
|
ВЫДАЮТ КРАЙНЕ ЗАБАВНЫЕ БЕЙДЖИ. |
|
||
|
|
HUMAN — ЭТО ПРОСТОЙ ПОСЕТИТЕЛЬ. |
|
|
ПОЧТИ «РАЙОН ¹9» ПОЛУЧАЕТСЯ. |
|
|
|
Hacker Quarterly», аэтосамопосебеявляется своеобразнымзнакомкачества.
HOPE проводитсянеежегодно— сначалахакерыустраивалисебемноготысячныепраздники развтригода, носнаступлениеммиллениума немногоуплотнилиграфикитеперьпроводятконференциюразвдвагода. Интересно, чтокаждыйразконфаноситразныеимена: HOPE: Hackers On Planet Earth, Beyond HOPE, H2K, H2K2, The Fifth HOPE, HOPE Number
Six, инаконецв2008 годусобраниеполучило немногопугающееназваниеThe Last HOPE. Однакопоследней«Надежда’08» нестала— мероприятиегода2010-гогордоименуетсяThe Next HOPE, навеваясмутныеассоциациисо «Звезднымивойнами».
Впрошлыегодыконференциязапомнилась выступлениямиидокладамитакихмонстров какСтивенВозняк, КевинМитник, Ричард Столлмани, сюрприз-сюрприз— АдамСэвейдж(«Разрушителимифов»). Необходилось такжеибезпоявленийчуваковизизвестней-
шиххак-групп, вродеCult of the Dead Cow.
Однако, чтоготовитнамгодгрядущий, остается толькогадать— конференциядосихпорнаходитсявстадииразработки, иееофициальный сайтперманентноваляется. Будемнадеяться, чтоэти«техническиенеполадки» непомешаютивентупройтиповысшемуклассу, какэто всегдаибывало.
ASSEMBLY
КОГДА: ДАТА ЕЩЕ НЕ ОПРЕДЕЛЕНА ГДЕ: Хельсинки (предположительно), Финляндия
ÑÀÉÒ: www.assembly.org
Вотмыидобралисьдопервойдемопатив нашемкалендаре. Assembly одноизстарейших демо-мероприятийнанашемголубомшарике
— егоисторияначаласьажв1992 году. Кроме того, Assembly являетсяещеикрупнейшей(са-
моймногочисленной) демо-тусовкой— годот годаэтособытьепривлекаетболее5000 человек. Проходиткультовыйслетдемомейкеровв Финляндии, чтотоженемаловажнодлянашего российскогобратавФинляндиюдобратьсяне впримерпрощеидешевле, чемвтежеШтаты, илидажевЕвропу.
В 2007 году Assembly разделили на две части: сначала проводится Assembly Winter, которая, как не трудно догадаться, имеет место зимой (обычно в январе-феврале); а за ней следует Assembly Summer — Капитан Очевидность подсказывает, что эта часть проходит летом. Основной и главной по-пре- жнему остается летняя часть, так как зимняя имеет скорее геймерскую направленность. «Игровая» Assemly Winter’10, как ты пони-
маешь, уже позади, но с объявлением даты летней, основной части демопати организаторы отчего-то затягивают. Asembly Summer бесспорно состоится, но никакой конкретики нам пока не сообщать не хотят. В ответ на это можно лишь развести руками, и посоветовать всем, кто интересуется демосценой, почаще заглядывать на официальный сайт мероприятия.
DEFCON
КОГДА: 30 ИЮЛЯ — 1 АВГУСТА ГДЕ: Лас-Вегас, США
ÑÀÉÒ: www.defcon.org
Ещеоднаконференция-гигант, настоящий мастодонтIT-сцены. DEFCON официально считаетсясамымкрупнымхакерскиммероприятиемвСША, шуткали— нанегоежегодно съезжаетсяпочтидесятьтысяччеловек. Ко всемупрочему, этаконфаещеиоднаизсамых старых— «Дефкону» вэтомгодуисполнится18 лет, ионстанетсовершеннолетним:).
НаDEFCON ежегоднопроисходитстолько всегоинтересного, чтообъятьвсеэтоудается
БАННЕР КОНФЕРЕНЦИИ HACKERS ON PLANET EARTH.
струдом, илишнеетомудоказательство— погонныегигабайтыфотографий, видео, и текста, появляющиесявсетипослекаждой конференции. DEFCON 18 обещаетпройти влучшихтрадициях: вниманиюпублики
предложатмногочисленныеигрыиконкурсы, которыхужесейчасзаявленоболее15 — будет все, от«захватафлага», доконкурсацифровогоартаихакерской«Своейигры»; любопытнейшиевыступленияпрофессионаловмираIT
иизвестнейшихпредставителейандеграунда
—ксожалению, спискиспикеровещенебыли обнародованы, номожноневолноватьсяна этотсчет— скучнонебудет, ведьэтоDEFCON!; лекций, докладов, семинаровитренингов такжехватитнавсех, итемы, каквсегда, будут поднятысамыеразные— отнаписания, детектированияиобезвреживаниявсевозможногомалваря, доразвитияp2p технологий. Многочисленныеподробности, атакжевсе паролииявкиможноузнатьнаофициальном сайтеивента.
CHAOS CONSTRUCTIONS
КОГДА: ДАТА НЕ ОПРЕДЕЛЕНА ГДЕ: Санкт-Петербург (предположительно), Россия
ÑÀÉÒ: cc.org.ru
Chaos Constructions, илипростоCC, это нашароссийскаядемопати, практическине имеющаяаналоговвстраненипоколичеству
посетителей, ниповозрасту— CC существуетс
1995 года.
Ежегодновконцеавгуставкультурнойстолице, тоесть, вСанкт-Петербурге, собирается несколькотысяччеловек, чтобыпоказать себя, посмотретьнадругих, атакжепоучаствоватьвконкурсахипростохорошопровестивремя. ТаккаквпоследниегодыChaos Constructions отошелотформатадемопати
иразвилсядополноценногоиразностороннегокомпьютерногофестиваля, померяться силаминанемможноивхакерскихконкурсах
ифотографии, икибер-городках, ивомногих других«дисциплинах» — выборимеетсяна любойвкус. Такжеможноинужнопосетить обширнуювыставкустарогои\илинеобычногожелеза, оценитьстараниядемомейкеров, послушатьдоклады, спектркоторыхтоже оченьширок, ипознакомитьсясинтересными людьми. Chaos Constructions, ковсемупро-
чему, мероприятиеужепочтилегендарное, с уникальной, оченьуютнойидружественной атмосферой.
ТочнаядатапроведенияCC’10 поканеназвана, но, вероятнеевсего, демопатиостанетсяверна себе, азначит— состоитсявконцеавгуста. z
XÀÊÅÐ 04 /135/ 10 |
079 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
|
|
|
UNIXOID |
|
|||
|
|
|
|
|
|
|
|
|
Максим «hatchet» Полевой maks.hatchet@yandex.ru |
||||||
|
|
|
|
|
|
|
|
m |
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|
||||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
Òèøåедешь крепченервы
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Снижаемпрограммнымисредствамишум, издаваемыйкомпьютером
Когдаречьзаходитосниженииуровняшума, издаваемогокомпом, люди обычноначинаютрассказыватьонизкооборотныхкулерах, жесткихдискахнасалазках, водныхсистемахохлажденияипрочихвещах, далеких отмирасофта. Носегоднямыпоговоримошумекакопроблемепрограммногохарактера, какиенастройкииспомощьюкакихутилитможнопро-
КУЛЕРЫ
Корпуссовременногокомпьютераможетнасчитыватьотодногодопяти(илидажевосьми) вентиляторов, всезависитотфантазиииприхотейеговладельца. Обычнотолькотриизних подключаютсякматеринскойплате, благодаря чемупоследняяполучаетвозможностьконтролироватьскоростьихвращения. Всеостальные же«цепляются» напрямуюкблокупитания, поэтомувсегдаработаютнаполнойскорости (если, конечно, неимеютаналоговыхрегулятороввращениянакорпусе). Соответственно, для получениябесшумногокомпанамнеобходимо:
•Избавитькорпусотмногочисленныхвентиляторов. Поверь, есливтвоемкомпенеустановлено4 жесткихдискаи2 видеокарты, смыславних простонет, авбольшинствестандартныхсистем хватитикулеровнапроцессореиблокепитания.
•Снизитьпроизводительностьпроцессора, что приведеткснижениювнутреннейтемпературы корпусаискоростивращенияегоохлаждающих вентиляторов(вентиляторапроцессора).
• Самостоятельноснизитьчислооборотов вентиляторовирискнутьжизньюпроцессораи другихкомпонентовкомпа.
Сотверткойтыужедолженбытьзнаком, поэтому первыйпунктмыпропустимиостановимсяна последнихдвухподробнее.
Традиционно для управления частотой процессора в Linux применялись файлы каталогов /proc и /sys. Записав определенное значение в один из них, можно было перевести процессор в энергосберегающий режим, в результате чего материнская плата сама понижала количество оборотов кулера. Этот подход работает и сейчас, например:
$ cat /sys/devices/system/cpu/cpu0/ cpufreq/scaling_governor
Спомощьютакойкомандыможноузнатьо текущемрегулятореэнергосбережения, ас помощьюследующей— изменитьего:
# echo conservative > /sys/devices/ system/cpu/cpu0/cpufreq/scaling_ governor
Всего каталог cpufreq насчитывает 11 файлов, изменяя содержимое которых, ты сможешь очень гибко управлять частотой процессора. Их перечень и описания приведены в следующей таблице:
$ ls -1 /sys/devices/system/cpu/ cpu0/cpufreq
affected_cpus — список процессоров, частота которых будет изменена cpuinfo_cur_freq — текущая частота процессора в кГц
cpuinfo_max_freq — максимально возможная частота процессора cpuinfo_min_freq — минимально возможная частота процессора scaling_available_frequencies — список допустимых частот процессора
080 |
XÀÊÅÐ 04 /135/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Командаcpufreq-info покажеттекущиенастройкипроизводительности процессора
scaling_available_governors — список допустимых регуляторов scaling_driver — используемый драйвер управления частотой scaling_governor — используемый регулятор
scaling_max_freq — максимальная частота процессора, допустимая для установки регулятором
scaling_min_freq — минимальная частота процессора, допустимая для установки регулятором scaling_setspeed — предназначен для изменения частоты процессора
Естьдваключевыхмомента, относящихся
кизменениютактовойчастотыпроцессора
вLinux, которыеследуетзапомнитьрази навсегда:
1.Технологииуправлениячастотамииэнергосбережениемулучшаютсясвыходомкаждой новоймоделипроцессора, независимоотего марки. Поэтомупочтикаждаямодельпроцессораимеетсобственныйдрайвер, который необходимозагрузитьвпамятьдлятого, чтобы получитьвозможностьизменятьфайлыкаталогаcpufreq. Вотсписокнаиболееиспользуемых модулей:
• acpi-cpufreq — изменениесостоянияпроцес-
сорасредствамиACPI (P-States Driver)
• p4-clockmod — Pentium 4
• speedstep-centrino — Pentium M
• speedstep-ich — Pentium III-M, P4-M, ICH2/ ICH3/ICH4
• speedstep-smi — Pentium III-M, 440 BX/ZX/MX
• powernow-k6 — AMD K6
• powernow-k7 — AMD Athlon
• powernow-k8 — AMD Opteron, Athlon 64, Athlon64X2, Turion 64
• cpufreq-nforce2 — изменениечастотысредствамичипсетаnVidia nForce2 (изменениеFSB независимоотчастотыPCI/AGP)
Вомногихдистрибутивахвсеэтимодуливстроенывядро, поэтомуподбиратьподходящего кандидатавручнуюнепридется.
2.Дляавтоматическогоуправлениячастотой используютсярегуляторы— программные алгоритмы, которыеизменяютпроизводитель- ностьпроцессоравзависимостиоткаких-либо условий. ПоследниеядраLinux предоставляют пятьразличныхрегуляторовнавсеслучаи жизни:
1.performance — регулятор, используемыйпо умолчанию, заставляетработатьпроцессорс максимальнойскоростью.
2.ondemand — изменяеттактовуючастотупроцессоравзависимостиотнагрузкинасистему.
3.conservative — аналогondemand, отли-
чающийсяплавнымизменениемчастоты процессора(актуальнодляноутбуков, таккак позволяетсберечьресурсыбатареи).
4.powersave — всегдавыставляетминимальнуючастоту.
5.userspace — неделаетничего, позволяя пользователюсамостоятельновыставить частоту.
В некоторых дистрибутивах регуляторы могут быть вынесены в отдельные модули, поэтому перед использованием их придется загрузить в память с помощью команды вроде:
# modprobe cpufreq_ondemand
Далеерегуляторможноактивироватьпутем записиегоименивфайлscaling_governor:
#echo ondemand > /sys/devices/ system/cpu/cpu0/cpufreq/scaling_ governor
Внашемслучаеполезнымимогутоказаться всечетырепоследнихрегулятора. Алгоритм ondemand подойдеттогда, когдатребуется тольковременноеснижениешумавентилятора, напримерночью, когдакачаются торренты, ипроцессорпростаивает. Последниедваалгоритмабудутполезнывсем, кто хочетпостояннойтишины. Причем, вслучае активированиярегулятораuserspace, частоту придетсясамостоятельнозаписатьвфайл scaling_setspeed:
#echo 1000 > /sys/devices/system/ cpu/cpu0/cpufreq/scaling_setspeed
Значениеследуетбратьизфайлаscaling_ available_frequencies.Чтобынеубиватьклави-
атуру, набираядлинныепутикуправляющим файлампослекаждойперезагрузки, советуюустановитьпакетcpufrequtils, доступныйвлюбом дистрибутиве. ВтомчислевDebian/Ubuntu:
$ sudo apt-get install cpufrequtils
Послеустановкизапустикомандуcpufreq-info, котораявыведетвсюинформациюотекущих настройках: драйвер, регуляторы, диапазон частотит.д. Дляизменениярегулятораиспользуйследующуюкоманду:
$ sudo cpufreq-set -g powersave
Частотаменяетсяспомощьюфлага'-f':
$ sudo cpufreq-set -f 1.22 GHz
Дляизмененияустанавливаемогововремя инициализациисистемырегулятораукажи егоимявстрокеGOVERNOR файла/etc/init.d/ cpufrequtils (поумолчаниюиспользуется ondemand). Всеэтидействиядолжныпривести кснижениютактовойчастотыпроцессораи уменьшениюуровняшума, издаваемогоего вентилятором. Однаковнекоторыхслучаяхэто несработает, ипридетсяиспользоватьспециальныепрограммыдляуправленияскоростью вращениякулера. Однаизтакихпрограмм носитимяfancontrol ираспространяется вместеспакетомlm-sensors. Длятогочтобы начатьееиспользовать, нужноустановить lm-sensors, используяменеджерпакетов, и запуститьстандартнуюутилитуконфигуриро- ванияsensors-detect. Навопросыможносмело отвечатьнажатием<Enter>. Дойдядовопроса
«Do you want to add these lines automatically?»,
напишиyes, скопируйприведенныеввопросе именамодулейискормиихкомандеmodprobe. Вмоемслучаекомандаполучиласьтакой:
$ sudo modprobe i2c-nforce2 asb100 w83l785ts
Чтобыпроверитьработоспособностьсенсоров, выполникомандуsensors. Наэкранеты долженувидетьмассуинформации, снятойс
самыхразныхдатчиков. Обративниманиена строки«CPU Fan» и«CPU Temp», внихуказана текущаяскоростьвращениякулераитемпературапроцессора. Навернякаскоростькулера будеточеньвысокой(свыше4000 оборотов), атемпературапроцессора— оченьнизкой (намногониже60 градусов). Всеэтоуказывает нанерациональноеиспользованиевентилятора. Чтобыисправитьситуацию, следует задействоватьдемонfancontrol, который будетрегулироватьподаваемоенавентилятор напряжение, изменяяеговзависимостиоттекущейтемпературыпроцессора. Демонтребует специфичныхдляданноймашинынастроек, поэтомупередегозапускоммывоспользуемся скриптомpwmconfig, которыйсгенерирует рабочуюконфигурацию.
Запустиpwmconfig инажимайклавишу<Enter> вответналюбыевопросы. Когдаконфигурированиебудетзавершено, инаэкранепоявится строка«Select fan output to configure, or other action:», введивответцифру«1» иследуй дальнейшиминструкциям. Наиболееважный
— первыйвопрос, скриптпотребуетвыбрать температурныйдатчик, которыйбудетвлиять
XÀÊÅÐ 04 /135/ 10 |
081 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
UNIXOID
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Утилитаhdparm: всяинформацияодискеизпервыхрук
наскоростькулера. Личнояполучилпятьразличныхвариантов, никакнеидентифицируемых крометекущегозначения, благодарякоторому иудалосьопределитьправильныйвариант. Он оказалсявторым, скореевсего, втвоемслучае будеттакже. Далеескриптпопроситвыбрать диапазонытемпературискоростей, отвечай <Enter>, дефолтовыезначенияболеечем разумны.
Послеокончаниядопросаpwmconfig создаст конфигурационныйфайл, иты, наконец, сможешьзапуститьдемонfancontrol:
$ sudo /etc/init.d/fancontrol start
Стоитотметить, чтоfancontrol подойдетдалеко нековсеммашинам(восновномэтокасается различныхноутбуковинетбуков), поэтому придетсяпоискатьспециальнуюпрограммудля своегоустройства. Например, дляуправления кулераминанетбукеAcer Aspire One может бытьиспользованаутилитаacerhdf (www.piie. net/?section=acerhdf). Утилитадляноутбука Sony Vaio называетсяFan Silencer (www.taimila. com/fansilencer.php). Погуглив, тынаверняка сможешьнайтиподобныеутилитыидлясвоего лаптопа.
ВИДЕОАДАПТЕР
Итак, скулерамивнутрикорпусавродеразобрались, теперьнадочто-тосделатьсвентилятором навидеокарте, которыйиногдаоказывается дажеболеешумным, чемвсеостальные. На самомделездесьвсенамногопроще: хороший видеоадаптерсамизменяетскоростьвращения своегокулера, основываясьнапоказаниях температурногодатчикавидеочипа, который нагреваетсятолькововремяактивнойработы (тоестьигрилииспользования3D-редактора). Большуюжечастьвременивидеочиппростаивает, иегоохлаждающийвентилятордолжен работатьнапониженныхоборотах. Еслижеэтого непроисходит— пораобращатьсякспециальнымутилитам. ЕслиутебявидеокартаотnVidia, тодляуправленияейизLinux можновоспользоватьсязамечательнойутилитойnvclock (www. linuxhardware.org/nvclock). Онапозволяетне толькоизменятьрабочиечастотывидеочипа ипамяти, ноипроизводитьмножестводругих
действий, включаярегулированиескорости вращениявентилятора.
Дляначалазапустиутилитусфлагом'-i' и посмотринавыводвсекции«-- Sensor info --»,
тамтыдолженувидетьтекущуютемпературу графическогоядраискоростьвращениякулера впроцентах. Далееможнопростозапустить nvclock сфлагами'-f' и'-F', чтобыизменить скоростькулера:
$ sudo nvclock -f -F 60
Значениедолжнобытьвпределахот10 до100 с шагом10. Заметь, чтодалеконекаждаявидюха позволиттебепроизвеститакуюоперацию.
ЖЕСТКИЙДИСК
Нувот, осталосьусмиритьнакопитель. Кслову сказать, современныевинтыпочтинешумят, и услышатьихдажезанизкооборотнымкулером довольнонепросто. Однако, еслитыобладательсистемы, оснащеннойстарымижесткими дисками— постоянныйтрескдолженбытьтебе хорошознакоминеменеехорошослышен. Какотнегоизбавиться? Дляначалапопробуем разобраться, чтоестьэтотсамыйтреск. Паря надпластинамижесткогодиска, головкиделают оченьмногоперемещений, постоянноменяя направлениесвоегодвижения. Вмоментыфиксацииголовкинадпластинойилиизменения еедвиженияпроисходитхарактерныйтреск, издаваемыймеханикой. Поэтомулучшийспособ заставитьдискменьшетрещать— сделатьтак, чтобыперемещенияголовкисвелиськминимуму. Этогоможнодобитьсятремяспособами:
•Отключитьсвоп, чтобыпринехваткепамяти ядронеобращалоськжесткомудиску, априменялодругиеметодыееочищения.
•Сделатьфайловуюсистемуменеефрагментированной, тогдапричтениифайлаголовка небудетметатьсямеждудорожкамивпоисках частейфайла.
•Сделатьтак, чтобысброс«грязных» буферов ФСпроисходилреже, вэтомслучаезаписьна дискбудетосуществляться«рывками», сбольшимипромежуткамимеждуоперациямизаписи. Первыйспособрадикален, нопридостаточномколичествеоперативнойпамятивполне оправдан. Чтобысделатьдискменеешумным
Утилитаnvclock достаточномногословнадлятого, чтобыопределить, чтоможетичегонеможеттвоя видеокарта
сегопомощью, надопростоубратьсоответствующуюстрокуизфайла/etc/fstab (словоswap втретьейколонке). Второйспособвключаетв себяиспользованиенаименееподверженных фрагментациифайловыхсистем, такихкакext4, испециальныхдефрагментаторов, которые позволятсобратьразбросанныеподискукусочкифайловводиннепрерывныйблок. Неверь тем, ктоговорит, чтовLinux файловыесистемы нефрагментируются, этопростоневозможно безпотериощутимогоколичествасвободного пространствадиска. Фрагментацииподверже-
наиext2, иext4, иreiserfs, каждая, конечно, в
разнойстепениидалеконетакярковыражено какFAT, нотемнеменее. Длядефрагментации любойфайловойсистемыможноиспользовать универсальныедефрагментаторы, например defrag (http://ck.kolivas.org/apps/defrag) или Shake (http://vleu.net/shake). Попробуемприме-
нитьвторойкакболеепродвинутыйипроизводительныйвариант. Переходимнаофициальную страничкупроектаискачиваемпоследнюю версиюинсталлятора(shake-0.99.1-Linux.sh),
делаемегоисполняемымизапускаем. Скорее всего, небудутучтенынекоторыезависимости, такчтоихпридетсяустановитьвручную.
ПользователиDebian иUbuntu могутустановить программуспомощьюapt, соответствующие инструкцииприведенынастраничкеhttp://vleu. net/apt. Послеокончанияустановкивыполни следующуюкоманду, чтобыначатьпроцесс дефрагментированияуказанногокаталога:
$ sudo shake -pvv /путь/до/каталога
Времяработыпрограммыможетсоставитьот5 до15 минутвзависимостиотколичествафайлов иразмеракаталога.
Третийспособпредпочтительнееидейственнееостальных. Лучшийспособзаставитьдиск замолчать— простолишитьегоработы. Для этогоможноиспользоватьтакназываемуюотложеннуюзаписьнадиск. Ниоднаоперационная
082 |
XÀÊÅÐ 04 /135/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
система(кромесовсемужпростых) непроизводитзаписьнадисксразупослезаписиданных вфайл. Сначалаинформацияпопадаетвбуфер, вкоторомхранитсяопределенноевремя, и толькозатемзаписываетсянепосредственнона жесткийдиск. Такудаетсясущественноподнять производительностьподсистемыввода-вы- водаисделатьпроцессзаписинадискболее равномернымипоследовательным. Насвсе этоинтересуетпостольку, посколькуLinux отличаетсятем, чтопозволяетсамостоятельно задатьинтервалмеждусбросамиэтихсамых «грязных» буферов. Делаетсяэтоспомощью записизначенийвперечисленныевследующейтаблицефайлыкаталога/proc/sys/vm:
$ ls -1 /proc/sys/vm |
|
|
|
|
laptop_mode (120) — сколько секунд |
|
|
|
|
должно пройти между началом чтения |
|
|
|
|
каких-либо данных и сбросом грязных |
|
|
|
|
буферов на диск (раз уж после чтения |
|
|
|
|
данных остановленный ранее диск все |
|
|
|
|
равно раскрутился, почему бы заодно |
|
|
|
|
не сбросить буферы?). |
|
|
|
|
dirty_writeback_centisecs (12000) |
Командаsensors пакетаlm-sensors болеечеминформативна |
|||
— квант времени между проверками на |
|
|
|
|
наличие грязных буферов. |
|
|
|
|
dirty_expire_centisecs (12000) — ÷å- |
|
значения, которыепозволятотложитьмомент |
по127 изкоторыхотличаютсятем, чтоприводятк |
|
рез сколько миллисекунд считать бу- |
|
сбросабуферовнадостаточнопродолжитель- |
остановкевинчестеравслучаенеобходимости. |
|
феры достаточно грязными для записи |
|
ныйпериодвремени. |
Опция'-S 12' — этовремя, попрошествиикоторо- |
|
íà äèñê. |
|
Еслимашина, освобождаемаятобойотшума, |
гожесткийдискбудетостанавливатьшпиндель. |
|
dirty_ratio (10) — максимальный про- |
|
недолжначастоиспользоватьжесткийдиск, ты |
Предусмотрено255 значений: с1 до240 просто |
|
цент памяти, используемый для хране- |
|
можешьнастроитьэнергосберегающийрежим, |
умножаютсяна5 секунд, а0 — отключаетостанов- |
|
ния грязных буферов (при превышении |
|
прикоторомхардбудетотключатьсянавремя |
кушпинделя. Менеегубительныйдляжесткого |
|
они будут сброшены). |
|
бездействия. Сделатьэтоможноспомощью |
дискаметодзаключаетсявактивациитакназы- |
|
dirty_background_ratio (1) — ìèíè- |
|
известнойутилитыhdparm. Например, так: |
ваемойфункцииAutomatic Acoustic Management, |
|
мальный процент памяти, используемый |
|
|
|
благодарякоторойпозиционерголовокбудет |
для хранения грязных буферов. |
|
$ sudo hdparm -B 1 -S 12 /dev/sda |
|
издаватьгораздоменьшешума, ценойнезначи- |
|
|
|
|
тельногосниженияскоростипозиционирования |
|
|
|
|
|
Трудносказать, какиезначениябудутоптималь- |
|
Опция'-B 1' включаетсамый«агрессивный» |
головок(что, однако, ведеткпадениюпроизво- |
|
нымивконкретномслучае. Вскобкахуказаны |
|
уровеньсбереженияэнергии. Всегоих254, с1 |
дительностидискавсреднемна10%). Функция |
|
|
|
|
|
доступнавбольшинствеболее-менеесовремен- |
Вовремяработыскриптpwmconfig будетостанавливатьиизменять |
ныхжесткихдисковиможетбытьвключенапри |
|||
помощивсетогожеhdparm. Например: |
||||
скоростьвращениякулерадляопределениянаилучшихзначенийдля |
|
|||
конфигурационногофайла |
|
|
|
$ sudo hdparm -M 128 /dev/sda |
|
|
|
|
|
|
|
|
|
Этакомандаактивируетсамыйтихийрежимра- |
|
|
|
|
ботывинчестера, занаиболеебыстрымзакреп- |
|
|
|
|
ленозначение254. Выбираязначениемежду |
|
|
|
|
этимидвумяпорогами, тысможешьподобрать |
|
|
|
|
оптимальноесоотношениешум/скорость, но |
|
|
|
|
помни, чтобольшинствожесткихдисковреаль- |
|
|
|
|
ноподдерживаеттолькодваилитрирежима |
|
|
|
|
(например, 128 — тихо, 254 — быстро, все, что |
|
|
|
|
между, будетлибовообщенеработать, либо |
|
|
|
|
активироватьодиниздвухрежимов). |
|
|
|
|
И, ТИШИНА… |
|
|
|
|
Кактысмогубедиться, снижатьуровеньсозда- |
|
|
|
|
ваемогокомпьютеромшумапрограммноне |
|
|
|
|
толькоможно, ноинужно. Вбольшинствеслуча- |
|
|
|
|
евэтогобудетвполнедостаточнодлятого, чтобы |
|
|
|
|
получитьколичестводецибел, нераздражаю- |
|
|
|
|
щеетвойслух, безнеобходимостиприобретения |
|
|
|
|
дорогостоящихкулеровикорпусов.z |
XÀÊÅÐ 04 /135/ 10 |
|
|
|
083 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
|
|
|
UNIXOID |
|
|
||||
|
|
|
|
|
|
|
|
|
Евгений Зобнин zobnin@gmail.com |
|
|||||||
|
|
|
|
|
|
|
|
m |
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|
|
|
||||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Прокачай ñâîþконсоль
ТерминальныемультиплексорыGNUScreen
ètmux—ключкэффективномуиспользованию консоли
ПрограммаснезамысловатымназваниемGNU Screen остаетсяизлюб- ленныминструментомсистемныхадминистраторовиUNIX-пользова- телейсостажемуженапротяжениивторогодесяткалет. Онанастолько популярна, чтопочтивсегдапопадаетнапервоеместосписковнезаменимогоарсеналаюниксоида. Screen посвященнеодиндесятокувесистыхFAQ истатей, опубликованныхвсамыхавторитетныхжурналах.
Чтожевнейтакогопримечательного?
084 |
XÀÊÅÐ 04 /135/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
tmux ивстроенныечасы
ЧТОЭТО?
Представь, чтоутебядесятокудаленныхмашин, накаждойизкоторыхподнятSSH-сервер. Каждыйденьтыподключаешьсякним, чтобы просмотретьлоги, оценитьработоспособность изагруженностьсистем. Покавыполняемые тобойзадачинесложныисводятсякпростым действиямвконсоли— всевпорядке. Однако стоиттебевыполнитьсразунесколькодействий, какначинаютсяпроблемы. Напервых порахспасаеткомбинация<Ctrl+Z>, ноона применимадалеконековсемприложениям, к томужесовременемтыпростозапутаешьсяв спискефоновыхзадач, перечисленныхввыводекомандыjobs. Тыможешьсоздатьдополни- тельныеSSH-соединениявдругихэмуляторах терминала, ноприуправлениисразунесколькимимашинамиэтосоздастбольшуюпутаницу. Чтожеделать?
Screen способенрешитьвсеэтипроблемыза счетмультиплексированиятерминаламежду несколькимиисполняемыминаудаленной машинепроцессами. Говоряпростымязыком, Screen — этоконсольныйменеджерокон, кото- рыйсоздаетнаудаленномконцеSSH-соеди- нениянечтовродемультитабовогоэмулятора терминала. Тыподключаешьсякмашине, запускаешькомандуscreen, котораявновьвозвращаеттебеприглашениекоманднойстроки. Затемтыможешьзапуститькоманду«less / var/log/messages», нажать<Ctrl+A C>, чтобысо-
здатьновоеокно, запуститьвнемкомандуtop, вследующемокнезапуститьirssi ит.д. Влюбой моменттыможешьнажать<Ctrl+A P>
длявозвращениякоткрытомуранееокну. ИвсеэтоврамкаходногоSSH-соединения. ОднаконастоящаямощьScreen заключаетсявподдержкесессий. Влюбоймоментты
можешьнажать<Ctrl+A D>, чтобыотключиться отScreen ивновьзапуститьегосключом'r', чтобывозобновитьпрерваннуюсессиюсо всемиоткрытымиокнамиинеизмененным состояниемприложений. Всясольвтом,
чтосессиясохранятсянамашине-сервере, поэтомуневажно, скакоймашиныонабудет возобновлена. Тыначинаешьсессиюнаработе, затемидешьдомойипродолжаешьееоттуда. Совсемнеобязательнобытьсистемнымадминистратором, чтобыполюбитьScreen. Многие старожилыпредпочитаютиспользоватьегодля самыхразныхвещей, начинаяотудаленной проверкипочтынадомашнемкомпеспомощью mutt илиalpine изаканчиваяиспользованиемв качествеудобнойконсольнойсреды. Особенно ценнымонможетоказатьсядляпользователей устаревшихкомпов, накоторыхзапускX-серве- расожретдобруюполовинупамяти, атяжелые GTK- иQT-приложения— всеостальное. К этомужеспискуможноотнестиинетбукиспроцессорами, работающиминанизкихчастотах, ималенькими, какпочтовыйконверт, экранами (кстати, многотабовыетайловые(фреймовые) менеджеры, наподобиеratpoison, ion3 иdwm, созданыподвпечатлениемScreen).
КАКЭТОИСПОЛЬЗОВАТЬ?
НекаждыйновичоксразупроникнетсякрасотойScreen. Идляэтогоестьдвепричины. Во-первых, дляуправленияоконнымменеджеромиспользуетсятолькоклавиатура, поэтому чтобыначатьегоиспользовать, необходимо знатьхотябыбазовыеклавиатурныекомбинации. Во-вторых, поумолчаниюScreen не сообщаетпользователюникакойинформации оботкрытыхврамкахтекущейсессииокнах, именахзапущенныхвнихприложенийит.д., поэтомунавигациямеждуокнамиусложняется,
априбольшомихколичестве— превращается
вкошмар.
Чтобыобойтивторуюпроблему, мызаранеенапишемконфигурационныйфайл, включающий всебянастройкистрокисостояния, которая будетвыводитьнаэкранразличнуюполезную информацию. Откройфайл~/.screenrc втекстовомредактореидобавьвнегоследующие строки:
$ vi ~/.screenrc
#Отключаем приветствие startup_message off
#Включаем utf8 defutf8 on
#Использовать визуальный сигнал (мигание экрана) вместо писка динамика
vbell on
#Размер буфера прокрутки defscrollback 1000
#Производить отключение сессии при разрыве связи с терминалом autodetach on
#Открывать Login-øåëë
shell -$SHELL
#Активировать возможность прокрутки в xterm (и других эмуляторах терминала)
termcapinfo xterm* ti@:te@
#Волшебная строка
shelltitle '$ |sh'
# Строка состояния
hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "
# По клавише <Esc> создать окно и запустить в нем команду su
bind \033 screen -ln -t root 9 su
Три последних строки файла — ключевые. Первая из них задает способ изменения названий окон. Screen умеет динамически переименовывать окно в зависимости от запущенного в нем приложения. Для этого он использует очень простой способ: читает ввод пользователя в терминале и берет эту строку в качестве имени. Чтобы понять, когда начать чтение ввода, Screen использует запись, указанную в опции shelltitle. В нашем случае это строка '$ |sh', которая означает, что окно будет названо либо именем команды, набранной после символов '$ ' (обычно такими символами оканчивается приглашение командного интерпретатора), либо sh (вариант по умолчанию).
Однакоэтоещеневсе. Опциянебудетиметь смысла, покамынепоместимследующуюпоследовательностьстроквконецфайла~/.bashrc:
case $TERM in screen)
export PROMPT_COMMAND = 'echo -n -e "\033k\033\\"'
;;
esac
Чтобыназванияоконбыливиднынаэкране, мы создалистрокусостояния(hardstatus). ПомеркамScreen онаоченьпроста, ноприэтомлаконичнаивполнедостаточнадляповседневного использования. Выводимаявнейинформация будетвыглядетьпримернотак:
12:18 user@hostname [ 0 sh 1 mc 2* irssi ]
XÀÊÅÐ 04 /135/ 10 |
085 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
UNIXOID
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
|
X |
|
|
|
|
|
|||
|
|
|
- |
|
|
|
|
|
d |
|
||
|
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
|
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
|
to |
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|
|||||
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
|
-x cha |
|
|
|
|
Интеллектуальноеразмещениерегионоввtmux
Слевабудутрасполагатьсятекущеевремя
иимя_пользователя@имя_хоста, асправа
—именавсехоткрытыхоконвквадратных скобках. Приэтомтекущееактивноеокно будетпомеченозвездочкой. Длязадания строкистатусаScreen используетспециальные символы, похожиенате, чтоприменяютсядля формированияприглашениякомандногоинтерпретатора(значениепеременнойокружения PS1). Прочитавсправочнуюстраницуscreen, ты сможешьузнатьонихподробнее. Последняя строка— назначениеклавиши<Esc> назапуск root-терминала.
ТеперьпослезапускаScreen тыобнаружишьв окнетерминаланетолькобезликоеприглашениекомандногоинтерпретатора, ноиинформативнуюстрокусостояния. Попробуйзапустить какую-нибудьинтерактивнуюкоманду, иты увидишь, какимяокнаизменится.
Перейдемкиспользованию. Кактымог заметить, читаявведение, всеклавиатурные комбинацииScreen начинаютсяссочетания <Ctrl+A> (<C-a> какегопринятоназыватьв документацииScreen), закоторымследует какая-либоклавиша. Наиболееиспользуемые комбинацииэто<C-a c> длясозданиянового окна, атакжесочетанияклавишдляперехода междуокнами. Ониперечисленывследующей таблице:
Наиболееиспользуемые комбинацииклавишScreen
C-a 0..9 переход между окнами 0..9 C-a " показать список всех окон C-a n перейти в следующее окно C-a p перейти в предыдущее окно
C-a c создать новое окно
C-a k уничтожить текущее окно C-a C-a перейти в предыдущее окно C-a S разделить экран на два региона по горизонтали
C-a | разделить экран на два региона по вертикали
C-a Tab переход между регионами C-a z склеить два разделенных региона
C-a d отсоединиться от screen C-a M начать наблюдение за текущим окном
C-a ? справка обо всех комбинациях клавиш
C-a : командная строка Screen
Тыужезнакомсмеханизмомсессийикомби- нацией<C-a d>, добавлютолькото, чтоScreen умеетсохранятьиподдерживатьсразунесколькосессий. Тыможешьначатьсессиюдля редактированияконфигурационныхфайлов, затемотключитьсяотнее, начатьновуюсессию (простозапустивscreen), азатемвернутьсяк предыдущей. Дляэтогодостаточнопередать '-ls' вкачествеаргументакомандыscreen, скопироватьимяоднойизперечисленныхсессий ипередатьеговкачествеопцииаргумента'-r'. Болеетого, тебениктонепомешаетподцепитьсякужеподключеннойсдругоймашины сессииспомощьюаргумента'-x', переданного вместо'-r'. Оченьполезнойможетоказаться комбинация<C-a M>, предназначеннаядля наблюдениязавыбраннымокном. После еенажатияобовсехпроисходящихвокне
измененияхScreen будетсообщатьтебе, даже
БЛОКИРОВКА ТЕРМИНАЛА СРЕДСТВАМИ TMUX:
set -g lock-after-time 1800
set-password -c '$2a$06$7LpuTSfDjcz.KD3a9mdEuuJmC.zEq6RBqHWMjdv9/qqzrfWedUBHe' bind L lock-server
СправочноеокноScreen
есливданныймоменттыработаешьвдругом окне. Этоможноиспользовать, например, для наблюдениязалогамиилизапускакоманд подуправлениемкомандыwatch. Screen оснащенсобственныммеханизмомкопированияивставки. Комбинация<C-a C-[> переводит оконныйменеджерврежимкопирования. После этоготыможешьиспользоватьуказательныеклавишиипробелдлявыборатекстаикомбинацию <C-a C-]> — длявставки. Понажатиюкомбинации <C-a h> Screen создаеттекстовыескриншоты, которыеможнопросмотретьспомощьюштатной утилитыless. Скриншотполучаетследующееимя: hardcopy.номер_окна. Еслидефолтовыеклавиатурныекомбинациитебенеподходят, илижеты хочешьсоздатьспециальныесочетанияклавиш длявызовачастоиспользуемыхприложений— используйопциюbind конфигурационногофайла. Например, следующаястрока"повесит" на комбинацию<C-a Space> выводспискаоткрытых окон:
bind ' ' windowlist -b
Аэтасделаеттак, чтобыпосленажатия<C-a S> окноразделялосьнадварегиона:
bind S split
Авотпримерзапускаприложенияспомощью клавиатурнойкомбинации:
bind m screen -t mail mutt
Посленажатия<C-a m> откроетсяновоеокон сименемmail, ивнембудетзапущенпочтовик mutt. Примернотакойжеформатзаписиможно использоватьдлязапускаприложенийсразу послестартаScreen:
screen -t mail 0 mutt screen -t irc 1 irssi
screen -t google 2 elinks http:// www.google.com
Поместивэтистрокивконецфайла~/.screenrc и зановозапустивScreen, тыполучишьсразутри открытыхокнасзапущеннымивнихmutt, irssi
иelinks.
НЕSCREEN'ОМЕДИНЫ
Начиная с версии 4.6 OpenBSD поставляется с собственным вариантом Screen под
086 |
XÀÊÅÐ 04 /135/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
названием tmux. Как и его GPL-собрат, tmux является терминальным оконным менеджером, который отличается от Screen следующими характеристиками: * Клиент-серверная архитектура, при которой окна выполняют роль объектов, которые могут одновременно подключаться к нескольким сессиям, перемещаться между ними и просматриваться с разных клиентов (терминалов).
•Механизм автоматизации выполняемых действий с помощью скриптов.
•Нескольконезависимыхбуферовобмена.
•Двавариантараскладкиклавиатуры: стильvi иemacs.
•Болееясныйформатописаниястрокистатуса.
•Возможностьотображениявыводакомандывстроке статуса.
•Экономноерасходованиеоперативнойпамяти.
•Высокаяскоростьработы.
•УлучшеннаяподдержкаUTF-8.
•Интерактивныеменюдлявыбораокон, сессийиклиентов.
•Болеегибкиевозможностипоразделениюоконнарегионы.
Несмотря на принадлежность к OpenBSD, tmux способен работать на множестве UNIX-систем, включая
FreeBSD, NetBSD, Linux, Mac OS X, Solaris и AIX. Бинар-
ные пакеты tmux уже доступны в репозиториях Debian Sid и Ubuntu Karmic, а исходники могут быть получены с официальной странички tmux в интернете: http://tmux. sourceforge.net. Запустив tmux, ты сразу заметишь его отличия от Screen. Во-первых, статусная строка активирована по умолчанию и включает в себя почти всю ту информацию, для получения которой в Screen нам пришлось добавлять в конфиг довольно странные строки. Во-вторых, комбинация <C-a> не срабатывает, и вместо нее следует использовать <C-b>. Это не очень удобно, но необходимо в целях устранения конфликтов со Screen (при запуске одного в другом). За исключением префикса в виде <C-b>, большинство клавиатурных комбинаций совместимы со Screen. Так, <C-b c> открывает новое окно, а <C-b 1> приводит к переходу
кокну номер один. В то же время некоторые действия выполняются с помощью других сочетаний клавиш. Например, <C-b w>
— это меню открытых окон, <C-b l> — предыдущее окно, <C-b "> — разделить окно по вертикали, уничтожает окно комбинация <C-b &>. Для отключения от сессии используется все та же комбинация <C-b d>,
однако для подключения обратно используется другой аргумент командной строки:
$ tmux attach
Отличительнойособенностьюtmux являетсятакжеито, что любоедействие, выполняемоеспомощьюклавиатурных комбинаций, можнопроизвестиизкоманднойстроки. Например, дляпереходакпредыдущемуокнуследуетиспользоватьследующуюкоманду:
$ tmux last-window
Адлясозданияокнатакую:
$ tmux new-window
Весьпереченьподдерживаемыхкомандможнополучитьтак:
$ tmux list-commands
НесколькооконScreen могутодновременнонаходитьсяна экране
Командывtmux играютключевуюроль, сихпомощью производитсяконфигурированиепрограммы, онивыступают вкачествеаргументовкомандыbind, предназначеннойдля переназначенияклавиш, имогутбытьиспользованыдля автоматизациирутинныхдействийиуправленияtmux из другойпрограммы.
Конкретнодляконфигурированияtmuxпредназначеныдве команды.Однаизнихноситимяset-optionислужитизменению параметровсессии,втораяназываетсяset-window-optionи используетсядляизменениянастроекокон.Унихобеихесть сокращенныйвариант(setиsetw),атакжевозможностьизменять локальныеиглобальныеопцииспомощьюфлага'-g'.Какивлюбой другойпрограмме,проверкапервыхосуществляетсявпервуюочередь,и,еслинеустановленалокальнаяопция,значениеберетсяиз глобальной.Получитьсписоквсехвозможныхопцийможнотак:
$ tmux show-options
$ tmux show-window-options
Болееподробноониописанывman-странице. Воспользуемсяэтойинформацией, чтобысоздатьнебольшойконфигурационныйфайл:
WARNING |
warning
Поумолчаниюtmux запускаетпрописанныевконфигурации статуснойстроки командыпримерно каждые15 секунд(на самомделевсезависитотактивности пользователя), поэтомучтобынесхватить тормоза, неделайее слишкомсложной.
$ vi ~/.tmux.conf
#Изменяем цвет строки статуса на белый set -g status-bg white
#Изменяем правую часть статусной строки
set -g status-right '#(echo $USER)@#H #(uptime | cut -d "," -f 1)'
#Навигация по командной строке и списку окон в режиме vi
set -g status-keys vi setw -g mode-keys vi
#Размер буфера истории
set -g history-limit 1000
#Меняем стандартный префикс на <C-a> set -g prefix C-a
unbind C-b
#Переход к предыдущему окну по <C-a C-a> bind C-a last-window
#<C-a M> включает мониторинг активности bind M setw monitor-activity on
#<C-a /> — запустить top
bind / neww 'exec top'
INFO |
info
Посленажатияком-
бинации<C-b t> tmux
выведетнаэкран большиечасы, нарисованныепсевдографикой. Ониостанутся наэкранедонажатия любойклавиши.
XÀÊÅÐ 04 /135/ 10 |
087 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|||
|
F |
|
|
|
|
|
|
t |
|
|
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
|
UNIXOID |
|
|||
|
|
|
|
|
|
m |
ЮРИЙ «ADEPT» ВИДИНЕЕВ ADEPTG@GMAIL.COM |
||||||
|
|
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
tmux иокносправки
ДЖЕНТЛЬМЕНСКИЙ НАБОР КОНСОЛЬЩИКА
В2010-мгодуневозможнопредставитьсебеUNIX безудобной графическойсреды, менеджеровокони3D-эффектов. Однако дляобладателейнеторопливыхкомповитех, ктоиспользуетUNIX удаленноинеможетпохвастатьсявысокоскоростнымсоединением, всеэтооказываетсянедоступно. Приходитсяприбегатьк консольныманалогамбольшихграфическихприложений(которые
вбольшинствесвоемоказываютсянамногоудобнее).
•Браузерelinks (http://elinks.or.cz). Невероятнопродвинутыйдля своихразмеровбраузер, поддерживающийтаблицыифреймы, цвета, кукисы, JavaScript, аутентификацию, закладки, фоновые загрузки, скриптинг(Perl, Lua, Guile).
•Почтовикalpine (www.washington.edu/alpine). Простойвисполь-
зованиипочтовыйклиентспсевдографическиминтерфейсом. Пришелнасменуужедавнозаброшенногообладателямногих наградpine. Поддерживаетвсестандартыитехнологии, которые могуттолькопотребоватьсяпочтовойпрограмме. Вотличиеот mutt, имеетвстроенныефайловыйбраузер, редактор, настройщик иумеетотправлятьписьмабезпомощивнешнихпрограмм.
•IM-клиентcenterim (www.centerim.org/index.php/Main_Page).
ФоркмультипротокольногоIM-клиентаcentericq. Обладаетприятнымиудобнымвиспользованииинтерфейсом. Поддерживает следующиепротоколы: ICQ, Yahoo!, AIM TOC, IRC, MSN, Gadu-Gadu
иJabber. Вотличиеотмногихдругихконсольныхприложений, настраиваетсяспомощьюграфическогоинтерфейса.
•Twitter-клиентttytter (www.floodgap.com/software/ttytter). Ин-
терактивныйTwitter-клиент, написанныйнаPerl. Поддерживает скриптингиможетработатьврежимедемона(илибота, комукак большенравится).
•Словарьsdcv (http://sdcv.sourceforge.net). Консольнаяверсия популярнойпрограммыдляпоискавсловаряхStarDict. Поддерживаетвсесловарисвоегостаршегособратаиможетиспользоваться дляпоискасловизкоманднойстроки.
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Дляконфигурированиястатуснойстрокипредназначеныдвеопции: status-left иstatus-right. Перваяизменяетлевуючасть, вторая— правую. ВотличиеотScreen, ихформаточеньпрост:
#(команда) — результат выполнения указанной команды (первая строка)
#H — имя хоста
#S — имя текущей сессии #T — имя текущего окна ## — символ #
Как видно из конфига, я не стал менять левую часть строки, она и без того неплохо выглядит. Однако в правую я поместил информацию о пользователе@хосте, текущем времени и аптайме, который формируется с помощью вызова команд «echo $USER» (имя пользователя), «uptime | cut -d "," -f 1» (время и аптайм) и переменной #H.
Последняя строка файла демонстрирует пример использования команд bind и new-window (neww). Однако последняя может быть применена не только для закрепления функций запуска приложений за клавиатурными комбинациями, но и для создания сессий, например. Помести в конфиг следующие три строки, запусти tmux с опцией attach, и ты получишь три окна, в первом из которых запущен шелл, во втором mutt, а в третьем irssi:
new -d
neww -d mutt
neww -d irssi
Первая строка — сокращенный вариант команды new-session, предназначенной для создания сессии. Вторые две создают окна. Флаг '-d' нужен для того, чтобы после создания окна tmux не сделал его текущим.
Более развитая система разбиения окон на регионы — еще одна отличительная особенность tmux. В отличие от Screen, для разделения окна вертикально на два равных региона используется комбинация <C-b ">, а для переключения между регионами — либо комбинация <C-b o>, либо <C-b> и навигационные клавиши. Изменить размер региона можно с помощью комбинаций <C-b Alt-Up> и <C-b Alt-Down>. Однако основная изюминка скрывается в поддержке нескольких вариантов размещения регионов, для переключения между которыми предназначена комбинация <C-b Space>. В частности, регионы могут быть расположены горизонтально, вертикально, интеллектуально, с выравниванием или без. Это может быть непонятно в теории, поэтому советую просто поэкспериментировать.
Вместоконфигурационныхфайловcenterim предлагаетудобноеокнонастройки
088 |
XÀÊÅÐ 04 /135/ 10 |