25 Февраль 2008

Установка программ в Debian GNU/Linux - основанных дистрибутивах

Сразу после установки системы Debian и графического интерфейса хочется поставить приложения для повседневной работы в Linux. Есть несколько способов сделать это, о чём будет говориться в этом посте.

Итак, базовая система Debian поставлена, графическая среда настроена и запущена. В общем, даже краше, чем в Windows - теперь время наполнить это всё нужными и полезными программами Linux. А как ставить пакеты программы в Linux, например в Debian GNU/Linux?


1. Консольный способ установки программ в Debian GNU/Linux
Этим способом следует воспользоваться хотя бы один раз - мало ли что случится с графической средой (например, при обновлении системы). Консоль всегда рядом, ей можно (и нужно) пользоваться. Можно воспользоваться консольным способом установки программ и в графической среде: для этого запускаем Konsole, Terminal или xterm в зависимости от выбранной среды.

Чтобы найти название пакетов программ в Debian GNU/Linux по описанию, выполняем команду:

# apt-cache search чего_хочу | grep чего_конкретно_хочу
Это даст список названий и описаний пакетов, которые вам интересны. Чтобы поставить пакет в Debian GNU/Linux, пишем:
# aptitude install что_нашёл_
Почти наверняка пакетная система потребует поставить дополнительные пакеты, требующиеся для работы приложения. Смотрим, сколько это займёт, и, если это устраивает, ставим.

Для того, чтобы удалить пакет программы в Debian GNU/Linux, выполняем:
# aptitude remove имя_пакета
А чтобы удалить программный пакет
в Debian GNU/Linux вместе с его конфигурационными файлами, пишем:
# aptitude purge имя_пакета
Опять-таки, знать эти команды очень даже стоит, потому как управлять софтом
в Debian GNU/Linux тогда можно в любой ситуации (не загружаются иксы, обновление системы и проч.).



2. Графический способ
установки программ в Debian GNU/Linux
Для любителей графических приложений имеется synaptic - графический интерфейс установки и удаления приложений в Debian GNU/Linux. Чтобы его поставить, пишем:
# aptitude install synaptic sudo
Последний пакет нужен, так как от рута synaptic стартовать откажется. Под рутом не сидим, не забыли?

Для настройки sudo требуется с рутовыми привилегиями отредактировать файл /etc/sudoers. Заделываемся рутом (вводим в терминале su и пишем свой рутовый пароль) и редактируем файл /etc/sudoers при помощи MC или командой
nano /etc/sudoers
Этот файл нужно довести до, например, такого состояния:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL) ALL
ВАШЛОГИН ALL=(ALL) ALL

Далее запускаем synaptic при помощи делегирования рутовых полномочий простому пользователю посредством sudo:
$ sudo synaptic
Либо ищем его в меню приложений KDE или GNOME (если вы поставили себе эти среды)
Появится что-то вроде:


И далее можно искать и устанавливать приложения. Просто выделяете мышкой программу, жмёте правой кнопкой мыши и выбираете "Отметить для установки" или "Отметить для удаления". Помните, что если нужно удалить программный пакет
в Debian GNU/Linux полностью, с конфигурационными файлами, следует "Отметить для полного удаления".


Ставим необходимые приложения
в Debian GNU/Linux
Хотели рабочую станцию? Мы её почти получили: у нас есть графический сервер и графическая оболочка/среда, и осталось наполнить её приложениями. Основные программы, который вам потребуются для комфортной работы, перечислены в этом посте.

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

читать далее...

а если копируете статью - поставьте ссылку на оригинал!

18 Февраль 2008

Построение графиков в gnuplot: двухмерные графики

Построение графиков в gnuplot достаточно просто и очень эффективно, особенно когда их нужно строить много. Ниже на примерах будет показано, как строить двухмерные графики.

Как построить несколько функций на одном графике?
Есть два варианта: использовать функцию multiplot или внешними редакторами шаманить с EPS-файлами. Ниже будет описан первый вариант как более простой.

При построении нескольких графиков нужно включить режим multi-plot, после чего будет возможно размещать несколько функций или графиков данных в одном окне. Например, построим три функции: y=x, y=x*x и y=x*x*x. Что для этого дополнительно нужно задать в интерактивном режиме:

gnuplot> set multiplot
multiplot> plot x
multiplot> plot x*x
multiplot> plot x*x*x
multiplot> set nomultiplot
Вот что при этом может произойти:



Такое случается потому, что гнуплот определяет границы для каждого графика автоматически, что может привести к нежелательному результату. Следует задавать границы принудительно:
gnuplot> set xrange [-10:10]
gnuplot> set yrange [-10:10]





Как построить график внутри графика?
Рассмотрим это на рабочем примере. Есть файл с данными, точек много, и интерес представляет участок на кривой. Данных много, и естественно это скормить перловому скрипту, который нашинкует графики с подстановкой имён. Вот код графика:
#! /usr/bin/gnuplot -persist
set terminal postscript eps enhanced color solid
set output "~/matlab/programs/kmvdecoder/plots/2conventionalRAWMAXtoSaturatecomparing.ps"
set encoding koi8r
set xlabel "Exposure time, sec." font "Helvetica,18"
set xrange [1:60]
set key top right
set ylabel "Pixels maximum value" font "Helvetica,18"
Это не должно вызывать вопросов - подобное разбиралось тут. Дальше:
set multiplot
set origin 0.0,0.0
set size 1.0,1.0
Устанавливаем стиль линий, которыми будем строить графики
set style line 1 lt 1 pt 9
set style line 2 lt 3 pt 7
set style line 3 lt 2 pt 5
Теперь, собственно, строим основной график.
plot "~/matlab/programs/kmvdecoder/plots/RAWMAXmeasurementresult"
using
3 notitle with linespoints linestyle 2,
"~/matlab/programs/kmvdecoder/plots/RAWMAXmeasurementresult" using 3 n
Пути и имена файлов, естественно, нужно поменять, так как я даю всё на примере собственных файлов. Напоминаю, что для ленивых людей, помимо гнуплота, есть ещё и Perl, скрипты которого резво подставят всё нужное в имя файла: и вы поймёте, и цикл перебора организовать проще. Основной график построен - загружаем его в программу просмотра PostScript-файлов и смотрим, где значения, которые нужно строить внутри маленького графика.
set origin 0.55,0.1
set size 0.4,0.4
Первый параметр задаёт положение левой верхней границы маленького графика в относительных единицах длины. Второй - размер графика. Так как подписи к осям на вложенном графике будут только мешать - отключаем их:
set noxlabel 
set noylabel
С видом графика определились, теперь определяемся с осями:
set xrange [ 30 : 38]
set yrange [ 3300 : 3800 ]
Всё, теперь осталось приказать гнуплоту перестроить график (чтобы появился вложенный):
replot
set nomultiplot
Готово - качественный график быстро и легко построен. Вот как он выглядит:



Как построить простую гистограмму?
Если вы создаёте графики в формате PostScript, самый простой способ заключается в том, чтобы нарисовать это при помощи with impluses с очень тонкими линиями. Например, так:
gnuplot> set term postscript eps enhanced color
gnuplot> set style line 1 lt 1 lw 50
gnuplot> plot "test.dat" using 1:2 with imp ls 1
Вот что при этом получится:


Так же можно заполнять столбики гистограмм цветом или вариантами текстурной заливки при помощи команд
with boxes fs [pattern | solid] номерстилязаливки. Так же можно задавать независимо стиль при помощи команды set style fill.

В случае с with boxes fs pattern, параметр pattern используется для определения заполняющей текстуры. Параметр solid определяет плотность заполнения столбца гистограммы, значени от 0 до 1.

Вот пример гистрограммы, построенной с различной заливкой:
gnuplot> plot "test.dat" usi 1:2:(3) w boxes fs pattern 1,\
gnuplot> "test.dat" usi ($1+5):2:(3) w boxes fs solid 0.7






Как на одном графике построить данные в логарифмическом и обычном масштабе?
Например, есть такой график:


По оси Х в диапазоне [0:30], но вблизи нуля по оси Х данные очень важны и нужно показать их детально. Можно сделать два разных графика, но можно провернуть тоже и на одном.
Сначала построим график до единицы в логарифмическом масштабе:
gnuplot> set log xy
gnuplot> set xrange [ 0.001 : 1 ]
gnuplot> set yrange [ 0.1 : 5000 ]
gnuplot> set xlabel "Energy [eV]"
Для данных в диапазоне [1:30] используем линейные оси, и поместим второй график за первым, используя возможности multiplot. Таким образом, логарифмическая часть графика будет слева, а линейная - справа. Каждый подграфик займёт половину размера картинки. Вот как это выглядит в коде:
gnuplot> set multiplot
multiplot> set size 0.5,1
multiplot> set origin 0.0,0.0
multiplot> set lmargin 10
multiplot> set rmargin 0
multiplot> plot "calc.dat" u 1:2 w l
multiplot> set origin 0.5,0.0
multiplot> set format y ""
multiplot> set lmargin 0
multiplot> set rmargin 2
multiplot> set nolog x
multiplot> set xrange [1:30]
multiplot> set xtic 0,10
multiplot> set mxtic 5
multiplot> plot "calc.dat" u 1:2 w l
multiplot> set nomultiplot
gnuplot>
Результат смотрится очень эффектно:





Как сравнить похожие данные на одном графике?
Если нужно сравнить два набора сходных данных на одном и том же графике, полезно построить график в масштабе относительно другого набора данных. Абсолютная величина значений сравнивается на логарифмическом графике в верхней части, а сотношение показывается в нижней части графика в линейных осях.

Для того, чтобы вычислить соотношение данных одного ряда по отношению к другому, значения по оси Х должны быть одинаковы для обоих рядов. В примере ниже, первая колонка содержит значения Х, вторая колонка содержит значения по оси Y набора данных А, третья колонка содержит значения Y набора данных Б.

Сначала устанавливаем параметры оси Х, одинаковые для обоих наборов данных:
gnuplot> set xrange [ 0.01 : 30 ]
gnuplot> set nokey
gnuplot> set log x
gnuplot> set xtics 10
gnuplot> set mxtics 10
gnuplot> set lmargin 10
gnuplot> set rmargin 2
Теперь создаём нижнюю часть графика, которая показывает соотношение данных. Так как данные по оси Y находятся во втором и третьем столбце файла с данными, можно построить их соотношение так plot 1:($2/$3). Таким образом, вторая часть выглядит так:

gnuplot> set multiplot
multiplot> set yrange [ 0.5 : 1.5 ]
multiplot> set ytic 0.6,0.2,1.4
multiplot> set ylabel "Ratio"
multiplot> set size 1,0.4
multiplot> set xlabel "Energy [eV]"
multiplot> set origin 0.0,0.0
multiplot> set bmargin 3
multiplot> set tmargin 0
multiplot> plot 1 w l 0,"cross.dat" u 1:($2/$3) w l 1
Осталось доделать верхнюю часть, чем сейчас и займёмся. Сделаем размер графика поменьше и отобразим в логарифмических осях. Наименования по оси Х стираем, и вот что получилось:
multiplot> set log xy
multiplot> set yrange [ 0.1 : 5000 ]
multiplot> set ytic 0.1,10
multiplot> set ylabel "Cross Section [b]"
multiplot> set size 1,0.6
multiplot> set origin 0.0,0.4
multiplot> set bmargin 0
multiplot> set tmargin 1
multiplot> set format x ""
multiplot> set xlabel ""
multiplot> plot "cross.dat" u 1:2 w l,"" u 1:3 w l
multiplot> set nomultiplot
gnuplot>
Результат:


читать далее...

а если копируете статью - поставьте ссылку на оригинал!

11 Февраль 2008

Установка Debian GNU/Linux через Интернет

Для того, чтобы установить Debian GNU/Linux из-под Windows через Интернет, даже не требуется качать и пропаливать диск c Debian - можно установить его из Интернет (но на всякий случай хорошо прочитать рекомендации по правильной установке Debian). Достаточно нажать на изображение:


Install Debian GNU/Linux

Нажмите на картинку,чтобы начать установку Debian GNU/Linux


Что при этом произойдёт
После этого должен скачаться файл debian.exe, который запусит процесс скачивания и установки Дебиан. По умолчанию устанавливается стабильный Линукс, который называется сейчас Debian GNU/Linux v 4.0 "Etch".

Перед тем, как всё начнётся, лучше открыть и прочитать (а ещё лучше распечатать) исчерпывающую инструкцию по установке Дебиана.


Минимальные требования к оборудованию:
Процессор: Intel Pentium I, 100MHz и более. Для комфортной работы Intel Pentium II-400 MHz желателен.
Память: 64Мб ОЗУ, но для навороченных сред 256Мб рекомендуется.
Жёсткий диск: для минимальной установки 500 Мб, для нормальной работы с десктопом 1Гб рекомендуется.
Видеокарта: любая VGA-совместимая карта, S3 Trio сойдёт, но для навороченных графических сред нужно что-то с графическим ускорением.


1. Скачается инсталлятор Debian Linux под Windows
Итак, сначала нажимаем на начать установку скачается инсталлятор и запустится. Не бойтесь, вирусов там нет - запускайте смело.



Запустится инсталлятор, который проведёт вас по установке Линукс.



2. Выбираем между графическим и текстовым инсталлятором
Выберите графический или текстовый вариант установки - на ваш вкус. Эта инструкция по установке описывает текстовый вариант (для слабых машин особенно актуально), но шаги должны быть те же и для графической установки.



Бояться этого не надо, инсталлятор задаст несколько вопросов, переразобьёт винчестер и поставит Линукс - либо второй системой (винду не снесёт), либо основной (вместо винды).



3. Скачаются необходимые данные для инсталляции
Далее потребуется скачать около 11Мб данных, необходимых для первичной загрузки Линукс и начала инсталляции.



Файлы скачаются на винчестер, распакуются и установятся. Снова не боимся - это Линукс, вирусов и шпионских программ нет.



4. Перезагрузка для начала инсталляции
Если вы тверды духом и готовы к знакомству с миром Линукс - уверенно жмём кнопку Yes на предложение инсталлятора перезагрузиться.



После перезагрузки начнётся установка.



5. Начало инсталляции
После перезагрузки вас будет ждать выбор загрузки операционной системы - выбираем Debian Installer.



Это запустит инсталлятор, который задаст десяток вопросов о вашей будущей системе.



6. Начинётся процесс инсталляции
Всё готово, начнётся процесс установки Linux. Вас скорее всего попросят выбрать зеркала загрузки пакетов программ для Линукс.



Выбираем русский язык, и после этого вам остаётся только вменяемо отвечать на вопросы инсталлятора (настройки по умолчанию разумны). Инсталляция подробно освещена здесь.

Резюме
Всё, после окончания установки на вашей машине будет поставлена современная, мощная, стабильная и надёжная операционная система, которой доверяет данные, например, Яндекс.
читать далее...

а если копируете статью - поставьте ссылку на оригинал!

04 Февраль 2008

Создание графиков в gnuplot: оформление двухмерных графиков

В этом посте освещается ряд вопросов об оформлении графиков: управление осями, изменение полей и шрифтов графиков, изменение сетки и прочее.


Как построить график фиксированных размеров или задать поля на графике?
Чтобы задать размер графика, следует поправить размеры полей: верхнего (tmargin), нижнего (bmargin), левого (lmargin) и правого (rmargin). По умолчанию размеры полей вычисляются автоматически, однако лично у меня при этом построенные графики с подписями по осям оказываются немного обрезанными снизу. Это легко исправить, задав нижнее поле больше:

gnuplot> set bmargin 4
Размер графика при этом не изменится - просто график несколько сожмётся внутрь.



Как использовать обе стороны оси Y?
Иногда требуется пометить несколько графиков на один. Используя gnuplot, можно оперировать с осями независимо.
По умолчанию, ось Y2 такая же, как и Y. Для примера сделаем их разными, и построим график sin(x) и квадрат этой функии на одном графике. Синтаксис такой: x1y1, x1y2, x2y1, x2y2. Например, axis x1y2 означает, что эта функция будет масштабирована под нижнюю ось Х и правую ось Y.

gnuplot> set xrange [0:2*pi]
gnuplot> set yrange [-1:1]
gnuplot> set y2range [0:1]
gnuplot> plot sin(x) axis x1y1, \
sin(x)**2 axis x1y2

Пример такого графика:



В данном случае деления на правой оси такие же, как и на левой. Чтобы сделать их разными, следует использовать опцию nomirror, установить set ytics и установить set y2tics для того, чтобы деления осей отличались:

gnuplot> set y2tics 0, 0.2
gnuplot> set ytics nomirror

Пример такого графика:




Как стереть одну из осей?
Gnuplot отрисовывает все четыре оси на графике, но иногда требуется сделать так, чтобы некоторые оси не рисовались. Чтобы удалить ненужные оси, следует использовать команду set border n, где n - целое число. Каждая ось имеет приписанное ей число: нижняя ось = 1, левая = 2, верхняя = 4 и нижняя = 8.
Параметр n есть сумма чисел, приписанных осям, которые будут построены.
Так же следует отключить деления осей, которые вы хотите стереть, используя команды set no{x|y}tics или set {x|y}tics nomirror.

Например, если нужно построить график, на котором удалены верхняяи правая оси, нужно написать:
gnuplot> set border 3
gnuplot> set xtics nomirror
gnuplot> set ytics nomirror
Пример такого графика:





Как построить квадратный график или с фикированным отошением сторон?
Чтобы построить кваратный график, следует передать параметр square команде set size например так:
gnuplot> set size square
Вот пример такого графика:



Точно так же, чтобы зафиксировать соотношение сторон, следует написать:
gnuplot> set size ratio 2
В этом случае ось Y будет в два раза длиннее, чем ось X. Это соотношение не зависит от значений, отложенных по осям X и Y. Пример графика:





Как построить ось, проходщую через 0?
Для этого следует использовать команду set {x|y}zeroaxis. По умолчанию, нулевая ось отрисовывается точками, однако это легко переопределяется командами ls line_style, lt line_type, lw line_width. Например, можно сделать так:
gnuplot> set xzeroaxis lt -1
gnuplot> set yzeroaxis

Пример такого графика ниже:






Как избавиться от длинных засечек погрешностей?
Погрешности откладываются при помощи линий, которые кончаются небольшими засечками - и иногда их нунжно отключить. Это достигается при помощи команды
gnuplot> set bar 0
По умолчанию длина равна 1, и если поставить 0, то они исчезнут. Наоборот, увеличивая это число, можно сделать так, чтобы засечки погрешностей стали больше.
gnuplot> set bar 0
Например:



Следует отметить, что при изменении размера точек длина засечек погрешностей не меняется, так что лучше всего поступать так:
gnuplot> set pointsize 3
gnuplot> set bar 3




Как сделать шрифт на графиках больше?
Если вы используете postscript terminal, то можно просто сделать сам график меньше, и буквы увеличатся пропорционально.
gnuplot> set size 0.3,0.3

Приведённая выше команда уменьшает график на 30%.




Как изменить шрифт в легенде, осях и подписях графика?
По умолчанию гнуплот строит графики шрифтом Helvetica и размером 16 пунктов. Время от времени требуется вставлять графики в документы с другими шрифтами, поэтому в скрипте для строительства графиков лучше всего предусмотреть замену шрифтов. Для примера ниже везде будет выставлен шрифт Courier размером 20 пунктов. Делается это следующим образом.

Для того, что сменить шрифт в подписи осей и легенде, нужно дать команду:
gnuplot> set terminal postscript enhanced "Courier" 20
Кавычки в названии шрифта обязательны, дальше через пробел идёт размер шрифта в пунктах.
Теперь меняем шрифт в заголовке графика, передавая параметр font при задании заголовка
gnuplot> set title "Damping Function" font "Times-Roman,40"
Обратите внимание, что здесь синтаксис иной: в кавычках имя шрифта и через запятую его размер.
Осталось заменить шрифт в подписях к осям - это так же осуществляется передачей параметра font при задании метки оси X и Y:
gnuplot> set xlabel "Exposure value, rel. units" font "Courier,20"
gnuplot> set ylabel "Signal mean value" font "Courier,20"
Всё готово, теперь график будет построен с указанными шрифтами.
Пример такого графика:




Как соединить точки графика гладкими кривыми?
Есть возможность соединять точки сплайнами и кривыми Безье при помощи опции smooth. Ниже на примере показывается разиница между кривыми Безье и сплайнами. Одни и те же данные строятся тремя способами: исходные точки данных, соединение кривыми Безье и соеднение сплайнами.

gnuplot> plot "test.dat" using 1:2 notitle with points, \
"test.dat" using 1:2 smooth csplines \
title "spline" with lines,\
"test.dat" using 1:2 smooth bezier \
title "bezier" with lines

Результат на рисунке:


Опция csplines соединияет все точки гладко. С другой стороны, кривые Безье не интерполируют данные, а только сглаживает данные. Пример применения этой опции выглядит так:

gnuplot> plot "test.dat" using 1:2:3 notitle with yerrorbars, \
"test.dat" using 1:2:3 smooth acsplines \
title "acsplines" with lines,\
"test.dat" using 1:2 smooth bezier \
title "bezier" with lines
Такой код преобразуется в график вида:


Для того, чтобы построить аппроксимационную кривую, следует использовать весовой коэффициент для данных. Если весовые коэффициенты одинаковы для всех данных (вес 1.0), следует дополнить команду построения графика using 1:2:(1.0) .



Как построить сетку для промежуточных делений на графике?
Чтобы сетка строилась и для промежуточных делений, указываем:
gnuplot> set grid xtics ytics mxtics mytics
При этом следует внимательно следить за тем, как гнуплот считает промежуточные деления, и если они автоматически определяются неверно, следует их явно указать, например:
gnuplot> set mxtics 5
gnuplot> set mytics 5
И наоборот, если нужно убрать сетку для промежуточных или основных делений, следует использовать команды set grid noxtics noytics mxtics mytics, хотя такие графики применяются редко.



Как построить сетку в нужных местах графика?
Обычно при построении графиков сетка отрисовывается по главным делениям осей. Если требуется отрисовать сетку в заданных позициях, следует использовать команду set tics, как это показано на примере:

In the following example, three tics are displayed at 0.5, 1.2, and 2.5 by the set xtics command.
gnuplot> set xtics ("0.5" 0.5, "1.2" 1.2, "2.3" 2.3)
gnuplot> set grid
Здесь сетка по оси Х будет отрисована в точках 0.5, 1.2 и 2.3, что можно видеть на примере ниже:





Как отобразить на графике значения экспериментальных точек?
Иногда требуется отобразить значения точек на графике в виде чисел рядом с точками данных. Гнуплот не может отображать значения данных автоматически, зато этого можно добиться, используя мощь UNIX-way. Например, у нас есть файл данных:

0.40 80
3.00 70
3.00 60
6.00 50
9.00 40
12.00 30
13.00 20
5.00 20
8.00 20

Нужно сгенерировать команды меток, которые и будут отображаться. Выглядят они так:

gnuplot> set label "(0.4,80)" at 0.4,80
gnuplot> set label "(3.0,70)" at 3.0,70

Эти линии можно сгенерировать скриптом на Perl:

% perl -ane 'print "set label \"($F[0],$F[1])\" at $F[0],$F[1]\n"' file.dat > label.plt
Теперь загружаем полученные данные в гнуплот и на построенном графике рядом с каждой точкой будет её значение:
gnuplot> load "label.plt"gnuplot> plot 'file.dat' u 1:2 smooth csp with lines ,\
'file.dat' u 1:2 w points
График выглядит так:



читать далее...

а если копируете статью - поставьте ссылку на оригинал!

Поиск по сайту

Архивы блога

Новостная лента


Читать новости блога удобнее, подписавшись на
-ленту.
краткая лента новостей.
Блокнот интересных ссылок в Twitter
Получать на E-mail Записки дебианщика rss2email.ru

Последние новости

Все записки дебианщика

Скачать локальную версию блога "Записки дебианщика" для offline-просмотра можно здесь. Архив 7z занимает ~120Мб, в распакованном виде ~2Гб.

Постоянные читатели

Экипаж

Автор
My Photo
Михаил Конник
Инженер-физик, занимаюсь оптикой и цифровой обработкой изображений. Профиль
Главный редактор
Моя фотография
Programmaster, в полный рост

Кнопки