![]() |
| Home RSS Directory F.A.Q Suggest A Feed Try Custom Feed Sonneries Portable |
Latest Flows from this sub-category: random selection from this sub-category: |
Переводы блога «Debian Package of the Day» Copyright: © 2007—2008 Алексей Бешенов. Перепечатка текстов запрещена Wed, 23 Jul 2008 18:29:18 +0200 Автор: Фати Алтинок. Оригинал: «Sonata: an elegant music client for MPD», 27 апреля 2008 г. Sonata — музыкальный плеер с интерфейсом GTK+, написанный на Python. На самом деле, это клиент MPD, и это основное преимущество программы. MPD — демон, воспроизводящий в фоновом режиме музыку (быть может даже на другом компьютере). Он может использовать различные внешние интерфейсы; его можно даже запустить из командной строки, и воспроизведение музыки не остановится при падении X. Sonata использует преимущества MPD и дает простой и дружественный интерфейс.
Sonata предоставляет простой доступ к музыке. Можно выбрать свернутый или расширенный вид, работать со вкладками для очереди воспроизведения, плейлистов, библиотеки, информации о песне, потоков. Интерфейс настраивается, можно убрать ненужные вкладки, кнопки воспроизведения, индикатор воспроизведения, панель состояния, обложку альбома. Главное окнно скрывается по щелчку в трее или по команде sonata -t, которую для простоты можно привязать к комбинации клавиш. Также можно включить всплывающие сообщения о смене песни. В Sonata есть много полезных возможностей. Тексты песен могут загружаться с lyricwiki.org и сохраняться в каталоге Это всё сойдет за обычные возможности продвинутого плеера, но есть кое-что еще: у Sonata простой и дружественный интерфейс. Забудьте о программах, которые невозможно использовать, не развернув на весь экран: Sonata не занимает больше места, чем боковая панель. Плееры со множеством возможностей выглядят сложно; в Sonata есть только то, что нужно. Sonata есть в тестовой и нестабильной ветке Debian и во всех репозиториях Ubuntu. Сейчас программа находится в разработке, но довольно стабильна. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Tue, 22 Jul 2008 16:34:45 +0200 Автор: Роман Мамедов. Оригинал: «mhddfs: join several real filesystems together to form a single larger one», 25 мая 2008 г. Пусть имеются три диска: на 80, 40 и 60 Гб; и 150 Гб аудиофайлов, которые нужно разместить на дисках. Как вы это сделаете? Раньше я знал о двух решениях: создать
Однако первый подход довольно утомительный: нужно определить, как распределять данные по дискам и помнить, что где хранится. Допустим, нужно будет хранить классическую музыку на первом диске, а рок-музыку — на втором. Потом первый диск внезапно заполняется, а втором остается много свободного места. Теперь нужно обменять файлы на дисках, либо переходить между ними при помощи символьных ссылок. RAID хотя и решает проблему, но всегда приводит к значительным потерям либо в надежности хранения, либо в доступном дисковом пространстве. Но недавно я нашел более удачное решение для таких задач: mhddfs. Это модуль FUSE, позволяющий комбинировать файловые системы в одну большую виртуальную, содержащую все файлы компонентов, а также всё их свободное пространство. Более того, в отличие от прочих сходных модулей (unionfs?), mhddfs не ограничивает возможность добавления новых файлов в комбинированную файловую систему и разумно определяет, где эти файлы хранить. Пусть три жестких диска монтированы в $ df -h Filesystem Size Used Avail Use% Mounted on ... /dev/sda1 80G 50G 30G 63% /mnt/hdd1 /dev/sdb1 40G 35G 5G 88% /mnt/hdd2 /dev/sdc1 60G 10G 50G 17% /mnt/hdd3 После установки пакета # mkdir /mnt/virtual # mhddfs /mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual -o allow_other option: allow_other (1) mhddfs: directory '/mnt/hdd1' added to list mhddfs: directory '/mnt/hdd2' added to list mhddfs: directory '/mnt/hdd3' added to list mhddfs: move size limit 4294967296 bytes mhddfs: mount point '/mnt/virtual' Опция « В итоге получим: $ df -h Filesystem Size Used Avail Use% Mounted on ... /dev/sda1 80G 50G 30G 63% /mnt/hdd1 /dev/sdb1 40G 35G 5G 88% /mnt/hdd2 /dev/sdc1 60G 10G 50G 17% /mnt/hdd3 mhddfs 180G 95G 85G 53% /mnt/virtual Как видите, была создана новая файловая система, объединяющая емкости дисков. Если вы посмотрите Но что если попытаться записать файлы в Кроме того, если если на середине записи какой-то диск заполняется (допустим, вы попытались создать очень большой файл), то запись не отменяется, и Теперь можно просто работать с файлами в Если нужно создавать точку монтирования автоматически при каждой загрузке, то можно добавить такую строчку в mhddfs#/mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual fuse defaults,allow_other 0 0 Подробности смотрите в В дальнейшем, если потребуется, то закончить работу с Пакет mhddfs есть в тестовой и нестабильной ветке Debian; в Ubuntu его пока нет. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Sun, 20 Jul 2008 23:31:44 +0200 Автор: Флорис Брайнуж. Оригинал: «cu: Simple serial communication program», 4 мая 2008 г. Если у вас есть серверы, встроенные системы, высокопроизводительные маршрутизаторы (или старые ПК, выполняющие подобную работу), то скорее у них будет консоль на последовательном порте, нежели дисплей с клавиатурой. Даже если обычно для захода на эти машины вы используете Также нужна программа для т. н. «последовательной связи», которая может соединиться с последовательным портом и позволяет использовать локальный терминал как консоль подсоединенного устройства. Однако большинство программ для последовательной связи создано во времена, когда работа с сетью шла через модем (поключенный к последовательному порту) для дозвона до других систем. В результате, у них, как правило, тяжелые интерфейсы со всей специфической для модемов функциональностью. Здесь поможет cu — очень простая программа, дающая минимально необходимую базу. Для описанного выше простейшего случая она вызывается так: $ cu -l /dev/ttyS0 Вот пример, как я подключаюсь к домашнему маршрутизатору (хотя обычно я бы использовал flub@laurie:~$ cu -l /dev/ttyS1 Connected. Debian GNU/Linux 4.0 balder ttyS0 balder login: root Password: Last login: Sun Apr 13 19:58:46 2008 on ttyS0 balder:~# apt-get update ... balder:~# apt-get upgrade ... balder:~# logout Debian GNU/Linux 4.0 balder ttyS0 balder login: ~. Disconnected. flub@laurie:~$ Как можно видеть, я использовал второй последовательный порт (ttyS1) локального компьютера laurie для соединения с первым последовательным портом (ttyS0) маршрутизатора balder, настроенного для работы getty. Это позволяет мне войти в систему и сделать все что нужно, как с любого другого терминала. Отсоединение производится как и по умолчанию в ssh — вводом «~.» и переводом строки. Выше соединение осуществляется через последовательную линию, настроенную на скорости 9 600 бод, с 8 битами данных, без проверки по четности, с 1 стоповым битом. Скорее всего, это будет соответствовать параметрам устройства по умолчанию. Однако иногда это довольно медлено, и можно настроить сервер (или другое устройство) для работы на большей скорости, либо такая настройка уже осуществлена производителем, и нужная скорость обозначена в документации. Скорость просто меняется другим аргументом командной строки: $ cu -l /dev/ttyS0 -s 150000 Если хотите поменять четность, то используйте -e (чет) или -o (нечет). К сожалению, стоповые биты и биты данных нельзя поменять аргументами командной строки, но это и требуется крайне редко. В cu есть несколько дополнительных опций, а также команд, начинающихся с экранирующего символа «~». Впрочем, большинство из них связаны с модемами для дозвона до других систем и не применимы для нулевого модема. Подробное описание специфических возможностей есть в странице руководства Да, если вам уже не довелось иметь в наличии последовательный порт (так обстоит с многими современными лэптопами), то USB-заглушка для последовательного порта — обычно © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Sat, 19 Jul 2008 14:16:05 +0200 Авторы: Энтони Брайан, Тацуширо Цуджикава. Оригинал: «aria2: high speed command line download utility», 16 июля 2008 г. Если вы часто загружаете файлы из Интернета, и вам удобно использовать командную строку, то стоит попробовать aria2 — кроссплатформенную утилиту, схожую с графическими менеджерами загрузки, но расходующую меньше системных ресурсов. В aria2 есть ряд неоценимых возможностей вроде продолжения загрузки после обрыва, поддержки BitTorrent и Metalink, загрузки по сегментам, загрузки одного файла с нескольких серверов (BitTorrent, HTTP/FTP), одновременной загрузки нескольких файлов, автоматического исправления ошибок для BitTorrent и Metalink, и так далее. Если вам больше нравится графический интерфейс, то можете использовать оболочку aria2fe. Заметьте, что aria2 больше предназначена для объемных загрузок; если нужна утилита для сбора веб-страниц, то лучше будет wget. Работа с aria2cПроще всего вызвать aria2 — выполнить «aria2c URL/файл»: $ aria2c http://host/image.iso URL может указывать на обычный файл, либо .torrent или .metalink. Для BitTorrent и Metalink имеются дополнительные опции вроде регулирования скорости отдачи, выборочной загрузки файлов торрента, изменения портов, времени и частоты раздачи торрентов (seed). Для приостановки загрузки нажмите Ctrl-C; для возобновления запустите aria2c с тем же аргументом и в той же директории. Загрузка одинаковых файлов из разных источниковaria2 поддерживает множественные URL для одного файла, вы можете перечислить их в командной строке через пробел. $ aria2c http://host/image.iso http://mirror/image.iso — эта команда распределит загрузку между несколькими серверами. aria2 может даже загружать один и тот же файл сразу с BitTorrent и с FTP/HTTP; при этом данные, полученные по FTP/HTTP, будут передаваться в BitTorrent. Восстановление поврежденных загрузокaria2 может восстанавливать поврежденные загрузки по информации файлов .torrent или .metalink. $ aria2c -M test.metalink --check-integrity=true Опция -M задает локальный файл test.metalink с информацией, по которой восстанавливается загрузка. Параметры в URLМожно задать шаблон с множеством вариантов участка URL. Следующая команда загружает части одного файла с трех серверов (не забудьте заключить параметр в кавычки, чтобы избежать раскрытия команды интерпретатором): $ aria2c -P 'http://{host1,host2,host3}/file.iso'Числовая последовательность может задаваться при помощи []. Следующая команда загружает файлы от image000.png до image100.png с одного сервера: $ aria2c -Z -P 'http://host/image[000-100].png' Опция -Z требуется, если URI не указывают на один и тот же файл, как в примере выше. Другие опцииУ aria2 есть много других опций; так, вы можете использовать
Для подробностей смотрите страницу руководства (man aria2c). Доступностьaria2 есть в большинстве дистрибутивов Linux. Пакеты с aria2 есть в Debian stable, testing, unstable; Ubuntu Feisty, Gutsy, Hardy. Программу активно поддерживает и разрабатывает Тацуширо Цуджикава. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Fri, 18 Jul 2008 13:08:12 +0200 Автор: François Marier. Оригинал: «email-reminder: Never forget a birthday or an anniversary again!», 13 июля 2008 г. email-reminder — простое средство для задания событий, о которых вы хотите получать напоминания по электронной почте. Эти напоминания могут высылаться (ежедневно, по маленькому заданию cron) в соответствующий день, либо заранее. События включают в себя дни рождения и годовщины; также они могут быть еженедельными, ежемесячными и ежегодными. Вот пример того, что вы получите по почте к приближающемуся дню рождения: From: Email-Reminder Date: Tue, 12 May 2007 04:00:22 -0400 (EDT) To: Francois Marier <fmarier@gmail.com> Subject: Trent Reznor’s birthday Hi Francois, I just want to remind you that Trent Reznor is turning 42 in 5 days. You can reach Trent Reznor at trent@example.com. Have a good day! – Sent by Email-Reminder А вот пример того, что вы получите по поводу годовщины: From: Email-Reminder Date: Tue, 29 Jul 1996 04:00:11 -0400 (EDT) To: Francois Marier <fmarier@gmail.com> Subject: 15th anniversary of Prince Charles and Lady Diana Hi Francois, I just want to remind you that the 15th anniversary (Crystal) of Prince Charles and Lady Diana is today. Have a good day! – Sent by Email-Reminder События каждого пользователя задаются в XML-файле ~/email-reminders. Пример: email-reminders.xml. Однако на деле нет необходимости вручную определять всё в XML. К email-reminder прилагается простой пользовательский интерфейс GTK:
email-reminder есть в Debian, начиная с Sarge, и в Ubuntu, начиная с Dapper. Программа распространяется на условиях GPL. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Wed, 16 Jul 2008 13:10:20 +0200 Дорогие читатели! Мы решили составить список ссылок на русскоязычные блоги о Debian и Ubuntu. Напишите нам, если сами блоггерствуете или просто можете порекомендовать что-нибудь интересное. al@beshenov.ru. Спасибо. Wed, 16 Jul 2008 11:05:29 +0200 Автор: Каспар Клеменс Мирау. Оригинал: «aiccu: add IPv6 connectivity to your machine», 6 июля 2008 г. Время пришло: ничто не должно помешать вам начать работать с IPv6 на своем компьютере. Конечно, есть проблема: большинство интернет-провайдеров не предоставляют настоящий IPv6. Поэтому в большинстве случаев проще будет настроить туннелирование с брокером IPv6. Сейчас уже есть несколько бесплатных брокеров; я покажу простой способ настроить IPv6 с aiccu и SixXS. Получение учетной записиСначала нужно подать заявление на получение учетной записи SixXS. Заметьте, что SixXS — нечто вроде интернет-провайдера, поэтому им требуется верная информация о вас. Можно дать ссылку на профиль Xing или LinkedIn. Вашу заявку проверят и, скорее всего, одобрят — ждите письма. После этого зайдите на сайт SixXS, запросите новый тоннель и выберите точку входа по близости. На этом шаге тоже требуется подтверждение администрации — ответ будет дан в течение дня. Настройка aiccuУстановите пакет aiccu (sudo apt-get install aiccu). При установке будет задан вопрос, каким брокером вы пользуетесь. Для SixXS уже есть настройки, поэтому выберите его и введите данные учетной записи. Если все верно, то aiccu соединится с SixXS и запросит информацию о тоннеле. Откройте терминал и запустите ifconfig sixxs — это должно отобразить новый сетевой интерфейс с адресом IPv6. Для проверки IPv6 откройте в браузере http://www.kame.net/. Если логотип с черепашкой на этой странице анимирован, то вы используете IPv6, в противном случае — IPv4. Система баллов SixXSНужно разобраться с системой баллов SixXS. Она используется для ограничения пользователей в совершении нежелательных действий, а также чтобы убедиться, что пользователи поддерживают работу тоннелей. Например, при падении статического тоннеля с вас снимается определенное число баллов, поэтому вам лучше поддерживать его работу. Систему баллов похожа на банк — есть ограничение на кредит, и вы не можете выходить за него и покупать всё, что хотите; однако за работающий тоннель баллы начисляются, и с ними можно много чего сделать. Вопросы безопасностиПомните, что весь трафик IPv6 будет идти через брокера, поэтому вы должны следить за безопасностью. Контент IPv6Интересный контент IPv6 смотрите на http://www.sixxs.net/misc/coolstuff/: серверы новостей, Freenode, и так далее. Помните, что еще не все приложения работают с IPv6, а многие требуется специально настроить для IPv6. В Debian и Ubuntu можно использовать, по крайней мере, Firefox, Thunderbird, Pan и Irssi. aiccu есть в Debian, начиная с Etch, и а Ubuntu, начиная с Feisty. Удачной работы в сети! Примечание переводчика: имеются другие брокеры IPv6, см. обзор http://en.linuxreviews.org/Free_IPv4_to_IPv6_Tunnel_Brokers. SixXS обвиняют в беспричинном закрытии тоннелей и поддержке политической цензуры. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Mon, 14 Jul 2008 16:25:11 +0200 Автор: Андрас Хорфат. Оригинал: «potrace: Transform bitmap images into vector graphics», 19 мая 2008 г. Иногда можно столкнуться с необходимостью получить из какого-то изображения материал высокого разрешения. Если вы не иллюстратор, то может понадобиться получить результат хорошего качества из графики с низким разрешением, так чтобы его можно было как угодно увеличивать, а элементы при этом сглаживались. Без специальных программ отрисовки можно сделать следующее: взять растровый редактор вроде GIMP, изменить размеры изображения с применением лучшего метода сглаживания, а потом добавить выборочное размытие. Чаще всего это не дает удовлетворительных результатов. Есть маленькая, но мощная утилита potrace, написанная Питером Селинджером, профессором математики из университета Dalhousie. Программы отрисовки (trace) вроде potrace принимают на входе растровое изображение и создают из него изображение в формате SVG. potrace даже поддерживает вывод в PDF. Пример для командной строки: $ potrace -s image.bmp При этом программа преобразует пиксели изображения в закрашенные фигуры, которые выглядят гладкими при любом масштабе. В моем личном опыте работы иллюстратором potrace давал очень хорошие результаты для многих изображений. Если входное изображение имело острые элементы, то potrace передавал их, в то время как дорогое патентованное ПО давало плохие результаты, сглаживая края; требовалось много ручной правки. Преимущества potrace относительно других программ:
Минусы:
Вот пример входного и выходного изображения, который можно найти на домашней странице проекта:
Пакет давно есть и в Debian, и в Ubuntu. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Mon, 14 Jul 2008 16:25:11 +0200 Автор: Штефан Виндм. Оригинал: «kteatime - Small tray utility which reminds you of steeping tea», 11 мая 2008 г. Для кого-то единственным напитком, который можно пить за компьютером, является кофе. Для тех же, кто иногда наслаждаетя чашечкой чая, может пригодиться kteatime. Думаю, всем знакома ситуация: вода только вскипела, вы кладете в чашку зеленый чай, заливаете водой, возвращаетесь к делам... и уже 15 минут спустя понимаете, что забыли про чай, и спасти его может только множество кубиков сахара ;-) kteatime не даст такому случиться и будет показывать в трее небольшой таймер.
После выбора подходящего вида чая и запуска отсчета, вы увидите маленький кружок, меняющий цвет от красного до зеленого. На всплывающей подсказке будет время, оставшееся до конца заварки. Когда чай готов, kteatime отображает небольшое сообщение и воспроизводит сигнал. Можно еще указать команду, которую нужно запустить.
Для меня kteatime — единственная причина, если не считать k3b, чтобы держать в системе библиотеки KDE. Программа хорошо работает и в XFCE. kteatime есть в Debian, начиная с Sarge (если не раньше), а также во всех версиях Ubuntu. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Tue, 01 Jul 2008 01:24:29 +0200 Автор: Каспар Клеменс Мирау. Оригинал: «file: classify unknown files on the console», 29 июня 2008 г. Вам только что прислали письмо с вложениями без пригодных расширений, поэтому вы не знаете, что с ними делать. Это аудио-файлы? PDF? Что же это?.. Похожая проблема возникает после восстановления файлов, с веб-страницами с возможностью загрузки на сервер, и т. д. Можете, конечно, присвоить файлу расширение и открыть в подходящем, на ваш взгляд, приложении, но лучше, если с этим разберется компьютер. Как пользователь GNU/Linux, вы, должно быть, уже подумали: «Наверняка для этого есть утилита командной строки». Конечно есть: file Яна Дарвина. Часто эта утилита устанавливается автоматически, исходя из зависимостей. В любом случае, поможет aptitude install file. file зависит от libmagic — пакета с шаблонами для распознания, так называемыми «волшебными числами». Пусть есть такая директория с неизвестными файлами: $ ls -l total 2152 -rw-r--r-- 1 ccm ccm 4118 2008-03-30 06:32 unknown.0 -rw-r--r-- 1 ccm ccm 10220 2008-05-06 02:23 unknown.1 -rw-r--r-- 1 ccm ccm 12693 2008-05-06 02:23 unknown.2 -rw-r--r-- 1 ccm ccm 25933 2007-10-26 07:41 unknown.3 -rw-r--r-- 1 ccm ccm 2121 2007-10-26 07:41 unknown.4 -rw-r--r-- 1 ccm ccm 185 2007-10-14 20:14 unknown.5 -rw-r--r-- 1 ccm ccm 1189011 2008-05-17 22:37 unknown.6 -rw-r--r-- 1 ccm ccm 824163 2008-02-02 05:02 unknown.7 -rw-r--r-- 1 ccm ccm 82367 2007-09-20 06:18 unknown.8 -rw-r--r-- 1 ccm ccm 8872 2006-04-24 12:43 unknown.9 Теперь мы хотим узнать, что внутри этих черных ящиков. Поэтому просто выполняем «file *»: $ file * unknown.0: XML unknown.1: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped unknown.2: ASCII C program text unknown.3: PDF document, version 1.4 unknown.4: LaTeX 2e document text unknown.5: perl script text executable unknown.6: gzip compressed data, from Unix, last modified: Wed Oct 8 16:27:09 2003 unknown.7: Ogg data, Vorbis audio, stereo, 44100 Hz, ~192003 bps, created by: Xiph.Org libVorbis I (1.0) unknown.8: PNG image data, 492 x 417, 8-bit/color RGBA, non-interlaced unknown.9: HTML document text Вот и всё! Впечатляет, да? file не только различает бинарные и текстовые файлы, но даже пытается определить, какой язык программирования использовался. Это не такое уж волшебство: например, в скрипте ZSH первая строчка — « У file есть опции командной строки, которые делают утилиту еще более полезной. Одна из самых любопытных — -i — печатает вместо описаний MIME-типы. Если вы веб-разработчик и хотите узнать точный тип загруженного файла, то file здорово сбережет время: $ file -i * unknown.0: text/xml unknown.1: application/x-object, not stripped unknown.2: text/x-c; charset=us-ascii unknown.3: application/pdf unknown.4: text/x-tex unknown.5: application/x-perl unknown.6: application/x-gzip unknown.7: application/ogg unknown.8: image/png unknown.9: text/html Чудесно, не так ли? Веб-сервер Apache тоже использует в подобных целях libmagic. Собственно, file — это обертка к libmagic. file давно есть в Debian и Ubuntu. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Tue, 24 Jun 2008 20:06:17 +0200 Автор: Данило Мартинс. Оригинал: «zsh: a REALLY nice alternative for bash», 18 июня 2008 г. После многих лет работы с ZSH вместо BASH, я никак не могу понять, почему еще не все перешли на ZSH. Это полноценная оболочка, которая обязательно облегчит вашу жизнь — только попробуйте. Для начала ее нужно установить (а то!). В APT просто сделайте $ sudo apt-get install zsh и все должно настроиться. Можно использовать пакет zsh-beta, но он периодически падает. ZSH есть во всех репозитариях Debian и Ubuntu. Для начала можно просто напечатать zsh, но вы не особо порадуетесь результату. Давайте сначала настроим оболочку под себя. Создадим в домашней директории файл .zshrc с примерно таким содержанием (обратите внимание на закоментированные строки и попробуйте их): zshrc.txt. (В тестовой или нестабильной ветке Debian, если вы запустите ZSH без .zshrc, то будет предложен диалог настроек.) Теперь запустим zsh. Если видите другое приглашение (особенно если не закоментировали соответствующие строки в примере .zshrc), то программа работает. Посмотрим, что можно с ней делать. Первый пример. Пусть вы исполняете длинную команду (cat /etc/mailcap | grep "^audio" | sed s/mplayer/gmplayer) и забыли синтаксис sed. Просто переместите курсор к «sed» и нажмите Alt-H — вы получите страницу руководства Второй пример. Вы соединились с удаленной системой через SSH. Вы хотите использовать опцию «X11 forwarding», но не помните, как. Напечатайте «ssh -» и нажмите Tab — в ZSH работает не только дополнение файлов, но и параметров. Проверьте с какой-нибудь командой, какую хотите использовать. Третий пример. У вас есть ключ SSH для удаленной системы, и вы хотите копировать оттуда файл, используя SCP. Однако вы забыли, где именно этот файл находится. Напечатайте «scp user@remotehost:/home/myuser/myf» и нажмите Tab — ZSH дополнит имя удленного файла! (Для этого нужно иметь ключ RSA/DSA в удаленной системе.) Четвертый пример. Вы хотите установить пакет Debian, но не помните его имя полностью (или лень печатать). Просто напишите «apt-get install mysql-client» и нажмите Tab — ZSH дополнит имя пакета. Если вариантов несколько, то они будут перечислены. Ну, достаточно примеров с автодополнением. Пятый пример. Вы использовали вчера дли-и-и-и-инную команду, и снова ее печатать вам лень. И вы не хотите пролистывать стрелками журнал до появления команды. Вместо этого просто напечатайте начало команды и нажмите Alt-P. ZSH дополнит строчку до команды из журнала. Можете продолжить нажимать Alt-P и переходить к предыдущим записям (если упустили нужную, то Alt-N переходит к следующей). Последний пример. Вы написали apt-gey install foo bar foo2 bar2 foo3 bar3 foo4 bar4 … foo239 bar239 и нажали Enter... #$@! Команды apt-gey не существует! Вместо того, чтобы нажимать ↑ и Home, а потом исправлять «gey» на «get», можно просто использовать ^gey^get — это комбинация для повторения прошлой команды с заменой «gey» на «get». Если вам понравилась ZSH, и вы хотите использовать ее как оболочку по умолчанию — запустите команду chsh и укажите /usr/bin/zsh. Пользуйтесь! © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Tue, 24 Jun 2008 20:06:17 +0200 Автор: Алекс Драхманн. Оригинал: «Ghextris: tetris clone with a hexagonal makeover», 8 июня 2008 г. Эта игра сходна с Тетрисом, только граница и падающие блоки состоят из шестиугольников. Нужно компоновать цветные элементы, чтобы они составляли строки. Законченные строки пропадают; игра завершается, как только стопка элементов достигнет верха.
Шестиугольники сложно компоновать, поэтому Ghextris сложнее, нежели другие подобные игры, но после тренировки все становится проще. Процесс усложняется, если вы допускаете ошибки, либо переполняете пространство; часто выпадают неподходящие блоки; кажется, со временем они еще и падают быстрее. Начисляемые очки зависят от количества заполненных строк. Текущий и наибольший счет показываются внизу окна. Интерфейс и графика просты и хорошо вписываются в среду GNOME. Заливка элементов простая, без текстур и теней, поэтому не отвлекает от процесса. В игре задействованы клавиши-стрелки: ← и → — для перемещения блоков, ↑ и ↓ — для поворота. По нажатию пробела блок падает вниз. Я играл в версию 0.9.0, которая сейчас содержится в репозитариях Ubuntu Hardy Heron и Debian. Ghextris есть во всех текущих версиях Debian и Ubuntu. Официальный сайт проекта: http://mjr.iki.fi/software/ghextris. Ghextris написал Микко Раухала по примеру схожей игры Девида Макли — Xhextris. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Tue, 24 Jun 2008 20:06:17 +0200 Автор: Нейл Стюарт. Оригинал: «JOE Joe’s own editor: a really usable text editor», 2 июня 2008 г. В те времена, когда я был новичком в Linux, JOE оказался первым текстовым редактором, который я смог закрывать, не перезагружая компьютера. То, что я его использую до сих пор, много лет спустя — свидетельство простоты и мощи JOE. Если не хотите использовать EMACS (зачем запускать сразу две операционные системы?) и все еще не можете разобраться, как работать в VI, то JOE — для вас. JOE запускается из командной строки как joe, либо joe файл — для редактирования файла. Когда JOE запустится, вы увидите одну панель с заголовком, отображающую информацию о положении курсора, текущем времени и сообщение «Crtl-K H for help» (^KH в обозначениях JOE). Так что если одновременно нажать Ctrl и K, отпустить, после чего нажать H, то в верхней части экрана появится краткий список команд. Там я и узнал, как выйти из программы (без перезагрузки), открыть новый файл и сохранить его; как переместить курсор, осуществить поиск и замену, переходить по словам и строкам, помечать участки текста и перемещать их. Можно продолжать редактировать файл с окном помощи наверху — так вы быстро научитесь работать в JOE.
JOE — еще и мощный редактор. Например, можно пропустить любую часть текста через команду интерпретатора. Хороший пример приводится в файле помощи JOE. Если отметить кусок текста, нажав ^KB в начале и ^KK в конце, а потом пропустить его через ^K/ sort, то JOE отсортирует строки. Мощно, особенно вместе со старыми верными командами вроде tr и sed. Поиск с заменой тоже делаются просто: нажмите ^KF и введите текст для поиска. Здесь тоже есть мощные возможности: стрелками курсора можно пролистать предыдущие запросы (включая те, что делались в других сессиях); по нажатию Tab работает дополнение до слов текста. Далее можно выбрать, что делать с найденным. Для замены нажмите R и введите новый текст. Можно заменить все сразу, а можно и просмотреть все совпадения — ^L переходит к следующему. Еще доступны регулярные выражения — это же все-таки *NIX. Опять же, хороший пример есть в файле помощи. Если заменять С макросами тоже все просто. Запись одного из десяти макросов начинается при помощи ^K[ и добавочной цифры n, а заканчивается при помощи ^K]. Затем для вызова макроса используйте ^Kn. В JOE много других возможностей. Он запоминает положение в тексте и возвращается к нему при следующем открытии файла. По умолчанию работает подсветка C, Java, LaTeX, HTML и многих других форматов. Есть выравнивание кода, поддержка нескольких окон, закладки. Можно скомпилировать исходный кода из joe (^[C) и пролистать места, где компилятор обнаружил ошибки (^C= — следующая, ^C- — предыдущая). Наконец, JOE — старая, стабильная и рабочая программа. В Etch и Lenny находится версия 3.5. Я использую JOE для всех нужд, дни напролет, и он никогда не подводил. Подробности смотрите в info joe или на домашней странице проекта. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Tue, 04 Mar 2008 00:05:42 +0100 Автор: Адриан вон Биддер. Оригинал: «psmisc: a closer look to a standard package», 13 января 2008 г. Пакет psmisc установлен практически во всех системах Debian и Ubuntu и содержит несколько маленьких программ, связанных с управлением процессами Unix: pstree, killall, fuser и peekfd. Ниже следует краткое описание этих полезных средств. Хотя, конечно, все знают про killall и даже про pstree, в пакете также есть fuser и peekfd, которые для меня лично до недавнего времени были новыми (хотя я слышал, что по крайней мере fuser существует давно; позор мне). killall столь же ужасен, как и называется: он убивает все процессы с указанным именем. По умолчанию используется SIGTERM, но, конечно, может посылаться любой другой сигнал. Также есть опции определения процессов регулярными выражениями или по группам. Обычно я использую это для уничтожения элементов KDE командой вроде $ killall kio_imap4 Это приходится делать, так как у KMail есть некоторые проблемы с работой с моим IMAP-сервером. (Отдельно стоит упомянуть программу slay из пакета slay, которая просто убивает процессы, принадлежащие указанному пользователю.) Хороший обзор того, что запущено в системе, дает вывод pstree. Вот часть вывода у меня: $ pstree
init─┬─NetworkManager───2*[{NetworkManager}]
├─NetworkManagerD
├─acpid
├─hald───hald-runner─┬─hald-addon-acpi
│ ├─hald-addon-cpuf
│ ├─hald-addon-dell
│ ├─hald-addon-inpu
│ └─hald-addon-stor
├─kdeinit─┬─artsd
│ ├─2*[kio_file]
│ ├─kio_http
│ ├─3*[kio_imap4]
│ ├─kioexec───wfica.sh───wfica
│ ├─klauncher
│ ├─konqueror
│ ├─konsole───bash─┬─pstree
│ │ └─xchat───{xchat}
│ └─kwin
├─kdesktop───lineakd───2*[{lineakd}]
├─kdm─┬─Xorg
│ └─kdm───startkde───kwrapper
└─sshd
Опции pstree включают отображение идентификаторов процессов, пользователей и контекстов безопасности SE Linux. fuser позволяет выяснить, какой процесс использует определенный файл, например: $ fuser -v /home/avbidder/.xsession-errors
USER PID ACCESS COMMAND
/home/avbidder/.xsession-errors:
avbidder 4409 F.... startkde
avbidder 4533 F.... kdeinit
avbidder 4536 F.... dcopserver
avbidder 4538 F.... klauncher
avbidder 4540 F.... kded
avbidder 4547 F.... kwrapper
avbidder 4549 F.... ksmserver
avbidder 4550 F.... kwin
avbidder 4552 F.... kdesktop
avbidder 4554 F.... kicker
avbidder 4562 F.... artsd
avbidder 4567 F.... kmix
avbidder 4568 F.... konsole
avbidder 4572 F.... beagled
avbidder 4574 F.... lineakd
avbidder 4579 F.... knetworkmanager
avbidder 4680 F.... knotify
avbidder 4916 F.... kio_uiserver
avbidder 5706 F.... akregator
avbidder 5708 F.... kttsd
avbidder 5742 F.... kio_file
avbidder 5864 F.... beagled-helper
avbidder 6939 F.... konqueror
avbidder 7076 F.... konqueror
avbidder 7185 F.... kmail
avbidder 7696 F.... kio_imap4
Также fuser может посылать сигналы этим программам, так что вы можете убить их при помощи fuser -k /home/avbidder/.xsession-errors (по умолчанию используется SIGKILL, но это, разумеется, можно поменять.) В то время как fuser — обычный инструмент системного администратора, peekfd осуществляет более глубокое погружение: он позволяет смотреть, что происходит с файловым дескриптором процесса. (Обратите внимание: peekfd нет в Etch, требуется psmisc из Lenny или еще новее.) Если вы запустите в терминале peekfd, команда просмотрит все дескрипторы процессов, чтобы вывести приблизительно такое: $ peekfd 7808 writing fd 1: foo bar Здесь 7808 — просто cat >/dev/null в другом окне терминала, и я пишу там «foo bar». Страница руководства предупреждает, что отслеживаемые процессы могут завершаться; я с этим не встречался, но мне случалось получать несколько раз ошибку segmentation fault от peekfd, так что мне кажется, что за кулисами прячется настоящая черная магия. Вместо отслеживания всего ввода-вывода процесса, можно получить просто список файлов, которые процесс открывал. Узнать, какие дескрипторы стоит проверить, удобно при помощи директории /proc//fd. Итак, я надеюсь, что эта статья поможет более пристально взглянуть на пакеты, которые вы устанавливали еще со времен Potato и с тех пор внимательно не изучали… © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». Mon, 03 Mar 2008 01:27:16 +0100 Автор: Кэм Солсбери. Оригинал: «pwsafe: A cross-platform tool for password management», 6 января 2008 г. PWSafe — консольная программа для работы с паролями, а также их защищенного хранения. Используя криптографический алгоритм Blowfish (находится в общественном достоянии), PWSafe работает с зашифрованной базой данных для входа в системы. Формат базы данных PWSafe кроссплатформенный, совместим с Counterpane PasswordSafe для Windows, MyPasswordSafe для QT и Password Gorilla для среды Tck/Tk (Windows, Mac OS X, Linux, Solaris, *BSD). Установка PWSafe проводится через командную строку (apt-get) или X Windows (Synaptic), программа уже давно есть в Debian и Ubuntu. PWSafe используется из командной строки, но также поддерживает копирование паролей в буфер выделения X и буфер обмена. Один главный пароль используется для открытия файла с данными. Примеры работы с PWSafe есть на сайте автора, Николаса Даде. Если нужно, то PWSafe также поддерживает генерирование случайных паролей, экспорт баз данных в текстовом виде и слияние воедино разных баз. Сила PWSafe в кроссплатформенной совместимости файлов данных. Например, вы можете разместить копию файлов данных PWSafe на флеш-диске вместе с установочными или исполняемыми файлами для определенных систем. Вы можете хранить этот диск в банковской ячейке, и, даже если с вами что-то случится, ваша супруга или супруг сможет восстановить и передать другим людям данные учетных записей. С PWSafe управлять паролями проще некуда. © 2008 Алексей Бешенов. Оригинальный текст — только на http://beshenov.ru/debaday/. Хотите поддержать мой блог? Закажите Debian и Ubuntu в «Линукс-центре». |
|
contact |