CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
30.05.2020

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Приложения

FrameBuffer Viewer

POSIX.ru

Как известно в ядро Linux уже встроена поддержка работы в графическом режиме через т.н. фреймбуфер. Однако, в силу ряда причин, программ эксплуатирующих эту предоставленную возможность крайне мало. Но мало это не значит, что нет вовсе. Так, например, прямо в консоли можно воспроизводить видео или просматривать изображения.

Как раз о просмотре изображений и пойдет речь в этой заметке. Выбор программ-просмоторщиков — «вьюверов» — работающих во фреймбуферной консоли очень ограничен. Рассмотрим чуть ли не единственного более-менее широко известного представителя этого класса программ — fbv.

fbv расшифровывается как FrameBuffer Viewer (ФреймБуферный Просмоторщик). Своё название он оправдывает полностью. И хотя не может похвастаться возможностями своих собратьев работающих в X Window System, базовый функционал «программы-смотрелки» fbv отрабатывает справно. А именно:

  • Поддерживает форматы jpg, png, bmp, gif (без анимации). Правда, отказывается работать с tiff'ами, и иногда наблюдаются проблемы с png изображениями в индексированной палитре.

  • Поддерживает возможность промотки изображения, если оно не помещается на экран. Для этого нужно использовать курсорные клавиши клавиатуры, либо кнопки «a», «d», «w» и «x».
  • Поддерживает подгонку изображений под размер монитора, двух типов — простую и по улучшенному алгоритму. При этом картинки исключительно уменьшаются, что бы полностью поместится на консоле. Если изображение не превышает размеров экрана, то оно всегда демонстрируется как есть.
  • Поддерживает просмотр нескольких изображений перечисленных в качестве аргументов командной строки. Переход к следующему изображению осуществляется по клавише «enter», либо «пробел», к предыдущему — «backspace».
  • Поддерживает возможность показа изображений в режиме слайдшоу. Для этого необходимо в командной строке указать ключ «-delay» или «-s» и задержку в десятых долях секунды.

Как и положено консольному приложению, основным для fbv является интерфейс командной строки:

	fbv [опции] image1 image2 image3 ...

Разумеется, поддерживаются метасимволы шела — «*», «?» и пр.

Выход из программы по нажатию «enter», либо «пробел» после достижения последнего изображения в последовательности, либо по нажатию клавиши «q».

Приложение

fbv очень хорошо интегрируется с файловым менеджером MC. Для этого нужно найти файл /usr/share/mc/mc.ext и отредактировать в нем секцию include/image

примерно следующим образом:

include/image
	Open=if [ "$DISPLAY" = "" ]; then fbv %f; else (qiv %f &); fi
	View=%view{ascii} identify %f

В результате, при щелчке по графическому файлу в консоле будет вызываться fbv, а в X Window systemqiv. Можно добавить и тому и другому опций по вкусу.

Еще одно несовсем обычное применение: Однажды мне захотелось посмотреть слайдшоу именно в консоле, причем порядок изображений должен быть случайным. fbv штатно не поддерживает такого режима. Чтобы обойти это граничение я быстренько набрасал скриптик на perl'е:

#!/usr/bin/perl

#This script read from STDIN array of any text strings, #stongly shuffle it and print it back to SDTOUT. #It can be useful in command pipe, to get randomazed list of #arguments: # # fbv -k -s 50 `find ~ -name "*.jpg"|shuffle` # #Command above starts in frame buffer console slide show from #all jpeg images at curent user's home. (fbv can not randomaze #images by it self)

@list = <STDIN>;

for ($i = 0; $i < 2*$#list; $i++){ ($first, $second) = random_indexes($#list+1); @list[$first, $second] = @list[$second, $first]; } print @list;

sub random_indexes{ $x = $y = int(rand($_[0])); while ($x == $y){ $y = int(rand($_[0])); } return ($x,$y) }




Комментарии

аноним, Fri Feb 16 14:25:16 2007:
Очень интересная программа, как раз та которую я искал для уменьшения изображения. Очень бы хотелось попробовать её в действии.
аноним, Sun Dec 3 16:09:12 2006:
С интересом прочитал заметку. Есть более интересная на мой взгляд программа fbi (framebuffer imageviewer). В частности, позволяет просмотреть PhotoCD, jpeg, ppm, gif, tiff, xwd, bmp, png; размер картинки можно как уменьшать, так и увеличивать; промотка изображения есть; просмотр нескольких изображений само собой; слайдшоу; простейшее редактирование (поворот по/против часовой стрелки (только jpeg); просмотр комментариев к картинке (например, info, добавляемое цифровой камерой). Доступны и другие опции.

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds