Category Archives: Командная строка Linux

Использование PHP из командной строки

Начиная с версии 4.3, РНР поддерживает новый SAPI-тип (Server Application Programming Interface) под названием CLI, что означает Command Line Interface. Как следует из названия, главной задачей этого SAPI-типа является разработка оболочки/shell (или рабочего стола) приложений с помощью РНР. Имеются весьма небольшие отличия CLI SAPI от других SAPI, которые будут далее рассмотрены в этой главе.

CLI SAPI был выпущен в первый раз с PHP 4.2.0, но тогда это был эксперимент, и нужно было явно включать его командой --enable-cli при запуске ./configure. Начиная с PHP 4.3.0, CLI SAPI больше не является экспериментальным и всегда встроен и устанавливается как двоичный исполняемый файл php (называется php.exe в Windows).

Существенные отличия CLI SAPI от других SAPI:

  • В отличие от CGI SAPI, никакие шапки/headers не записываются в вывод.Хотя в CGI SAPI имеется способ подавления HTTP-шапок, эквивалентного переключателя для их включения в CLI SAPI нет.
  • Имеются определённые директивы php.ini, которые переопределены в CLI SAPI, поскольку они не имеют смысла в среде окружения оболочки:

Таблица 24-1. Переопределение php.ini-директив
Директива CLI SAPI- значение по умолчанию Комментарий
html_errors FALSE Бывает довольно сложно прочитать в оболочке сообщение об ошибке, наполненное всеми этими бессмысленными HTML-тэгами, поэтому по умолчанию значение этой директивы FALSE.
implicit_flush TRUE Желательно, чтобы любой вывод из print(), echo() и компании немедленно записывался в вывод, а не отправлялся в какой-нибудь буфер. Вы всё ещё можете пользоваться буферизацией вывода, если хотите поработать со стандартным выводом.
max_execution_time 0 (unlimited) Из-за бесконечно больших возможностей использования PHP в среде окружения оболочки, максимальное время выполнения не ограничено. В то время как приложения, написанные для web, выполняются в течение долей секунды, приложения оболочки пытаются занять для своего выполнения максимальное время.
register_argc_argv TRUE Глобальные переменные PHP $argc (количество аргументов, передаваемых приложению) и $argv (массив текущих аргументов) всегда регистрируются и заполняются соответствующими значениями при использовании CLI SAPI.

Примечание: Эти директивы не могут быть инициализированы другим значением из файла конфигурации php.ini или специального файла (если специфицирован). Это является некоторым ограничением, поскольку эти значения по умолчанию применяются после разбора всех файлов конфигурации. Однако их значение может быть изменено на этапе прогона программы (что не имеет смысла для всех других директив, например, для register_argc_argv).

  • Легче работать в среде оболочки, когда определены следующие константы:
    Таблица 24-2. Специфические CLI-константы
    Константа Описание
    STDIN Уже открытый поток в stdin. Она хранит открывшего её

    STDOUT Уже открытый поток в stdout. Она хранит открывшего её

    STDERR Уже открытый поток в stdout. Она хранит открывшего её

    Имея всё это, вы не должны, например, самостоятельно открывать поток для stderr, а просто используете константу вместо ресурса потока:

    Вам не нужно явно закрывать эти потоки, это делается РНР автоматически.

  • CLI SAPI не изменяет текущую директорию на директорию исполняемого скрипта!Пример, показывающий отличие CGI SAPI:

    Когда используется CGI-версия, на выходе будет:

    Это ясно показывает, что PHP изменяет свою текущую директорию на директорию исполняемого скрипта.

    Использование CLI SAPI даёт:

    Это даёт большую гибкость при написании утилит командной строки на PHP.

    Примечание: CGI SAPI поддерживает поведение CLI SAPI с помощью ключа -C при запуске из командной строки.

Список опций командной строки исполняемого файла PHP может быть получен в любое время путём запуска PHP с ключом -h:

CLI SAPI имеет три разных способа получения PHP-кода, который нужно выполнить:

  1. Сказать PHP выполнить определённый файл.

    Оба способа (с/без использования переключателя -f) выполняют данный файл my_script.php. Вы можете выбрать для выполнения любой файл, названия ваших файлов скриптов PHP не обязаны заканчиваться расширением .php, а могут иметь любое имя или расширение.

  2. Передать PHP код для выполнения непосредственно из командной строки.

    Особого внимания требует замена переменных оболочки и использование кавычек.

    Примечание: Просмотрите пример внимательно, нет начальных и конечных тэгов! Переключателю -r они просто не нужны. Использование их в данном случае приведёт к ошибке разборщика.

  3. Предоставить PHP-код для выполнения через стандартный ввод (stdin).Это позволяет динамически создавать PHP-код и передавать его экзешнику, как показано в данном (надуманном) примере:

Вы не можете комбинировать эти три способа при выполнении кода.

Как и в любом приложении оболочки, не только сам PHP, но и ваши скрипты PHP также принимают аргументы. Количество передаваемых в скрипт аргументов в РНР не ограничивается (оболочка имеет ограничение на количество передаваемых символов).
Аргументы, передаваемые в ваш скрипт, доступны через глобальный массив $argv. Нулевой индекс всегда содержит имя скрипта (которое является символом - в случае, когда PHP-код приходит со стандартного ввода или с использованием ключа командной строки -r).
Вторая регистрируемая глобальная переменная это $argc, которая содержит количество элементов в массиве $argvне количество аргументов, передаваемых в скрипт).

Если аргументы, которые вы хотите передать в скрипт, не начинаются с символа дефиса (-), ничего специально наблюдать не надо. Передача в скрипт аргумента, начинающегося с - , создаст проблемы, поскольку PHP думает, что должен сам их обработать. Чтобы предотвратить это, используйте в качестве сепаратора аргументов списка --. После того как аргумент будет разобран PHP, каждый последующий аргумент передаётся в ваш скрипт без изменений/не разобранным.

Однако, вот другой способ использования PHP для скриптинга оболочки. Вы можете написать скрипт, первая строка которого начинается с #!/usr/bin/php, а затем идёт нормальный PHP-код, содержащийся между начальным и конечным тэгами PHP, и соответствующим образом устанавливаются атрибуты выполнения файла. Таким способом он может быть исполнен как нормальный скрипт оболочки или perl:

Приняв, что файл называется test и находится в текущей директории, мы можем выполнить:

Как вы видите, ничего особо не нужно делать при передаче параметров в скрипт, который начинается с -.

Таблица 24-3. Опции командной строки
Опция Описание
-s Отображать синтаксис в цвете.Эта опция использует внутренний механизм разбора файла, производит его расцвеченную HTML-версию и записывает её в стандартный вывод. Заметьте, что генерируется лишь блок <code> [...] </code> HTML-тэгов без HTML-header.

Примечание: Эта опция не работает вместе с опцией -r.

-w Отобразить исходный текст без комментариев и пробелов.

Примечание: Эта опция не работает вместе с опцией -r.

-f Разбирает и выполняет данный файл. Этот переключатель является необязательным и может быть опущен. Достаточно предоставить имя файла для выполнения.
-v Записывает PHP, PHP SAPI и Zend-версии в стандартный вывод, например:

-c С помощью этой опции можно либо специфицировать директорию для поиска php.ini, либо специальную директорию INI-файла (который не обязательно называется php.ini), например:

-a Запускает PHP интерактивно.
-d Эта опция позволяет устанавливать специальное значение для каждой директивы конфигурации, которые допускаются в php.ini. Синтаксис таков:

Примеры:

-e Генерирует расширенную информацию для debugger/profiler.
-z Загружает Zend-расширение. Если задано только имя файла, PHP пытается загрузить данное расширение из текущего пути по умолчанию к библиотеке в вашей системе (обычно специфицируется как /etc/ld.so.conf в Linux-системах). Передача filename с абсолютным путём не будет использовать системный путь поиска библиотеки. Относительное filename с информацией директории скажет PHP — попытаться загрузить расширение относительно текущей директории.
-l Эта опция предоставляет удобный способ выполнения проверки синтаксиса данного PHP-кода. В случае успеха — текст No syntax errors detected in <filename> записывается в стандартный вывод, а return-код оболочки будет 0. При неудаче — текст Errors parsing <filename> вместе с внутренним сообщением разборщика об ошибке записывается в стандартный вывод, а return-код оболочки будет 255.Эта опция не будет находить фатальные ошибки (вроде не определённых функций). Используйте -f, если хотите проверить также и наличие фатальных ошибок.

Примечание: Эта опция не работает вместе с -r.

-m Используя эту опцию, PHP печатает на вывод встроенные (и загруженные) модули PHP и Zend:

-i Эта опция командной строки вызывает phpinfo() и печатает на вывод результаты. Если PHP не работает правильно, советуем выполнить php -i и посмотреть, выводятся ли сообщения об ошибке до или вместо таблиц информации. Имейте в виду, что вывод будет на HTML и, следовательно довольно сумбурным.
-r Эта опция позволяет выполнять PHP прямо в командной строке. Начальный и конечный тэги PHP (<?php и ?>) не нужны и вызывают ошибки разборщика.

Примечание: Нужно проявлять внимание при использовании этой формы PHP, чтобы не было противоречий с заменой переменных командной строки, выполняемой оболочкой.

Пример, выводящий ошибку разборщика:

Проблема здесь в том, что sh/bash выполняет замену переменной даже при использовании двойных кавычек ". Поскольку переменная $foo вряд ли определена, она ни во что не разворачивается, что в результате даёт код, передаваемый в PHP для выполнения, фактически прочитанный:

Корректным будет использовать одинарные кавычки '. Переменные в строках, заключённые в одинарные кавычки, не разворачиваются при работе sh/bash.

Если вы используете оболочку/shell иначе, чем sh/bash, у вас могут появиться новые вопросы. Отправляйте bug report или mail по адресу phpdoc@lists.php.net. Можно легко столкнуться с проблемами при попытке получить переменные оболочки в коде или использовании обратных слэшей (/) для замен/escaping.
Вы предупреждены…

-h С помощью данной опции вы можете получить информацию о действующем списке опций командной строки и небольшое описание их работы.

Исполняемый файл PHP может быть использован для запуска PHP-скриптов абсолютно независимо от web-сервера.
Если вы работаете под Unix, вы должны добавлять специальную первую строчку в ваши PHP-скрипты и делать их исполняемыми, чтобы система знала, какая программа должна выполнять эти скрипты.
Под Windows вы можете ассоциировать php.exe с опцией двойного щелчка по файлам .php либо сделать batch-файл (.bat) для запуска скрипта через PHP. Строка, добавленная в начало скрипта для работы под Unix, не помешает под Windows, поэтому вы можете писать таким образом межплатформенные программы. Ниже дан пример простой РНР-программы для выполнения из командной строки.

Пример 24-1. Скрипт, предназначенный для запуска из командной строки (script.php)

Здесь мы используем специальную первую строку для указания на то, что этот файл должен быть запущен в PHP. Здесь мы работаем с CLI-версией, поэтому не выполняется вывод HTTP-шапок/header. Имеются две переменные, которые вы можете использовать при написании РНР-приложений для командной строки: $argc и $argv. Первая — это количество аргументов плюс 1 (имя запущенного скрипта). Вторая — это массив аргументов, начиная с имени скрипта с индексом ноль ($argv[0]).

Мы проверяем, имеется ли менее или более одного аргумента. Также, если аргумент был --help, -help, -h или -?, мы печатаем help-сообщение, выводя имя скрипта динамически. Если мы получили какой-либо другой аргумент, мы выводим его (echo).

Если вы хотите выполнить вышеприведённый скрипт под Unix, вам необходимо сделать его executable и просто вызвать как script.php echothis или script.php -h. Под Windows вы можете создать batch-файл для выполнения этой задачи:

Пример 24-2. Пакетный/Batch-файл для запуска PHP-скрипта в командной строке (script.bat)

Приняв, что вы назвали программу script.php и что ваш php.exe находится в c:\php\php.exe, этот batch-файл запустит её с добавленными вами опциями: script.bat echothis или script.bat -h.


Источник: http://phpclub.ru/manrus/feat/commandline.html

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

3D визуализация и дизайн

3D визуализация и дизайн

Генерация изображения штрих-кода в 1С при работе в Linux

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Написали маленькую функцию, которая генерирует штрих-код в Linux и получает его в 1С.

Параметры функции Штрих-код:

Штрих-код — буквенно-цифровое значение штрих-кода.
Стандарт — стандарт штрих-кода. Предусмотрены такие значения данного параметра, отвечающие за соответствующий стандарт:

Автор: Рудюк С . А. https://corp2.net

Услуги программирования в 1С. Киев

3D визуализация и интерьер

Дизайн интерьеров

Генерация штрих-кода для вставки его в 1С при работе в Linux

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

В Linux есть отличная команда barcode, которая генерирует штрих-коды в векторном формате ps. Но, 1С не понимает такие форматы. Более того, barcode, генерирует штрих-код на размер листа А4 или Letter. Установка пользовательского размера листа не увенчалась успехом. Но, не будем же мы вставлять изображение штрих-кода размером с лист А4…

Однако, есть способ, как решить данные проблемы.

Генерируем штрих-код в формате ps с помощью команды barcode:

Теперь, нужно преобразовать его в понятный для 1С формат — это или jpg или png. За это отвечает команда ImageMagick convert. Кроме того, есть возможность указать четкость изображения с помощью параметра -density 150. А так же есть очень полезный параметр для нашего случая -trim. Этот параметр обрезает изображение. Т.е. обрезает всё белое пространство нашего листа.

Получаем такую команду для генерации jpg:

Для генерации png:

Сравнивая изображения png и jpg видим, что jpg имеет размер 21,2Кб, а png — 2,7Кб. Т.е. получается, что png лучше использовать, т.к. размер такого файла в 10 раз меньше. Кроме того, в png нет фона.

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

Можно обойтись и без использования файла, например:

 

Автор: Рудюк С . А. https://corp2.net

Услуги программирования в 1С. Киев

Дизайн интерьеров

3D визуализация и интерьер

Оптимизация изображений средствами командной строки Linux

Иногда возникает такая необходимость — сделать что-то с целой кучей изображений, чаще всего — сжать, чтобы не занимали много места.

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

Если этих картинок с десяток, то можно обойтись каким-нибудь сервисом. А вот если их больше, на помощь приходят консольные утилиты. Одни из таких ImageMagick, jpegoptim, optipng

ImageMagick представляет из себя кроссплатформенный набор утилит, который содержит очень много функций для работы с изображениями — конвертирование из одного формата в другой, различные трансформации (ресайз, обрезка, вращение, зеркальное отражение), применение разных эффектов, вроде размытия… и очень много других.

Jpegoptim и optipng позволяют сжать изображение без потери качества, а для jpegoptim также возможно сжатие с потерями.

Примеры с ImageMagick

Поиск и ресайз всех изображений до 500px

Для одного файла:

Для нескольких изображений можно использовать такую магию:

Разместить маленькое изображение внутри белого квадрата, заданного размера

Создание пиктограмм 80×80

Примеры с jpegoptim и optipng.

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

Сжатие с потерями, удаление всей мета-информации:

Для оптимизирования всех png изображений можно использовать следующую команду

где -o может быть от -o0 до -o7
Чем выше этот параметр, тем больше фильтров будет использовано для оптимизации. Размер будет меньше, но и обрабатываться каждое изображение будет дольше.

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

Прочее

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

Скачивание картинок списком, удаление белого пространства вокруг них

Чтобы скачать картинки списком, удобнее всего использовать wget.
Переходим в нужный каталог, где у нас подготовлен файл с адресами url картинок и запускаем команду:

Для того, чтобы обрезать одну картинку нужно запустить команду:

Чтобы обрезать несколько, то можно воспользоваться find:

где out — папка, куда будут сохраняться обработанные картинки


Источник: http://diggitize.me/imageoptimize/

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Предметная визуализация

Дизайн интерьеров

Определение версии операционной системы Linux Ubuntu

 

Linux smicro 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Команда lsb_release предназначена для вывода информации о текущей версии дистрибутива Ubuntu. Чтобы получить требуемую информацию, выполните в командной строке команду lsb_release -a:

Так же информация о версии Ubuntu хранится в файле /etc/lsb-release. Чтобы вывести файл, выполните в командной строке команду cat /etc/lsb-release:

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

3D визуализация и интерьер

Определение конфигурации компьютера в Linux Ubuntu из командной строки

Часто возникает необходимость определения конфигурации сервера в операционной системе Linux. Но, как правило, если Вы администрируете сервер удалённо, графический интерфейс не доступен и Вы не можете воспользоваться командами, которые выводят информацию в графическом режиме.
Но, есть утилиты для определения конфигурации в текстовом режиме (в текстовой консоли):
procinfo
lshw
linuxinfo
hardinfo

Пример применения команд:
procinfo
Linux 2.6.24-22-generic (buildd@crested) (gcc 4.2.3 ) #1 8CPU [rudjuk-desktop]

Memory: Total Used Free Shared Buffers
Mem: 2062476 2019468 43008 0 134800
Swap: 6040400 270980 5769420

Bootup: Sat Dec 20 00:06:56 2008 Load average: 1.08 0.96 0.66 1/336 5351

user : 20d 17:24:25.93 3.9% page in :1285028569 disk 1: 20244634r31006476w
nice : 2d 11:20:05.79 0.4% page out:915940616 disk 2: 37679794r 6660305w
system: 6d 8:26:41.75 1.2% page act:103450183
IOwait: 3d 6:40:33.10 0.6% page dea: 72753546
hw irq: 0:10:58.72 0.0% page flt:2987162550
sw irq: 2:20:49.97 0.0% swap in : 8133289
idle : 498d 11939:715874:42949679.40 94.6% swap out: 7793347
uptime: 65d 19:45:12.16 context :2377398960

irq 0: 124 timer irq 9: 0 acpi
irq 1: 2 i8042 irq 14: 2260396 libata
irq 3: 3 irq 15: 0 libata
irq 4: 2 irq 16: 0 uhci_hcd:usb4
irq 6: 5 floppy [2] irq 17: 0 uhci_hcd:usb1, ehci_
irq 7: 0 parport0 [3] irq 18: 0 uhci_hcd:usb3
irq 8: 1 rtc irq 19: 95536513 uhci_hcd:usb2, libat

lshw
rudjuk-desktop
description: Computer
product: X7DVL
vendor: Supermicro
version: 0123456789
serial: 0123456789
width: 32 bits
capabilities: smbios-2.4 dmi-2.4 smp-1.4 smp
configuration: administrator_password=disabled boot=oem-specific cpus=7 frontpanel_password=unknown keyboard_password=unknown power-on_password=disabled uuid=53D19F64-D663-A017-8922-00304889D572
*-core
description: Motherboard
product: X7DVL
vendor: Supermicro
physical id: 0
version: PCB Version
serial: 0123456789
*-firmware
description: BIOS
vendor: Phoenix Technologies LTD
physical id: 0
version: 6.00 (10/02/2006)
size: 101KiB
capacity: 960KiB
capabilities: pci pnp upgrade shadowing escd cdboot bootselect edd int13floppy2880 acpi usb ls120boot zipboot biosbootspecification
*-cpu:0
description: CPU
product: Intel(R) Xeon(TM) CPU 3.00GHz
vendor: Intel Corp.
physical id: 4
bus info: cpu@0
version: 15.6.4
slot: LGA771/CPU1
size: 3GHz
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall x86-64 constant_tsc pebs bts pni mon
*-cache:0
description: L1 cache
physical id: 6
slot: L1 Cache
size: 16KiB
capacity: 16KiB
capabilities: asynchronous internal write-back
*-cache:1
description: L2 cache
physical id: 7
slot: L2 Cache
size: 4MiB
capacity: 4MiB
capabilities: burst internal write-back
*-cpu:1
description: CPU
product: Intel(R) Xeon(TM) CPU 3.00GHz
vendor: Intel Corp.
physical id: 5
bus info: cpu@1
version: 15.6.4
slot: LGA771/CPU2
size: 3GHz
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall x86-64 constant_tsc pebs bts pni mon
*-cache:0
description: L1 cache
physical id: 8
slot: L1 Cache
size: 16KiB
capacity: 16KiB
capabilities: asynchronous internal write-back
*-cache:1
description: L2 cache
physical id: 9
slot: L2 Cache
size: 4MiB
capacity: 4MiB
capabilities: burst internal write-back
*-memory
description: System Memory
physical id: 18
slot: System board or motherboard
size: 2GiB
*-bank:0
description: DIMM Synchronous 533 MHz (1.9 ns)
physical id: 0
slot: DIMM x 3
size: 1GiB
width: 64 bits
clock: 533MHz (1.9ns)
*-bank:1
description: DIMM Synchronous 533 MHz (1.9 ns)
physical id: 1
slot: DIMM x 3
size: 1GiB
width: 64 bits
clock: 533MHz (1.9ns)
*-cpu:2 UNCLAIMED
physical id: 1
bus info: cpu@2
version: 15.6.4
*-cpu:3 UNCLAIMED
physical id: 2
bus info: cpu@3
version: 15.6.4
*-cpu:4 UNCLAIMED
physical id: 3
bus info: cpu@4
version: 15.6.4
*-cpu:5 UNCLAIMED
physical id: 6
bus info: cpu@5
version: 15.6.4
*-cpu:6 UNCLAIMED
physical id: 7
bus info: cpu@6
version: 15.6.4
*-pci:0
description: Host bridge
product: 5000V Chipset Memory Controller Hub
vendor: Intel Corporation
physical id: 100
bus info: pci@0000:00:00.0
version: b1
width: 32 bits
clock: 33MHz
*-pci:0
description: PCI bridge
product: 5000 Series Chipset PCI Express x8 Port 2-3
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: b1
width: 32 bits
clock: 33MHz
capabilities: pci pm msi pciexpress normal_decode bus_master cap_list
configuration: driver=pcieport-driver
*-pci:0
description: PCI bridge
product: 6311ESB/6321ESB PCI Express Upstream Port
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: 01
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress pm normal_decode bus_master cap_list
configuration: driver=pcieport-driver
*-pci:0
description: PCI bridge
product: 6311ESB/6321ESB PCI Express Downstream Port E1
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 01
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport-driver
*-pci:1
description: PCI bridge
product: 6311ESB/6321ESB PCI Express Downstream Port E3
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:02:02.0
version: 01
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport-driver
*-network:0
description: Ethernet interface
product: 80003ES2LAN Gigabit Ethernet Controller (Copper)
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:04:00.0
logical name: eth0
version: 01
serial: 00:30:48:89:d5:72
capacity: 1GB/s
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.20-k2-NAPI firmware=1.6-12 latency=0 link=no module=e1000 multicast=yes port=twisted pair
*-network:1
description: Ethernet interface
product: 80003ES2LAN Gigabit Ethernet Controller (Copper)
vendor: Intel Corporation
physical id: 0.1
bus info: pci@0000:04:00.1
logical name: eth1
version: 01
serial: 00:30:48:89:d5:73
size: 10MB/s
capacity: 1GB/s
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.20-k2-NAPI duplex=full firmware=1.6-12 ip=213.186.116.138 latency=0 link=yes module=e1000 multicast=yes
*-pci:1
description: PCI bridge
product: 6311ESB/6321ESB PCI Express to PCI-X Bridge
vendor: Intel Corporation
physical id: 0.3
bus info: pci@0000:01:00.3
version: 01
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress pm pcix normal_decode bus_master cap_list
*-system UNCLAIMED
description: System peripheral
product: 5000 Series Chipset DMA Engine
vendor: Intel Corporation
physical id: 8
bus info: pci@0000:00:08.0
version: b1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: latency=0
*-pci:1
description: PCI bridge
product: 631xESB/632xESB/3100 Chipset PCI Express Root Port 1
vendor: Intel Corporation
physical id: 1c
bus info: pci@0000:00:1c.0
version: 09
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport-driver
*-usb:0
description: USB Controller
product: 631xESB/632xESB/3100 Chipset UHCI USB Controller #1
vendor: Intel Corporation
physical id: 1d
bus info: pci@0000:00:1d.0
version: 09
width: 32 bits
clock: 33MHz
capabilities: uhci bus_master
configuration: driver=uhci_hcd latency=0 module=uhci_hcd
*-usb:1
description: USB Controller
product: 631xESB/632xESB/3100 Chipset UHCI USB Controller #2
vendor: Intel Corporation
physical id: 1d.1
bus info: pci@0000:00:1d.1
version: 09
width: 32 bits
clock: 33MHz
capabilities: uhci bus_master
configuration: driver=uhci_hcd latency=0 module=uhci_hcd
*-usb:2
description: USB Controller
product: 631xESB/632xESB/3100 Chipset UHCI USB Controller #3
vendor: Intel Corporation
physical id: 1d.2
bus info: pci@0000:00:1d.2
version: 09
width: 32 bits
clock: 33MHz
capabilities: uhci bus_master
configuration: driver=uhci_hcd latency=0 module=uhci_hcd
*-usb:3
description: USB Controller
product: 631xESB/632xESB/3100 Chipset UHCI USB Controller #4
vendor: Intel Corporation
physical id: 1d.3
bus info: pci@0000:00:1d.3
version: 09
width: 32 bits
clock: 33MHz
capabilities: uhci bus_master
configuration: driver=uhci_hcd latency=0 module=uhci_hcd
*-usb:4
description: USB Controller
product: 631xESB/632xESB/3100 Chipset EHCI USB2 Controller
vendor: Intel Corporation
physical id: 1d.7
bus info: pci@0000:00:1d.7
version: 09
width: 32 bits
clock: 33MHz
capabilities: pm debug ehci bus_master cap_list
configuration: driver=ehci_hcd latency=0 module=ehci_hcd
*-pci:2
description: PCI bridge
product: 82801 PCI Bridge
vendor: Intel Corporation
physical id: 1e
bus info: pci@0000:00:1e.0
version: d9
width: 32 bits
clock: 33MHz
capabilities: pci subtractive_decode bus_master cap_list
*-display UNCLAIMED
description: VGA compatible controller
product: ES1000
vendor: ATI Technologies Inc
physical id: 1
bus info: pci@0000:07:01.0
version: 02
width: 32 bits
clock: 33MHz
capabilities: pm vga_controller bus_master cap_list
configuration: latency=66 mingnt=8
*-isa
description: ISA bridge
product: 631xESB/632xESB/3100 Chipset LPC Interface Controller
vendor: Intel Corporation
physical id: 1f
bus info: pci@0000:00:1f.0
version: 09
width: 32 bits
clock: 33MHz
capabilities: isa bus_master
configuration: latency=0
*-ide:0
description: IDE interface
product: 631xESB/632xESB IDE Controller
vendor: Intel Corporation
physical id: 1f.1
bus info: pci@0000:00:1f.1
logical name: scsi0
version: 09
width: 32 bits
clock: 33MHz
capabilities: ide bus_master emulated
configuration: driver=ata_piix latency=0 module=ata_piix
*-cdrom
description: DVD reader
product: DVD-ROM SR-8178
vendor: MATSHITA
physical id: 0.1.0
bus info: scsi@0:0.1.0
logical name: /dev/cdrom1
logical name: /dev/dvd1
logical name: /dev/scd0
logical name: /dev/sr0
logical name: /media/cdrom0
version: PZ16
serial: [MATSHITADVD-ROM SR-8178 PZ16PP 01/20/05+C
capabilities: removable audio dvd
configuration: ansiversion=5 mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime state=mounted status=ready
*-medium
physical id: 0
logical name: /dev/cdrom1
logical name: /media/cdrom0
configuration: mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime state=mounted
*-ide:1
description: IDE interface
product: 631xESB/632xESB/3100 Chipset SATA IDE Controller
vendor: Intel Corporation
physical id: 1f.2
bus info: pci@0000:00:1f.2
logical name: scsi2
logical name: scsi3
version: 09
width: 32 bits
clock: 66MHz
capabilities: ide pm bus_master cap_list emulated
configuration: driver=ata_piix latency=0 module=ata_piix
*-disk:0
description: ATA Disk
product: WDC WD2000JS-22N
vendor: Western Digital
physical id: 0
bus info: scsi@2:0.0.0
logical name: /dev/sda
version: 10.0
serial: WD-WCANK5847171
size: 186GiB (200GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=00092051
*-volume:0
description: EXT3 volume
vendor: Linux
physical id: 1
bus info: scsi@2:0.0.0,1
logical name: /dev/sda1
logical name: /
logical name: /dev/.static/dev
version: 1.0
serial: 8a52fa5f-7e34-4cda-9b90-ae32b2ec0518
size: 180GiB
capacity: 180GiB
capabilities: primary bootable journaled extended_attributes large_files huge_files recover ext3 ext2 initialized
configuration: created=2008-12-19 12:04:56 filesystem=ext3 modified=2008-12-20 00:07:13 mount.fstype=ext3 mount.options=rw,relatime,errors=remount-ro,data=ordered mounted=2008-12-20 00:0
*-volume:1
description: Extended partition
physical id: 2
bus info: scsi@2:0.0.0,2
logical name: /dev/sda2
size: 5898MiB
capacity: 5898MiB
capabilities: primary extended partitioned partitioned:extended
*-logicalvolume
description: Linux swap / Solaris partition
physical id: 5
logical name: /dev/sda5
capacity: 5898MiB
capabilities: nofs
*-disk:1
description: ATA Disk
product: WDC WD2000JS-22N
vendor: Western Digital
physical id: 1
bus info: scsi@3:0.0.0
logical name: /dev/sdb
version: 10.0
serial: WD-WCANK5938407
size: 186GiB (200GB)
configuration: ansiversion=5
*-serial UNCLAIMED
description: SMBus
product: 631xESB/632xESB/3100 Chipset SMBus Controller
vendor: Intel Corporation
physical id: 1f.3
bus info: pci@0000:00:1f.3
version: 09
width: 32 bits
clock: 33MHz
configuration: latency=0
*-pci:1
description: Host bridge
product: 5000 Series Chipset FSB Registers
vendor: Intel Corporation
physical id: 101
bus info: pci@0000:00:10.0
version: b1
width: 32 bits
clock: 33MHz
configuration: driver=i5000_edac module=i5000_edac
*-pci:2
description: Host bridge
product: 5000 Series Chipset FSB Registers
vendor: Intel Corporation
physical id: 102
bus info: pci@0000:00:10.1
version: b1
width: 32 bits
clock: 33MHz
*-pci:3
description: Host bridge
product: 5000 Series Chipset FSB Registers
vendor: Intel Corporation
physical id: 103
bus info: pci@0000:00:10.2
version: b1
width: 32 bits
clock: 33MHz
*-pci:4
description: Host bridge
product: 5000 Series Chipset Reserved Registers
vendor: Intel Corporation
physical id: 104
bus info: pci@0000:00:11.0
version: b1
width: 32 bits
clock: 33MHz
*-pci:5
description: Host bridge
product: 5000 Series Chipset Reserved Registers
vendor: Intel Corporation
physical id: 105
bus info: pci@0000:00:13.0
version: b1
width: 32 bits
clock: 33MHz
*-pci:6
description: Host bridge
product: 5000 Series Chipset FBD Registers
vendor: Intel Corporation
physical id: 106
bus info: pci@0000:00:15.0
version: b1
width: 32 bits
clock: 33MHz
*-pci:7
description: Host bridge
product: 5000 Series Chipset FBD Registers
vendor: Intel Corporation
physical id: 107
bus info: pci@0000:00:16.0
version: b1
width: 32 bits
clock: 33MHz

linuxinfo
Linux rudjuk-desktop 2.6.24-22-generic #1 SMP Mon Nov 24 19:35:06 UTC 2008
Eight Intel Unknown 3000MHz processors, 48006.99 total bogomips, 2047M RAM
System library 2.7.0

hardinfo
Computer
********

Summary
——-

-Computer-
Processor : 8x Intel(R) Xeon(TM) CPU 3.00GHz
Memory : 2062MB (637MB used)
Operating System : Ubuntu 8.04.1
User Name : root (root)
Date/Time : Пнд 23 Фев 2009 19:52:50
-Display-
Resolution : 0x0 pixels
OpenGL Renderer : Unknown
X11 Vendor : (null)
-Multimedia-
-Input Devices-
Macintosh mouse button emulation
PC Speaker
Power Button (FF)
Power Button (CM)
-Printers (CUPS)-
PDF
-IDE Disks-
-SCSI Disks-
MATSHITA DVD-ROM SR-8178
ATA WDC WD2000JS-22N
ATA WDC WD2000JS-22N

Operating System
—————-

-Version-
Kernel : Linux 2.6.24-22-generic (x86_64)
Compiled : #1 SMP Mon Nov 24 19:35:06 UTC 2008
C Library : GNU C Library version 2.7 (stable)
Distribution : Ubuntu 8.04.1
-Current Session-
Computer Name : rudjuk-desktop
User Name : root (root)
Home Directory : /root
Desktop Environment : Terminal
-Misc-
Uptime : 65 days, 19 hours and 45 minutes
Load Average : 0,00, 0,00, 0,00

Kernel Modules
—————

-Loaded Modules-
isofs
udf : Universal Disk Format Filesystem
rfcomm : Bluetooth RFCOMM ver 1.8
l2cap : Bluetooth L2CAP ver 2.9
bluetooth : Bluetooth Core ver 2.11
ppdev
cpufreq_powersave : CPUfreq policy governor ‘powersave’
cpufreq_ondemand : ‘cpufreq_ondemand’ — A dynamic cpufreq governor for Low Latency Frequency Transition capable processors
cpufreq_stats : ‘cpufreq_stats’ — A driver to export cpufreq stats through sysfs filesystem
freq_table : CPUfreq frequency table helpers
cpufreq_userspace : CPUfreq policy governor ‘userspace’
cpufreq_conservative : ‘cpufreq_conservative’ — A dynamic cpufreq governor for Low Latency Frequency Transition capable processors optimised for use in a battery environment
video : ACPI Video Driver
output : Display Output Switcher Lowlevel Control Abstraction
dock : ACPI Dock Station Driver
sbs : Smart Battery System ACPI interface driver
sbshc : ACPI SMBus HC driver
battery : ACPI Battery Driver
iptable_filter : iptables filter table
ip_tables : IPv4 packet filter
x_tables : [ip,ip6,arp]_tables backend module
ac : ACPI AC Adapter Driver
lp
ipv6 : IPv6 protocol stack for Linux
iTCO_wdt : Intel TCO WatchDog Timer Driver
iTCO_vendor_support : Intel TCO Vendor Specific WatchDog Timer Driver Support
shpchp : Standard Hot Plug PCI Controller Driver
container : ACPI container driver
parport_pc : PC-style parallel port driver
parport
evdev : Input driver event char devices
i5000_edac : MC Driver for Intel I5000 memory controllers — Ver: 2.0.12 Nov 24 2008
button : ACPI Button Driver
pci_hotplug : PCI Hot Plug PCI Core
edac_core : Core library routines for EDAC reporting
pcspkr : PC Speaker beeper driver
psmouse : PS/2 mouse driver
ext3 : Second Extended Filesystem with journaling extensions
jbd
mbcache : Meta block cache (for extended attributes)
sg : SCSI generic (sg) driver
sd_mod : SCSI disk (sd) driver
sr_mod : SCSI cdrom (sr) driver
cdrom

ata_generic : low-level driver for generic ATA
ata_piix : SCSI low-level driver for Intel PIIX/ICH ATA controllers
pata_acpi : SCSI low-level driver for ATA in ACPI mode
libata : Library module for ATA devices
ehci_hcd : 10 Dec 2004 USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
floppy
scsi_mod : SCSI core
e1000 : Intel(R) PRO/1000 Network Driver
uhci_hcd : USB Universal Host Controller Interface driver
usbcore
thermal : ACPI Thermal Zone Driver
processor : ACPI Processor Driver
fan : ACPI Fan Driver
fbcon
tileblit : Tile Blitting Operation
font : Console Fonts
bitblit : Bit Blitting Operation
softcursor : Generic software cursor
fuse : Filesystem in Userspace

Boots
——

-Boots-

Languages
———

-Available Languages-
en_AU.utf8 : English locale for Australia
en_BW.utf8 : English locale for Botswana
en_CA.utf8 : English locale for Canada
en_DK.utf8 : English locale for Denmark
en_GB.utf8 : English locale for Britain
en_HK.utf8 : English locale for Hong Kong
en_IE.utf8 : English locale for Ireland
en_IN : English language locale for India
en_NZ.utf8 : English locale for New Zealand
en_PH.utf8 : English language locale for Philippines
en_SG.utf8 : English language locale for Singapore
en_US.utf8 : English locale for the USA
en_ZA.utf8 : English locale for South Africa
en_ZW.utf8 : English locale for Zimbabwe
ru_RU.utf8 : Russian locale for Russia

Filesystems
————

-Mounted File Systems-
/dev/sda1 : 179,1 GiB total, 92,3 GiB free
proc : 0,0 B total, 0,0 B free
/sys : 0,0 B total, 0,0 B free
varrun : 1007,1 MiB total, 1006,9 MiB free
varlock : 1007,1 MiB total, 1007,1 MiB free
udev : 1007,1 MiB total, 1007,0 MiB free
devshm : 1007,1 MiB total, 1007,1 MiB free
devpts : 0,0 B total, 0,0 B free
lrm : 1007,1 MiB total, 963,1 MiB free
/dev/sdb1 : 183,4 GiB total, 108,1 GiB free
securityfs : 0,0 B total, 0,0 B free
gvfs-fuse-daemon : 0,0 B total, 0,0 B free
/dev/scd0 : 697,3 MiB total, 0,0 B free

Shared Directories
——————

-SAMBA-
-NFS-

Display
——-

-Display-
Resolution : 0x0 pixels
Vendor : (null)
Version : (null)
-Monitors-
-Extensions-

Network Interfaces
——————

-Network Interfaces-
lo : Sent 254139,02MiB, received 254139,02MiB (127.0.0.1)
eth0 : Sent 0,00MiB, received 0,00MiB
eth1 : Sent 616142,56MiB, received 48471,61MiB (213.186.116.138)

Users
——

-Human Users-
rudjuk : rudjuk
******* Перечисляются разные пользователи… *****

Devices
*******

Processor
———

-Processors-
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz
Intel(R) Xeon(TM) CPU 3.00GHz : 3000,00MHz

Memory
——

-Memory-
Total Memory : 2062476 kB
Free Memory : 65160 kB
Buffers : 133424 kB
Cached : 1360340 kB
Cached Swap : 71176 kB
Active : 721200 kB
Inactive : 1045364 kB
Virtual Memory : 6040400 kB
Free Virtual Memory : 5769420 kB
Dirty : 532 kB
Writeback : 0 kB
AnonPages : 253532 kB
Mapped : 29172 kB
Slab : 183080 kB
SReclaimable : 71300 kB
SUnreclaim : 111780 kB
PageTables : 20252 kB
NFS_Unstable : 0 kB
Bounce : 0 kB
CommitLimit : 7071636 kB
Committed_AS : 1032180 kB
VmallocTotal : 34359738367 kB
VmallocUsed : 12280 kB
VmallocChunk : 34359726063 kB

PCI Devices
————

-PCI Devices-
Host bridge : Intel Corporation 5000V Chipset Memory Controller Hub
PCI bridge : Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3
System peripheral : Intel Corporation 5000 Series Chipset DMA Engine
Host bridge : Intel Corporation 5000 Series Chipset FSB Registers
Host bridge : Intel Corporation 5000 Series Chipset FSB Registers
Host bridge : Intel Corporation 5000 Series Chipset FSB Registers
Host bridge : Intel Corporation 5000 Series Chipset Reserved Registers
Host bridge : Intel Corporation 5000 Series Chipset Reserved Registers
Host bridge : Intel Corporation 5000 Series Chipset FBD Registers
Host bridge : Intel Corporation 5000 Series Chipset FBD Registers
PCI bridge : Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1
USB Controller : Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1
USB Controller : Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2
USB Controller : Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3
USB Controller : Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4
USB Controller : Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller
PCI bridge : Intel Corporation 82801 PCI Bridge
ISA bridge : Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller
IDE interface : Intel Corporation 631xESB/632xESB IDE Controller
IDE interface : Intel Corporation 631xESB/632xESB/3100 Chipset SATA IDE Controller
SMBus : Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller
PCI bridge : Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port
PCI bridge : Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge
PCI bridge : Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1
PCI bridge : Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3
Ethernet controller : Intel Corporation 80003ES2LAN Gigabit Ethernet Controller
Ethernet controller : Intel Corporation 80003ES2LAN Gigabit Ethernet Controller
VGA compatible controller : ATI Technologies Inc ES1000

USB Devices
————

Printers
———

-Printers (CUPS)-
PDF

Battery
——-

-No batteries-
No batteries found on this system

Sensors
——-

Input Devices
————-

-Input Devices-
Macintosh mouse button emulation
PC Speaker
Power Button (FF)
Power Button (CM)

Storage
——-

-IDE Disks-
-SCSI Disks-
MATSHITA DVD-ROM SR-8178
ATA WDC WD2000JS-22N
ATA WDC WD2000JS-22N

Benchmarks
**********

CPU ZLib
———

-CPU ZLib-
This Machine : 26171,486
PowerPC 740/750 (280.00MHz) : 2150.597408
Intel(R) Celeron(R) M processor 1.50GHz : 8761.604561

CPU Fibonacci
————-

-CPU Fibonacci-
This Machine : 3,920
Intel(R) Celeron(R) M processor 1.50GHz : 8.1375674
PowerPC 740/750 (280.00MHz) : 58.07682

CPU MD5
——-

-CPU MD5-
This Machine : 45,774
PowerPC 740/750 (280.00MHz) : 7.115258
Intel(R) Celeron(R) M processor 1.50GHz : 38.6607998

CPU SHA1
———

-CPU SHA1-
This Machine : 61,456
PowerPC 740/750 (280.00MHz) : 6.761451
Intel(R) Celeron(R) M processor 1.50GHz : 49.6752776

CPU Blowfish
————

-CPU Blowfish-
This Machine : 20,681
Intel(R) Celeron(R) M processor 1.50GHz : 26.1876862
PowerPC 740/750 (280.00MHz) : 172.816713

FPU Raytracing
—————

-FPU Raytracing-
This Machine : 15,056
Intel(R) Celeron(R) M processor 1.50GHz : 40.8816714
PowerPC 740/750 (280.00MHz) : 161.312647

3D визуализация и интерьер

Дизайн интерьеров

Декодирование и создание штрих-кодов QR и Data Matrix в Linux

Для разбора и кодирования Data Matrix-кодов (оформленный в виде квадрата
матричный код, состоящий из прямоугольных областей и способный содержать в себе
несколько килобайт данных) в Linux удобно использовать пакет libdmtx-utils.

Устанавливаем  в Debian/Ubuntu:

в Fedora:

Кодируем текст из файла test.txt и сохраняем его в изображение test.png:

для управления выводом можно использовать опции:

Декодируем содержимое Data Matrix-кода, содержащегося в изображении test.png:

Другие варианты

Система zbar (http://sourceforge.net/projects/zbar/) позволяет декодировать не
только QR-коды, но и штрих коды других типов.

Устанавливаем ZBar в Debian/Ubuntu:

в Fedora:

Декодируем содержимое штрих-кода, содержащегося в изображении test.jpg:

Еще один вариант декодирования QR-кодов —  использование программы
libdecodeqr-simpletest из пакета libdecodeqr-examples:

 

Для кодирования QR-кодов в Linux можно использовать утилиту qrencode (http://fukuchi.org/works/qrencode/index.en.html):

или

Кодируем текст из файла test.txt и сохраняем его в изображение test.jpg:


Источник: http://www.opennet.ru/tips/info/2565.shtml

3D визуализация и интерьер

Предметная визуализация

Простейший способ создания штрих-кода в формате PNG из командной строки в Linux Ubuntu

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

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

Итак, в Linux мы имеем прекрасную утилиту для генерации штрих-кода под названием barcode. Данная команда генерирует штрих-код в формате PostScript и Encapsulated Postscript.

Рассмотрим её описание:

Как видите, данная команда генерирует штрих-коды во всех основных стандартах.

Рассмотрим примеры использования:

Grand & Toy # 99773,

Should be:

But in fact:

Trying History 

-p 8.5x11in works.

Преобразование PS-файла в PNG

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

Генерация изображения с заданной четкостью:

Генерация изображения заданного размера:

Генерация штрих-кода в PNG-формате

Соединим обе команды для генерация штрих-кода символьного значения в формате CODE128:

Таким образом, 2-мя строчками мы можем получить изображение практически в любом графическом формате (не только jpg) практически любого штрих-кода.

Автор: Рудюк С . А. https://corp2.net

Генерация QR-кодов в Linux Ubuntu из командной строки

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

В Linux есть огромное количество бесплатного программного обеспечения а так же различных языков программирования благодаря которым Вы можете решить практически любую задачу. Причем, сделать это можете быстро, эффективно и что очень важно — не затрачивая денежные ресурсы…

В данной статье я расскажу, как можно сгенерировать QR-код в Linux Ubuntu из командной строки.

Для генерации QR-кода Вы можете использовать команду:

Например:

Получите такое изображение:

googleВы можете указать размер пикселей, используя аргумент ‘-s’. Например, для размера 6х6:

Получим такое изображение:

google1Автор: Рудюк С . А. https://corp2.net

Как проигрывать MP3-файлы с командной строки Linux

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

Установка программы.

Для того чтобы установить программу Mpg123 запустите терминал и введите в нем следующую команду:

 

Это приложение доступно для всех видов операционных систем семейства Linux под одним названием mpg123, но также есть возможность скачать его и в исходном коде по следующей ссылке:

Управление.

Для того чтобы включить проигрывание конкретной песни необходимо перейти в каталог с MP3-файлами и ввести в командную строку после  mpg123 имя песни:

После чего программа приступит к проигрыванию трека от начала до конца, и выведет на экран следующий текст:

playmusicfromcli01

Плейлисты.

Вы также можете использовать шаблоны для отправки на проигрывание в mpg123 нескольких файлов одновременно. Самый простой способ создать плейлист — это, находясь в папке с MP3-файлами, ввести следующую команду:

А для того чтобы песни проигрывались в случайном порядке, добавте в предыдущую команду флаг «-Z».

playmusicfromcli02

Или вы можете использовать стандартный башовский редирект чтобы направить на проигрывание в mpg123 список файлов.

Где, флаг -@ указывает mpg123 то, что следующий ввод необходимо трактовать как плейлист (это укороченный флаг -list), а символ < — это стандартный редирект в командной строке, который берет текст из файла и передает его в плеер.

Дистанционное управление плеером.

Многим пользователям Linux известно об протоколе SSH, который предоставляет доступ к консоли удаленной системы, а так как mpg123 — это чисто консольное приложение, то и управлять им можно также через SSH. Введите следующие команды в терминале:

и услышите музыку на удаленном компьютере.

P.S. Данная утилита с некоторых пор стала входить в пакет mpg321:

Источник: http://osmaster.org.ua/?p=2012