• О добавлении репозиториев в Ubuntu 9.10

      imageНачал читать Linux Format 11-2009 (124), дочитал до статьи «Ubuntu: ставим всё подряд», и очень удивился описанному способу добавления репозиториев.

      Для установки chromium-browser автор рекомендует
      сделать 3 шага:

      а) открыть в GUI «Источники ПО» и добавить новый репозиторий:
      http://ppa.launchpad.net/chromium-daily/ppa/ubuntu


      б) выполнить в терминале:
      sudo apt-key adv --recv-keys --keyserver
      keyserver.ubuntu.com 4E5E17B5


      в) выполнить в терминале:
      sudo apt-get update
      sudo apt-get install chromium-browser

      Что мне не понравилось в таком подходе?
    • Консольный словарь sdcv

        Очень часто, администраторам приходиться читать маны, которые, к сожалению, в большинстве случаев на английском языке. Конечно, большинство знают английский, и очень даже не плохо, но очень часто встречаются слова, которые очень трудно перевести. Хорошо, когда у вас под рукой есть какой-либо stardict или просто есть соединение с интернетом и можно глянуть перевод. А если нет? Или настраиваете сервер, и у вас только голая консоль без выхода в интернет. Понимаю, звучит фантастично, но в жизни всякое бывает. Или как в моем случае: мне нужен был простой словарик, который бы не висел в трее, не имел никаких лишних наворотов и гуев (пинок в сторону stardict) и был под рукой, ну или не далеко от нее. :) Вот именно для таких случаев (ну или вы просто заядлый Linux Geek и вам бы все в консоль) и есть консольный словарик sdcv — StarDict Console Version.

        Эта небольшая софтина, размером в 155 КБ, к сожалению, есть далеко не в каждом Linux-дистрибутиве, так что возможно вам придется ее собрать самому, не думаю что это вызовет затруднение. :) Скачать ее можно тут — downloads.sourceforge.net/sourceforge/sdcv/sdcv-0.4.2.tar.bz2

        Набрав в консоли sdcv, мы получим предложение ввести слово или фразу и, после ее ввода и нажатия Enter, получим перевод и предложение ввести следующую фразу. И так до бесконечности. В случае, если у вас в системе установлено больше одного словаря, то он спросит, используя какой словарь ему следует переводить это слово или фразу. Для перевода программа использует словари stardict, так что они у вас должны быть. Если у вас их нет, вам надо будет их скачать и поместить в директорию со словарями.

        Казалось бы, зачем ради такой незначительной утилиты писать столько текста. Но если копнуть глубже и пораскинуть мозгами, то областей ее применения множество. Начиная от банальных переводов методом ls | grep | sdcv и заканчивая использованием в скриптах.

        Опций немного. Из интересных можно выделить парочку: -u для перевода слова используя какой-то конкретный словарь и -n для использования в скриптах. Кстати, назначение этой опции я либо не понял, либо неправильно использовал, но у меня ее результат выходил такой же, как если передать sdcv в качестве параметра слово для перевода.
      • pv — маленькая, но очень полезная утилита

          Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
          Читать дальше →
        • виджет кармы для awesome wm

            Сильно не пинайте, решил просто поделиться.
            Пишем xml парсер, который вытягивет данные о карме и хабрасиле:
            #!/usr/bin/perl
            
            use XML::Simple;
            use Net::HTTP;
            
            my $s = Net::HTTP->new(Host => "habrahabr.ru") || die $@;
            #поменяйте на свой username
            $s->write_request(GET => "/api/profile/%username%/", 'User-Agent' => "Mozilla/5.0 (+http://www.reid.ru/freebsd/?page_id=15)");
            my($code, $mess, %h) = $s->read_response_headers;
            
            while (1) {
                my $buf;
                my $n = $s->read_entity_body($buf, 1024);
                die "read failed: $!" unless defined $n;
                last unless $n;
                $data = $buf;
            }
            
            my $s = XMLin($data);
            $karm = $s->{karma};
            $rating = $s->{rating};
            print "$karm\/$rating";
            


            В rc.lua пишем:
            -- определяем виджет
            karma_text = widget({ type = "textbox", align = "right" })
            function get_karm()
             -- указываем путь к скрипту
             local karm =  awful.util.pread("~/.config/awesome/zoom/bin/karma")
             karma_text.text = "" .. setFg("#e8ef1b", karm) .. ""
            end
            ...
            -- указываем где он должен располагаться
            mywibox[s].widgets = {
            ...
             karma_text
            ...
            }
            -- вызываем его при запуске awesome
            get_karm()
            -- и вызываем каждые 15 минут
            awful.hooks.timer.register(900, function() get_karm() end)
            


            Результат (для полноты показываю весь трей):
            image

            Внимательно ознакомьтесь с правилами API хабра.
          • Настоящее оборудование для Vi/Vim

              Обратите внимание, уважаемые фаны Vi/Vim, для какой периферии был первоначально изготовлен ваш любимый редактор. Это вам не хухры-мухры, а терминал ADM-3A, между прочим, со скоростью передачи данных от 75 бод, и стоивший
              чудовищную сумму
            • KOffice 2 — Release!

                image
                Вышел релиз KOffice2!
                Релиз занял более 3 лет работы по портированию пакета на библиотеки Qt4 и KDE4. Также в некоторых частях переписан движок.

                UPD Граждане минусующие, вы не могли бы хоть указывать причину?
                UPD2 Граждане плюсующие, благодарю вас.
                Читать дальше →
              • Flush 0.4 released (GTK-based BitTorrent клиент)

                  Несколько месяцев назад я писал о выходе первой (0.1) версии своего BitTorrent клиента. С тех пор Flush дорос до версии 0.4. Т. к. первую версию, скорее всего, поставить решится далеко не каждый, да и в ней могло не быть каких-либо функций, отсутствие которых помешало бы использовать Flush, я решил, что настало время еще раз напомнить о существовании данного BitTorrent клиента. Я использую его с первой версии и сделал таким, каким, как я считаю, должен быть BitTorrent клиент. Если ваши предпочтения совпадают с моими, то, возможно, он вам придется по душе.

                  Причины, которые заставили меня написать собственный BitTorrent клиент, я изложил здесь, так что повторяться не буду. Думаю, лучше всего будет привести список изменений по сравнению с Flush 0.1 и скриншоты, которые зачастую могут сказать гораздо больше, чем любой Changelog. :)
                  Читать дальше →
                • GRUB2. Начало

                    0. Это что такое?


                    Расскажу о новой версии самого популярного загрузчика. Она появилась опционально в стабильном Debian 5.0 Lenny, а значит можно сделать вывод о некоторой стабильности. К сожалению, по словам самих разработчиков, на документацию времени нет, поэтому всё пока работает методом тыка, логики и комментариев в коде :)
                    Кстати, о версиях. Первой и пока основной считается ветка 0.9x(которую уже окрестили GRUB Legacy), а версии 1.хх официально называются GRUB 2.
                    Итак, чем же отличается эта версия от старого доброго дефолтного загрузчика всего и вся? На официальном сайте сказано примерно так:
                    • Поддержка скриптов, в частности циклов, условий, переменных и функций
                    • Графический интерфейс
                    • Динамическая подгрузка модулей, позволяющая расширять функционал не на этапе сборки, а прямо во время выполнения
                    • Переносимость на разные архитектуры
                    • Интернационализация
                    • Настоящее управление памятью, делающее GNU GRUB более гибким
                    • Модульный, иерархичный, объектно-ориентированный фреймворк для файловых систем, файлов, устройств, дисководов, терминалов, команд, таблиц разделов и загрузчиков операционных систем
                    • Кроссплатформенная установка, позволяющая установить GRUB с другой архитектуры
                    • Безопасный режим для трудных случаев. Stage 1.5 ликвидирована
                    • Исправление ошибок, которые были допущены при проектировании GRUB Legacy, и не могли быть исправлены из-за требований обратной совместимости. Например, способ нумерации разделов

                    Читать дальше →
                  • 20 советов для линукс-гиков

                      Что отличает обычного пользователя Линукса от профессионала? Ответ прост: это — годы, проведенные за изучением хитростей и приемов, которые позволяют решать не быстрые задачи в одно мгновение. Если вы хотите увеличить скорость работы без долгого набивания шишек в консоли, подобрано 20 легких для изучения приемов. Они помогут сделать вашу работу эффективной и выжать максимум возможностей из вашего компьютера.
                      Читать дальше →