Здравствуйте! У кого-нибудь работает fbgrab? Или чем ещё можно сделать снимок консоли без X?
Скриншоты в консоли.
Не подскажете куда копать?
А какой фреймбуфер консоли вы используете?
Вот с этим у меня проблемы! Как это узнать? В ядре включен fbcondecor. Добавлен на уровень boot.
Если вручную включить тему консоли, - то она отображается. К сожалению в автозапуск никак не удалось пока поставить.
Но это уже другая проблема. Тут я наверное что-то с grub2 нахимичил. MPlayer воспроизводит фильмы с драйвером fbdev2.
У меня ноутбук без дискретки. Процессор Intel i5 2520m.
Наверное inteldrmfb. В /etc/default/grub записано:
[console]"root=/dev/sda3 video=inteldrmfb:1366x768-32@60,mtrr:3,ywrap splash=verbose,theme:natural_gentoo console=tty1 quiet"[/console]
Но тема автоматом тоже не ставится.
Попробуйте использовать vesafb.
Когда-то оно работало с grub-0,97. И bootsplash и fbcondecor. Fbgrab правда тогда не пробовал.
Работало именно с inteldrmfb. Видимо где-то я ошибся в конфиге граба2. Или что-то изменилось с тех пор,
а я не заметил. Печально. На всякий случай вот конфиг граба: http://bpaste.net/show/240865/
Тут я наверное что-то с grub2 нахимичил.
Больше похоже что с параметрами ядра нахимичил, раз уж запускается тема в ручную.
Скорее всего драйвер установлен модулем а не в ядре.
Если устройство /dev/fb0 существует то должно все работать.
Если делать скриншот под пользователем, то пользователь должен быть в группе tty
Попробуйте собрать через genkernel с темой, так как у вас параметр root=/dev/sda3 вместо real_root=/dev/sda3 то смею предположить что собирали ядро в ручную(без genkernel).
Может быть еще какое устройство есть(/dev/fb1) то попробуйте через него сделать снимок
[console]$ fbgrab -d /dev/fb1 -c1 file.png[/console]
-c1 номер консоли с которой делается снимок.
Может и с ядром нахимичил. Такое ощущение, что параметры ядром вообще не принимаются, хотя обновляю
grub2 каждый раз после изменения.
Скриншоты fbgrab делает, но кривые. (3 пост).
Может и с ядром нахимичил. Такое ощущение, что параметры ядром вообще не принимаются, хотя обновляю
grub2 каждый раз после изменения.
Скриншоты fbgrab делает, но кривые. (3 пост).
На счет того что тема не запускается при загрузке, скорее всего с ядром нахимичил, а то что fbgrab делает кривые скриншоты, то тут посмотрел, fbgrab не работает с kms фреймбуфером, на досуге попробую как нибудь заняться, если получится отпишу решение.
Вот нашел в мане ffmpeg, можно делать скриншоты консоли.
пользователь должен быть в группах video и tty
[console]$ ffmpeg -f fbdev -frames:v 1 -r 1 -i /dev/fb0 screenshot.jpeg[/console]
С KMS фреймбуфером работает норм.
...попробовал, однако, ругнулось:
Показать
~/ ffmpeg -f fbdev -frames:v 1 -r 1 -i /dev/fb0 screenshot.jpeg
ffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers
built on Apr 10 2014 16:26:13 with gcc 4.8.2 (GCC) 20140206 (prerelease)
configuration: --prefix=/usr --disable-debug --disable-static --enable-avresample --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-pic --enable-postproc --enable-runtime-cpudetect --enable-shared --enable-swresample --enable-vdpau --enable-version3 --enable-x11grab
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libavresample 1. 2. 0 / 1. 2. 0
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Option frames:v (set the number of frames to record) cannot be applied to input file /dev/fb0 -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.
Error parsing options for input file /dev/fb0.
Error opening input files: Invalid argument
Поставил опцию frames:v перед файлом скриншота, всё «сфотографировалось» ;)
Показать
~/ ffmpeg -f fbdev -r 1 -i /dev/fb0 -frames:v 1 screenshot.jpeg
ffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers
built on Apr 10 2014 16:26:13 with gcc 4.8.2 (GCC) 20140206 (prerelease)
configuration: --prefix=/usr --disable-debug --disable-static --enable-avresample --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-pic --enable-postproc --enable-runtime-cpudetect --enable-shared --enable-swresample --enable-vdpau --enable-version3 --enable-x11grab
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libavresample 1. 2. 0 / 1. 2. 0
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
[fbdev @ 0x1824a60] w:1366 h:768 bpp:32 pixfmt:bgra fps:1/1 bit_rate:33570816
[fbdev @ 0x1824a60] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, fbdev, from '/dev/fb0':
Duration: N/A, start: 1398848122.471403, bitrate: 33570 kb/s
Stream #0:0: Video: rawvideo (BGRA / 0x41524742), bgra, 1366x768, 33570 kb/s, 1 tbr, 1000k tbn, 1 tbc
[swscaler @ 0x1811280] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'screenshot.jpeg':
Metadata:
encoder : Lavf55.33.100
Stream #0:0: Video: mjpeg, yuvj444p, 1366x768, q=2-31, 200 kb/s, 90k tbn, 1 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> mjpeg)
Press [q] to stop, [?] for help
[swscaler @ 0x1811280] Warning: data is not aligned! This can lead to a speedloss
frame= 1 fps=0.0 q=1.9 Lsize=N/A time=00:00:01.00 bitrate=N/A
video:29kB audio:0kB subtitle:0 data:0 global headers:0kB muxing overhead -100.075104%
...попробовал, однако, ругнулось:
Ну данный пример был из мана, там еще был пример как записывать видео с консоли, тут похоже просто разные версии ffmpeg обрабатывают по разному, на версии 1.0.8 данный пример позволяет получить скриншот, хотя по идее правильнее frames выставлять после указания источника с которого будет производиться конвертация, в данном случае это /dev/fb0.
Простите ещё раз нуба, а как бы заблокировать вывод этой команды? Слишком большой!
Большое спасибо! Сделаю, пожалуй из этого маленький скриптик. Здорово пригодится!
ormorph, удалось поставить fbsplash в автозагрузку, только при использовании initramfs, как Вы и советовали.
Пришлось воспользоваться Genkernel. Сколько ни бился, - иначе никак, хотя при grub-0,97 такое было возможно. :(
Спасибо всем!
Сколько ни бился, - иначе никак, хотя при grub-0,97 такое было возможно.
Скорее всего просто забыли как делали раньше, во всех случаях нужен initramfs тыц, хотя если поставить fbcondecor в автозагрузку при условии что в загрузчике запускается видео драйвер с фреймбуфером, он должен запустить тему прописанную в /etc/conf.d/fbcondecor.
