logo

muhas.ru — это просто блог…

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

Логотипы ArchLinux

arch shell logo arch vim logo arch emacs logo arch ruby logo arch python logo arch haskell logo
Xyne не только пишет маленькие полезняшки для linux (я уже много писал про его творения 1, 2, 3, 4, 5), но и рисует… Сегодня заметил у него много разных логотипов арча — все в svg (png как превьюшки).
В общем Xyne в очередной раз порадовал...

Немного о цветах в yaourt и о том как вернуть старый вид проверки обновлений пакетов из aur

arch pacman -SuyМногих напрягает что yaourt теперь не показывает список пакетов при апдейте из аура, т.е. теперь проверка обновления пакетов из аура выглядит как "Foreign packages: / x / y", кто-то костылит правя /usr/lib/yaourt/abs.sh , но на французском арчефоруме дали подсказку, всего лишь выставить в двойку параметр DETAILUPGRADE в yaourtrc. В общем при желании вернуть старое поведение yaourt можно добавив в конфиг строку
DETAILUPGRADE=2
Кстати, судя по всему эта возможность была ещё в версии 0.9.5, однако в man yaourtrc её описание добавили в 0.9.5.1

Но лично меня такое нововведение не раздражает, как минимум только потому что оно уже опционально.
А вот то что --lightbg и COLORMODE объявлены как Depreceated меня немного угнетает даже несмотря на то что я не использовал цвета. Ну благо на замену будет использоваться чудная переменная окружения YAOURT_COLORS. Работает она только при установленной в конфиге USECOLOR — еслу установлено в 0 то никакая расцветка не используется, если в 1, то используются цвета из YAOURT_COLORS (если она не установлена используются цвета по-умолчанию). Решил и я попробывать разукрасить вывод yaourt и в итоге теперь в zshrc красуется строка
export YAOURT_COLORS="no=0:nb=1:pkg=1;34:ver=0;32:lver=1;32:installed=0;36:grp=1;34:od=0;36:votes=0;35:dsc=0:other=0;35:testing=1;31:core=0;31:extra=0;32:xyne-any=0;36:community=0;36:aur=0;36"
А теперь немного подробнее о этой строке — каждый ключ это описание цвета какого-то элемента, ключи разделены умолчальным разделителем массива, т.е. двоеточием.
  • no — без цвета/дефолтный цвет (по умолчанию 0)
  • nb — номер при поиски вида yaourt pkgname (по умолчанию 1;33;7)
  • pkg — имя пакета (по умолчанию 1)
  • ver — версия пакета (по умолчанию 1;32)
  • lver — версия установленного пакета (по умолчанию 1;31;7)
  • installed — цвет текста [installed] (по умолчанию 1;33;7). Возможно кому-то будет не лень и у йогурта появится русская локализация...
  • grp — имя группы. (по умолчанию 1;34)
  • od — статус устаревших пакетов (по умолчанию 1;33;7)
  • votes — количество голосов (по умолчанию 1;33;7)
  • dsc описание. (по умолчанию 0)
  • core, extra, xyne-any, community, aur — имена репозиториев
  • other — остальные репозитории не указанные точно (по умолчанию 1;35)

YAOURT_COLORS работает аналогично PQ_COLORS о которой подробнее можно узнать с помощью man package-query, хотя по сути сказано там тоже самое. О том какие циферки какой цвет означают можно узнать с помощью man dir_colors, так же я уже описывал это в одной из своих заметок...

Правда всё это не избавило от желтого сложночитаемого цвета при сборке пакета из aur и надписи «not found on AUR», если кто подскажет как сие сделать, а то из-за такой мелочи продолжаю использовать не разукрашенный йогурт (но эстетическое чуство хочет большего, тем более после того как уже разукрасил всё остальное).

Корзина для консоли — FreeDesktop.org Trash

Понадобилась в консоли мне корзина, и дабы оградится от возможного велосипедирования пошел на разведку и набрел на уже готовую реализацию на python под названием trash-cli которая реализует спецификацию корзины от FreeDesktop.org — соответственно помнит путь, время удаления, права доступа к файлам, работает со сменными накопителями и, что по мне самое полезное, полностью совместима с мусорками гномокед и прочего...

В сей чудной утилите каждая функция выполняется отдельной командой: trash-list для отображения файлов в корзине, trash-empty отчищающая мусорку (аргументом может быть количество дней), restore-trash для восстановления файлов при запуске которой можно выбрать файлы из списка, и самое главное trash-put интерфейс которой аналогичен rm, т.е. можно задать алиас на trash-put заменяющий rm. Есть ещё volume-of не пойми что делающая и в документации не описанная...

В общем всё просто и функционально. Для арчеводов в AUR'е имеется PKGBUILD

Кстати, на сайте программы есть список схожих проектов, которая видимо давно не обновлялась. Похожих проектов оказывается не так уж и мало (оттуда для себя узнал о безопасном rm — safe-rm, полезная мелочь)

Копирасты против конституции!

Статья 49 Конституции РФ
1. Каждый обвиняемый в совершении преступления считается невиновным, пока его виновность не будет доказана в предусмотренном федеральным законом порядке и установлена вступившим в законную силу приговором суда.
2. Обвиняемый не обязан доказывать свою невиновность.
3. Неустранимые сомнения в виновности лица толкуются в пользу обвиняемого.

Однако несмотря на это за наличие писунчика нас обязывают платить из собственного кармана мифическим "правообладателям" компенсацию за гипотетически возможное изнасилование.

Все ругают постановление «О вознаграждении за свободное воспроизведение фонограмм и аудиовизуальных произведений в личных целях», но дальше ругани и бредовых акций по отправлению Михалкову пустых болванок (или с СПО, или с личной видеосъемкой, или ...) с вложенными туда 30ю копейками дело не доходит. А меж тем сие чудное постановление покушается на один из основополагающих принципов юриспруденции — презумпцию невиновности. Нас обязывают выплачивать деньги даже за гарнитуру к мобильники (Кстати, вот перечень облагаемых «налогм на пиратство» девайсов 1 2), за флешку в фотоаппарат.
Т.е. нас с вами (абсолютно каждого) считают вором и обязывают компенсировать каким-то правообладателям это...

Нет - налогу на болванки! Да — Creative Сommons!Посему предлагаю всем кто против сего «налога» и тоже понимает всю парадоксальность постановления и нарушения им статьи 49 нашей с вами Конституции написать в конституционный суд «жалобу гражданина» (кстати полина за сие взымается в размере одного минимального размера оплаты труда). А так же ищу кого-нить в славном городе Пскове кто поможет составить сию жалобу и тех кто сможет стать полномочным представителем в суде.

Так же возлагаю огромные надежды на так называемую Пиратскую Партию — ребята, может вы оформите жалобу юридического лица (если оно у вас имеется) или коллективную жалобу?

UP Ну что же. Пиратская партия не спит. «7 ноября в 14.00 в Москве на выходе из метро Чистые пруды (около памятника Грибоедову) состоиться митинг Пиратской партии России «Нет-налогу на болванки! Да – Creative Сommons!».»
Ну и собственно петиция к депутатам тут

vim? nano? emacs? mcedit? JOE! Текстовый редактор JOE...

Пример внешнего вида редактора joeПостоянно вижу в сети холивары на тему vim vs emacs vs nano vs ещё что-нибудь, но в этих святых войнах никогда не видел упоминание редактора JOE. Сей недостаток холиваров я и хочу этой своей заметкой исправить познакомив своих читателей с простым, но вполне годным консольным текстовым редактором.

JOE — Joe's own editor (собственный редактор Джо, видимо Джо как и многие юниксоиды любитель рекурсивных акронимов). Он наверняка есть в репозитории вашего дистрибутива, и не смотря на то что о нем почему-то редко можно где-то в русскоязычной сети услышать он всё же продолжает развиваться.

Примечательной особенностью JOE является возможность эмулировать другие редакторы. Вот выдержка из экранной документации aka man
JOE также эмулирует несколько других редакторов. JSTAR - это имитация WordStar со многими расширениями JOE. JPICO - имитация текстового редактора PICO, используемого в почтовой системе PINE, но со многими расширениями и улучшениями. JMACS - это имитация GNU-EMACS. JICE - настроенный на использование функциональной клавиатуры в традиционном PC-стиле редактор, рекомендуемый для использования в комплексе программ бухучета iceB. RJOE - урезанная версия JOE, которая позволяет редактировать только файлы, указанные в командной строке.
(pico это именно то что хотел клонировать редактор nano, т.е. перейти с nano на jpico должно быть не трудно)
Не хочется копировать сюда man, который, кстати, полностью переведен на русский язык, поэтому я всего лишь опишу основные возможности и скажу пару слов и своих мыслей по поводу редактора.

Начнем, пожалуй, с основных возможностей:
  • Поддержка UTF-8 и возможность смены кодировок с автоопределением выбираемого файла (с cp1251 были проблемы и приходслось иногда выбирать его в меню, но с тех пор файлы с этой кодировкой мне не попадались)
  • Подсветка синтаксиса (на данный момент в комплекте уже имеются файлы для подсветки 4gl, ada, asm, awk, c, cobol, conf, csh, css, diff, fortran, haskell, html, java, joerc, jsf_check, jsf, lisp, lua, m4, mail, mason, matlab, ocaml, pascal, perl, php, ps, python, rexx, ruby, sed, sh, skill, sml, spec, sql, tcl, tex, troff, verilog, vhdl, xml, ну и свои создовать никто не запрещает)
  • Редактирование нескольких файлов одновременно с возможностью разбивки экрана на регионы аля gnu screen
  • Макросы (метакоманды) благодаря чему появляется некоторая расширяемость функций редактирования
  • Редактирование файлов размером больше чем оперативная память.
  • Копирование/вставка блоков
  • Режим для рисования ASCII графики
  • Неограниченное Undo/Redo
  • Что-то похожее на автокомплит
  • Меню настроек, т.е. настройки редактора можно задавать не только с помощью параметров командной строки или файла конфигураций, но и интерактивно. В меню можно изменить не только настройки но и выбрать кодировку или подсветку, перейти в режим hex-редактора и прочее
  • Полная настройка горячих клавиш
  • Поддержка мыши
  • Интересно организованная справка (о ней ниже)
  • Переход к строке, пометке
  • Возможность компиляции прямо из редактора
  • Поиск/замена с использованием регулярных выражений
  • Работа на большинстве Unix-подобных систем (в том числе Mac OS X и BeOS), а по слухам его можно собрать для Windows и даже для DOS
И много чего ещё...

Пример автокомплита в joeПри запуске редактора joe с дефолтными конфигами вверху мы видим статусную строку — в ней же справа мы видим надпись Ctrl-K H for help, т.е. для вызова справки надо нажать ^+K и H. Справка до ужаса проста и похожа на то что можно видеть в редакторе nano при его запуске, но в joe она сверху и уже многоэкранная — пролистывать можно с помощь Meta+. и Meta+,. В справке описаны все хоткеи, помощь по поиску/замене, команды и прочее. Скрывается справка тем же сочетанием клавиш что и открывается. Стоит заметить что самая полная справка в joe по-умолчанию, без эмуляции типа jmacs, ибо именно в файле конфигурации и прописана сама справка....

Полный список функций и особенности управление самим редактором можно найти в man'e, а сдесь же я просто скажу о паре достоинств для меня.

Конечно же главное достоинство joe это вовсе не функционал (хотя он весьма и весьма не беден), а кажущаяся простота и относительная легкость освоения. По легкости освоения он, естественно, уступает меню-ориентированным текстовым редакторам, однако быстрота выполнения основных операций по редактированию текста оставит такие редакторы далеко позади, собственно большинство командо-ориентированных редакторов это делают (правда для этого надо определенные навыки работы с ними, но c joe сие достигается достаточно быстро).
Ну и не стоит забывать о настраиваимости. Настраивается всё — каждая настройка может быть изменена не только в конфиге, но и с помощью параметров командной строки, а так же большинство из них может быть изменено уже в запущенном joe с помощью меню. Так же при недостатке уже встроенных комманд по управлению текстом можно создать свои команды и макросы, к примеру, готовые макросы для html есть на оффсайте. Клавишные комбинации можно менять как душе угодно абсолютно все, именно эта особенность и позволина эмулировать разные текстовые редакторы, т.е. запуская jmacs мы запускает тот же joe но указывая в качестве параметра файл с глобальными настройками jmacsrc в котором и описаны все настройки клавиатуры схожие с настройками emacs.

В общем хватит расхваливать, ведь лучше один раз попробывать да прочитать man.
Когда-то попробовал и я, и для меня сей чудный редактор тогда оказался идеальным в соотношении порог вхождения - функциональность - настраиваемость. В консоли использую именно его.
Этот заметка написана именно в joe
PS Изначально хотел написать немного технических аспектов и небольшое руководство по началу использования, но за меня это сделал Алексей Федорчук в далеком 2002 году. Причем сделал это замечательно и его заметка до сих пор остается неплохой вводной (хотя немного и устаревшей). Правда благодаря русскому man'у многим теперь она покажется бесполезной, но именно такая подача информации лично мне ближе чем сухость официального мануала. В итоге вместо вводной по использованию у меня получилась просто ода joe и его реклама =) а рекламы ему действительно не хватает.