[Перейти к основному содержимому]

Ссылки

Trickle: простой ограничитель пропускной способности

Автор: Ферри Боендер.

Оригинал: «Trickle: A lightweight userspace bandwidth shaper», 30 мая 2007 г.

Иногда хочется что-то скачать, но при этом не хочется полностью занимать Интернет-соединение — может, уже скачивается что-то более важное, а может не хочется мешать людям, которые делят подключение с вами. Некоторые программы вроде gFTP, Wget и Bittorrent имеют встроенное ограничение на скорость скачивания / загрузки. Но в других программах (например, в apt-get и компании) такого нет. Поможет Trickle.

Trickle — пользовательский ограничитель пропускной способности. Он позволяет ограничить расходы соединения без каких-то патчей ядра, настроек фаерволла и прав суперпользователя. Trickle может ограничивать пропускную способность для нескольких программ одновременно или для одной указанной программы.

Одиночный режим

Trickle проще всего использовать в одиночном режиме. Просто запустите утилиту с указанием ограничения на скачивание / загрузку и программы, которую нужно ограничить, например

[todsah@jib]~$ trickle -d 20 -u 20 wget http://www.electricmonk.nl/bigfile
trickle: Could not reach trickled, working independently: No such file or directory
–12:19:18– http://www.electricmonk.nl/bigfile
=> `bigfile’
Resolving www.electricmonk.nl… 194.187.77.6
Connecting to www.electricmonk.nl|194.187.77.6|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 51,200,000 (49M) [text/plain]

0% [ ] 180,224 21.83K/s ETA 38:03

Wget использован просто для примера — в нем уже есть соответствующие настройки. Как видите, скорость загрузки — 21.83 килобит в секунду; конечно, не ровно 20, но она будет колебаться между 19 и 21, в среднем оставаясь желаемой. Для точной настройки этого поведения можно использовать опции командной строки -w и -t. Чем дольше работает Trickle, тем скорость будет ближе к 20 килобитам; дополнительные разъяснения есть в странице руководства.

Режим сервиса

В режиме сервиса Trickle может ограничивать пропускную способность нескольким программам. Для запуска демона используйте команду «trickled»:

[todsah@jib]~$ trickled -d 20 -u 20

Это ограничит входящую и исходящую скорость до 20 килобит всем программам, запускаемым через Trickle. Так что если запустите одну программу, она будет потреблять 20 К/с; две программы будут брать по 10 К/с, и так далее. Для примера запустим три сеанса Wget:

[todsah@jib]~/temp$ trickle wget http://www.electricmonk.nl/bigfile
1% [ ] 933,888 6.66K/s ETA 1:47:17
[todsah@jib]~/download$ trickle wget http://www.electricmonk.nl/bigfile
1% [ ] 720,896 6.65K/s ETA 1:56:59
[todsah@jib]~$ trickle wget http://www.electricmonk.nl/bigfile
2% [ ] 1,228,800 6.64K/s ETA 1:45:00

Скорость загрузки ограничивается примерно 6.6 К/с на сессию. Как это бывает с ограничителями пропускной способности, может пройти пару секунд до верного ограничения всех потоков — алгоритм должен определить, как задерживать прием-передачу информации.

Доступность

Trickle есть в Debian, по крайней мере, с версии 3.1 («Sarge») и в Ubuntu со времен Warty. Все нужное должно сделать «apt-get install trickle».

Примечания

Konversation: простой IRC-клиент с несколькими удивительными возможностями

Автор: Кайл Хамар.

Оригинал: «Konversation, A simple irc client with a few surprising features», 27 мая 2007 г.

Важной особенностью Linux остается сплоченность сообщества. Немногие средства открывают мощь открытых исходников, и ничто не объединяет сообщество лучше, чем IRC. Есть много клиентов, от маленьких и мощных (irssi) до сложных (centericq). Я предпочитаю легковесное графическое средство — Konversation.

IRC — открытое окно в сотни проектов с открытыми исходниками; в IRC разработчики часто отвечают на всевозможные вопросы пользователей.

Konversation

Использование

Я рекомендую использовать Freenode с его внушительным набором групп проектов вроде Apache или KDE. Если вы новичок в IRC, то лучше будет прочитать ответы на распространенные вопросы и требования к регистрации. Другие проекты — например, Debian — используют сеть OFTC.

Konversation

Konversation обладает простым интерфейсом, основанным на вкладках, и несколькими настраиваемыми кнопками, на которые можно повесить различные команды. Доступны обычные опции IRC-дисплея: выбор шрифта, цветов, и так далее; есть настраиваемый список участников обсуждения.

Настройка

Можно включить опцию, при которой Konversation будет разворачиваться по ключевому слову или вашему имени. Можно установить звуки-напоминания.

on-screen display

Из окна чата можно выполнять команды и перенаправлять всем их вывод.

Выполнение команды

Konversation может работать с Kaddressbook. Это позволяет отображать реальные имена собеседников.

Суть Konversation — простой интерфейс с несколькими приятными возможностями. Поддержка расширенного внутреннего скриптования, как в других клиентах, не предлагается. По мне так отсутствие всяких излишеств — это только плюс. Konversation может исполнять любой желаемый скрипт (Bash, Perl, или что там еще) и предоставляет порт DCOP для передачи информации в канал. Возможность отсылать вывод произвольных команд в окно чата (как еще попросить людей взглянуть на какую-то ошибку?) и отображение всплывающего окна — важные функции.

Большинству пользователей, скорее всего, не нужны возможности бота, но, если понадобится, их можно легко использовать. Я попробовал Konversation по совету друга, когда боролся с незначительным багом в другом клиенте. Больше я к другой программе не вернусь!

Ссылки

UltraStar NG: караоке с песнями пользователя

Автор: Мириам Руис.

Оригинал: «UltraStar NG: karaoke game that allows user supplied songs», 23 мая 2007 г.

Караоке (от японского «カラオケ オーケストラ», «пустой оркестр») — развлечение, при котором участники поют в микрофон под записанную музыку; при этом система отображает на экране сопутствующие слова, иногда вместе с видеорядом. Со своей игрой SingStar для PS2 Sony пошли на шаг вперед: там песню нужно не просто петь, а петь верно. Игра идет с парой USB-микрофонов и умеет определять, насколько вы хорошо поете.

Потом вышел свободный клон, UltraStar, в котором песни можно было добавлять в виде MP3 с текстом, картинками и видео. Серая полоска показывала продолжительность и высоту звуков настоящей песни, а голубая полоска показывала, верно ли все спето. Чем лучше достижения, тем больше дается очков. В конце можно получить звание опытного или ведущего певца. Увы, UltraStar был написан на Kylix / Delphi и собирался только для популярной несвободной системы — той самой, о которой вы сейчас подумали. Хорошая сторона игры — много людей делает к ней песни, так что в Интернете (на страницах об игре, в файлообмене, и так далее) вы сможете найти любимые. Делать песни для UltraStar или переводить их из формата SingStar довольно просто.

UltraStar-NG — переделка UltraStar для GNU / Linux. Программа написана на C++ и, что до технической части, использует для работы со звуком alsa, получает пропетые игроком ноты с fftw3, работает со вводом-выводом с помощью SDL, играет музыку с xine или gstreamer, показывает темы (векторные изображения) с librsvg или cairo. Цель игры, как вы уже могли предположить — набрать максимум очков при исполнении выбранных песен.

Вот начальная заставка UltraStar; другие снимки экрана ищите на домашней странице проекта:

Начальная заставка UltraStar

Этому предшествовал долгий путь, но мы, наконец-то, можем играть в UltraStar-NG на своих компьютерах с Debian. Хорошо вам поразвлечься, но не забывайте, что если игра говорит, что вы не попадаете в ноты, то это может быть багом не программы, а певца ;-)

Mirage: простой и быстрый просмотрщик изображений

Автор: Лукас Нусбаум.

Оригинал: «Mirage: simple and fast image viewer», 20 мая 2007 г.

Mirage — относительно новая программа для просмотра изображений, которая была разработана с учетом скорости. Она использует GTK+.

Судя по истории изменений, проект стартовал в марте 2006-го. С тех пор Mirage претерпел стремительное развитие, к этому времени вышло пятнадцать релизов.

В приложении есть все возможности, которые можно ожидать от хорошей альтернативы xv или gthumb:

Более подробно приложение описывает сетевая документация.

Однако некоторые возможности xv еще не поддерживаются:

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

Mirage есть в тестовой и нестабильной ветке Debian и в Ubuntu, начиная с Feisty. Программа относительно свободна от ошибок и активно разрабатывается.

Просмотрщик имеет приятный стиль и очень хорошо справляется с показом больших коллекций картинок.

Снимки экрана можно найти на домашней странице Mirage.

Keyjnote: слайд-шоу с очень хорошими графическими эффектами

Автор: Фредерик Вагнер.

Оригинал: «Keyjnote: presentation viewer with very nice graphical effects», 16 мая 2007 г.

Keyjnote — превосходная программа для презентаций с графическими эффектами, которые вызовут ревность у пользователей Keynote от Apple.

Keyjnote копирует малую часть Keynote (модный экран) и не позволяет создавать свои презентации. Можно показать презентацию из PDF или картинок, но ее надо будет создать другими средствами, например, известным дополнением к LaTeX beamer. Так что можете использовать любимые средства приготовления презентации, а не убогую штуковину из серии укажи-кликни.

Keyjnote позволяет использовать слайды красиво и эффективно. Если вы знакомы с xpdf -fullscreen или режимом презентации evince, то можете считать Keyjnote крутым вариантом xpdf.

Для смены слайдов доступны разные эффекты OpenGL, что дает зрителям удобную возможность сконцентрироваться на стиле, а не на содержании ;-) Кроме шуток, некоторые эффекты смены могут быть излишними, но переход одного слайда в другой «Crossfade» или «WipeCenterOut» выглядит красиво и непринужденно.

Конечно, есть и куча удобных возможностей и комбинаций клавиш:

Переходы слайдов можно отдельно задать в файле .info. Следует отметить, что Keyjnote работает особенно хорошо с beamer: можно написать маленький скрипт для автоматического получения файлов .info из файлов .aux, создаваемых LaTeX (оставим это упражнение читателю). Сам я использую переход «WipeCenterOut», а для анимации — «Crossfade».

Наконец, хотя Keyjnote работает в командной строке и поддерживает скрипты, к программе есть оболочка на Qt Keyjnotegui, но лично я не нашел ее очень полезной.

Keyjnote есть в тестовой и нестабильной ветке Debian и в Ubuntu Feisty.

Снимки экрана:

Mpgtx: редактирование MPEG-видео без потерь

Автор: Уильям Трейси.

Оригинал: «MPGTX: Lossless editing of MPEG video», 13 мая 2007 г.

MPEG — это JPEG в мире видео. Этот формат воспроизводится везде и имеет встроенное сжатие с потерями. Увы, это значит, что, как и в случае с JPEG, если вы редактируете MPEG, вы будете терять больше и больше с каждым сохранением. Хуже того, поскольку видеофайлы, как правило, занимают много места, многие люди будут с самого начала использовать сжатие MPEG.

Mpgtx — частичное решение проблемы. Программа позволяет разрезать и объединять видеофайлы без пересжатия. Качество и битовый поток останутся неизменными, отрежете ли вы 30 секунд с конца домашнего видео, либо склеите воедино два фильма.

Это утилита командной строки. Например,

mpgtx -j movie1.mpg movie2.mpg -o movie3.mpg

создаст movie3.mpg, состоящий из movie1.mpg и movie2.mpg.

mpgtx -s movie1.mpg [30-1:00] -o movie2.mpg

создаст movie2.mpg, в котором будет содержимое movie1.mpg с 30-й секунды по 1-ю минуту.

Поддержка

Mpgtx — блестящий пример прелестей Debian. Последний раз основной сайт обновлялся больше года назад, но новые патчи продолжают применяться к пакету Debian.

Несколько месяцев назад я наткнулся на баг в Mpgtx. Моя цифровая камера создавала файлы, которые вызывали у Mpgtx критическую ошибку сегментации. Поначалу я решил, что дело плохо — я узнал, что разработчик приложения куда-то пропал. Тогда я попробовал заполнить отчет с утилитой Debian reportbug. И вдруг — о чудо! — я получил ответ от Эрика Шанзе, занимающегося поддержкой пакета Debian. Через несколько недель у меня уже был рабочий патч, решающий мою проблему. Mpgtx 1.3.1-3, включающий нужное исправление, теперь есть в тестовой и нестабильной ветке.

Заключение

Mpgtx — удобная и маленькая программа. Она не полезна в серьезном монтаже видео, но очень хороша для быстрой редактуры уже сжатого материала, который считался уже законченным. Mpgtx заслуживает место в наборе инструментов командной строки любого мультимедиа-художника.

Пакеты

Mpgtx доступен как пакет Debian с мая 2001-го; он есть в Sarge, Etch и Lenny (я не могу найти информацию о более старых версиях). Пакет есть в каждой версии Ubuntu. По какой-то причине он внесен в категорию «Звук», так что смотрите там, если используете Aptitude или Synaptic.

Klipper: вызов действий с буфером обмена

Автор: Бенуа Пеккатте.

Оригинал: «Klipper: clipboard action trigger», 9 мая 2007 г.

Используете KDE? Если да, то у вас должна быть эта программа; если нет, то вы должны ее попробовать!

Klipper — средство для вызова действий с любым содержимым, которое вы помещали в буфер обмена. Какое действие вызвать, решается на основе регулярных выражений. Таким образом, вы можете привязать действие с URL для программ, не поддерживающих открытие ссылок, указать путь к просмотрщику файлов, и так далее.

Использование

Программа размещается в панели задач и ожидает вашего ввода. По умолчанию, она не работает. Настройки по умолчанию вполне подходят. Рассмотрим пример с URL. Сначала задействуем Klipper, кликнув на иконке и выбрав сами-угадайте-что.

Меню Klipper

Теперь выделим мышью что-то вроде «http://test.com». Появится меню, предлагающее какое-то действие. Просто кликните по нему.

Меню действий Klipper

Настройка

Klipper так же просто настраивать, как и использовать. Нужно просто знать, что такое регулярные выражения.

Настройка Klipper

Здесь «^https?://.» означает всё, что начинается с «http://» или «https://», после чего содержит хотя бы один символ.

Klipper есть в Debian Sarge, Ubuntu Warty и более поздних версиях.

Brightside: переключатель рабочих столов

Автор: Джейсон Полак.

Оригинал: «brightside: workspace switcher», 6 мая 2007 г.

Эта утилита для GNOME позволяет переключаться между виртуальными рабочими столами при помощи наведения курсора мыши к краю экрана, как будто бы за экраном есть другой. Это хорошая замена «горячих клавиш» для пользователя, привыкшего работать с мышью.

Окно настроек, как на снимке ниже, можно запустить командой brightside-properties или соответствующим ярлыком в меню «Система → Параметры». Для включения brightside при входе в систему поместите команду «brightside» в список из окна настроек «Система → Параметры → Сеансы».

brightside

Также к углам экрана можно привязать действия, такие как остановка экранной заставки или, допустим, запуск любимого почтового клиента. Эта возможность работает кривовато, если также активировано переключение рабочих столов — иногда, вместо запуска приложения, вы будете перенесены на соседнее рабочее место.

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

Окна приложений можно передвигать на соседний рабочий стол. Для лучшего результата мягко передвиньте окно, не останавливаясь на краю экрана. Эта возможность не работает с XMMS и, возможно, с другими приложениями с нестандартными окнами.

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

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

Brightside уже давно есть в Debian и Ubuntu.

Meld: графическое средство сравнения и объединения файлов

Автор: Барт ван Куйк.

Оригинал: «meld: graphical tool to diff and merge files», 2 мая 2007 г.

Время от времени требуется просматривать различия между двумя файлами. Вы забыли, что именно поменяли в скрипте Perl, либо хотите проверить, что стажеры изменили в настройках Apache, и так далее.

В командной строке для сравнения двух файлов принято использовать diff. Хотя убежденные хакеры могут не согласиться, вывод diff сложно воспринимается на глаз, пусть даже и существует двухсторонний режим вывода --side-by-side.

Графическая визуализация предоставляет гораздо больше возможностей, и Meld пытается использовать их лучшим образом. Эта утилита позволяет графически увидеть разницу между двумя-тремя файлами. И, в отличие от diff, Meld позволяет редактировать и объединять файлы напрямую. Различия между файлами копируются или перемещаются щелчком мыши.

meld httpd.conf httpd.conf.default

Что там изменилось в httpd.conf?

При удержанной клавише Shift стрелки заменятся на крестики, которыми можно быстро удалить добавления, сделанные стажером в httpd.conf (после серьезного разговора с парнем!).

Если вы — программист, то вы, возможно, контролируете версии файлов с Subversion или CVS. Meld поддерживает и это. Напишите в командной строке

meld my/project/directory

Meld определяет директории, находящиеся под контролем версий, и отображает измененные файлы. Двойной щелчок на файле показывает разницу между рабочим файлом и файлом хранилища. Meld основан на вкладках; изменения появляются в отдельных вкладках, чтобы было легко и быстро вернуться к обзору директории.

Meld работает с локальной копией subversion

Хотя это не документировано, Meld, кажется, поддерживает bzr, CVS, darcs, mercurial, monotone и subversion. Meld включает и другие возможности, не упомянутые здесь, такие как режим сравнения директорий, нескольких языков и так далее. Советую просто установить пакет и осмотреться.

Альтернативные средства

На странице проекта можно найти небольшое сравнение с другими похожими средствами:

Kdiff3
Программа очень хороша для больших слияний. Есть возможность автоматического слияния.
Xxdiff
Имеет ряд приятных возможностей вроде скриптования и отмены слияния CVS. Сравнивает за раз два или три файла и только две директории.
TkDiff
Просмотр различий только между двумя файлами. Требует только tk.
GtkDiff
Средство сравнения для Gtk1.x. Кажется, проект умер.

Meld есть в Debian, начиная с Sarge, и в Ubuntu, начиная с Warty. Зависит от языка скриптования Python.