LINUX.ORG.RU

Загрузка Линукса


2

0

Еще один мой скришот... Собственно не столь важен сам скриншот, как то, как я его делал:

0) Сразу же после загрузки вошел в систему (а ну молчать! не работаю я под рутом - просто одну рутовую консоль всегда держу, в иксах я под юзером) и выполнил команду, которую видно на скриншоте - `cp /dev/fb0 .`

1) Т.к. этот fb0 был в формате, который никаким вювером не открывался, и вообще `file fb0` говорил просто: "data", запустил screen, восстановил экран командой `cp fb0 /dev`, и сделал "текстовый скриншот" экрана (Ctrl+A h). Ни хрена не получилось.

2) Извращаемся дальше... Поставил в иксах такой же видеорежим, как и во framebuffer-консоли, из которой был сделан скриншот, а именно: 1024x768, 16 бит. Запустил xinit.

3) ksnapshot &
cp fb0 /dev/

На экране появилось то, что вы, собственно, видите на скриншоте. Запустился ksnapshot и сделал снимок в png. Правда, виден кусок xinit'овской консоли в верхнем левом углу.

А теперь внимание вопрос: как можно сделать скриншот framebuffer-консоли, не прибегая к таким страшным извращениям? Ткните, какой ман почитать, что ли...

>>> Просмотр (1024x768, 17 Kb)

★★★★

Проверено: ivlad

#raw и два раза таб, потом ман всего че получишь...

gfdsa
()

Работает, спасибо.

K48 ★★★★
() автор топика
Ответ на: комментарий от anonymous

вот-вот...
интерпретатор уже озабочен выполнением команды... (c) mc
я лично все-таки предпочитаю когда программа говорит со мной на ее родном языке, т.е. на английском - так всё-таки понятнее :)
--
мне кстати, однако, интересно - как эти все надписи поменять? login там, password и т.п.
никогда этим вопросом не задавался

Merc
()

Не прибегая к страшным извращениям текстовые консоли грабятся в линух
на ура уже много лет ;)
-------------------------------
#!/usr/bin/perl
$ttynum=shift or die "Usage: grab <vttynum>\n";
die "$ttynum: Incorrect virtual console number\n" unless $ttynum=~/^\d+$/;
$ttydev="/dev/tty" . $ttynum;
$vcsadev="/dev/vcsa" . $ttynum;
open(VCSA,$vcsadev) or die "Cannot open $vcsadev: $!\n";
$len=read(VCSA,$buf,16384);
close(VCSA);
($height,$width,$curx,$cury)=unpack('C4',$buf);
open(T,$ttydev) or die "Cannot open $ttydev: $!\n";
$fnt=pack('L4096',0);
$fntx=pack('SSP',256,32,$fnt);
ioctl(T,0x4B6B,$fntx) or die "Cannot grab console font: $!\n";
close(T);
($nchars,$fheight)=unpack('SS',$fntx);
if($fheight>=14) {
  $thickness=2;
} else {
  $thickness=1;
}
foreach $c (0..255) {
  my @tmp;
  my @ch=split(//,substr($fnt,$c*32,$fheight));
  push @tmp, [ split(//,unpack('B8',shift @ch)) ] while @ch;
  push @font,[ @tmp ];
}
print 'BM'.pack('L29',
$width*$height*$fheight*4+118,0,118,40,$width*8,$height*$fheight,0x40001,
0,$width*$height*$fheight*4,0x120b,0x120b,16,16,
0x000000,0x000080,0x008000,0x008080,0x800000,0x800080,0x808000,0xC0C0C0,
0x808080,0x0000FF,0x00FF00,0x00FFFF,0xFF0000,0xFF00FF,0xFFFF00,0xFFFFFF);
for($line=$height-1;$line>=0;--$line) {
  my @img;
  push @img,[] while (1..$fheight);
  foreach $col (0..$width-1) {
    ($fgattr,$bgattr)=
	split(//,unpack('h2',substr($buf,5+2*($line*$width+$col),1)));
    $ch=unpack('C',substr($buf,4+2*($line*$width+$col),1));
    if($line==$cury && $col==$curx) {
      foreach $_ (1..$fheight-$thickness) {
        push(@{$img[$fheight-$_]},
          map {$_?$fgattr:$bgattr} @{$font[$ch][$_-1]});
      }
      foreach $_ (0..$thickness-1) {
        push @{$img[$_]},($fgattr)x8;
      }
    } else {
      foreach $_ (1..$fheight) {
        push(@{$img[$fheight-$_]},
          map {$_?$fgattr:$bgattr} @{$font[$ch][$_-1]});
      }
    }
  }
  print pack('H'.(8*$width),join('',@$_)) while $_=shift @img;
}
---------------------------

Выходной формат *.bmp

как оно будет работать с фреймбуфером и 512 символьными шрифтами ХЗ (с последними скорее всего плохо) было это задолго до активного пользования что первого что второго 



sS ★★★★★
()

root не должен иметь право входить в систему "просто так". Это не секьюрно. Хотя бы из-под другого пользователя... :)

sn
()

а слакварьщики как обычно занимаются ананизмом и прочими извращениями :) и на кой оно надо такой изврат ? :)))

anonymous
()
Ответ на: комментарий от sn

>Это не секьюрно. Хотя бы из-под другого пользователя... :)

a) На машине работают три юзера, два из которых понятия не имеют о каких-то там рутах

b) Я не знаю как сделать так, чтобы рут мог заходить только из-под другого юзера. Намекнёте?

K48 ★★★★
() автор топика
Ответ на: комментарий от Merc

>мне кстати, однако, интересно - как эти все надписи поменять? login там, password и т.п.

http://linuxshop.ru/linuxbegin/article665.html

Однако, матерые хакеры либо курят в сторонке, либо идут по другой ссылке:

http://www.linux.org.ru/comment-message.jsp?msgid=474501

и пишут: "креатив говно - автор м#дак"

K48 ★★★★
() автор топика

framebuffer screenshot

su -c 'apt-get install fbgrab'

man fbgrab

Dselect ★★★
()
Ответ на: комментарий от anonymous

>Kirill && anonymous (*) (27.01.2004 16:49:44)

Работает, спасибо. Хоть мне это пока и не нужно, все равно интересно было узнать для общего развития.

А вообще, теоретически ведь можно сделать так, чтобы root мог входить в систему только из иксов? Если в /etc/securetty указать ptsx?
----
спустя пару минут: а, все, уже понял. В slackware в файлах настроек куча комментариев; так и есть, нужно указать pts/x.

K48 ★★★★
() автор топика

а как так можно руссифицировать загрузку слаквари?

anonymous
()

Фу гавнище, как ты на этом работаешь? Глаза от таких ужасных шрифтов не устают?

Ну сделайте кто-нибудь для лялиха нормальные шрифты, блин!!!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.