Действительно ли это возможно к доступу к кадровому буферу для помещения пикселя на экран из командной строки?

Необходимо создать собственное локальное зеркало для репозиториев обновления.

Согласно странице загрузки SL существует rsync-зеркало: rsync://rsync.scientificlinux.org/scientific/Использование это во времена, где никто не использует Ваше медленное соединение с интернетом, чтобы создать зеркало и сохранить его текущей ежедневной газетой.

Можно затем экспортировать то локальное зеркало через http и включать тот вместо интернет-репозитория обновления.

15
25.03.2015, 01:29
2 ответа

Да, за пределами X-Server, в TTY, попробуйте команду:

cat /dev/urandom >/dev/fb0

Если Colourfull Pixels заполняет экран, то ваша настройка в порядке, и вы можете попробовать играть с этим небольшим сценарием:

#!/usr/bin/env bash

fbdev=/dev/fb0 ;   width=1280 ; bpp=4
color="\x00\x00\xFF\x00" #red colored

function pixel()
{  xx=$1 ; yy=$2
   printf "$color" | dd bs=$bpp seek=$(($yy * $width + $xx)) \
                        of=$fbdev &>/dev/null
}
x=0 ; y=0 ; clear
for i in {1..500}; do
   pixel $((x++)) $((y++))
done

​​Где функция «пиксель» должна быть ответом ... напишите пиксель на экран, изменяющие значения байтов (сине-зелено-красно-альфа-альфа) на XY смещении устройства / DEV / FBX, который является буфером кадра для видео-карты Отказ

Или попробуйте нарисовать одну линейку пикселей (желтый на X: Y = 200: 100, если ширина 1024):

printf "\x00\xFF\xFF\x00" | dd bs=4 seek=$((100 * 1024 + 200)) >/dev/fb0

Обновление: Этот код работает даже внутри X-Server, если мы просто настроить X Чтобы использовать кадр буфер . Указание FB0 внутри /usr/share/x11/xorg.conf.d/99-fbdev.conf

16
27.01.2020, 19:50

Я только что опубликовал это сегодня утром, все еще выясняя, почему это работает только на Raspberry Pis.https://www.raspberrypi.org/forums/viewtopic.php?f=72&t=213964&p=1428891#p1428891

Откройте /dev/fb0, mmap, чтобы получить указатель, и это намного быстрее. X вообще не использует, но с радостью проигнорирует X, это просто что-то на экране.

О, вроде как из командной строки вы можете писать в /dev/fb0. Но все, что вы пишете со смещением 0, будет в верхнем левом углу, поэтому оно сразу же прокрутится за пределы экрана. Вы можете сделать цикл for в Bash и написать пару тысяч раз. Или используйте /dev/urandom. Уничтожение того, что находится в буфере экрана, особенно когда вы находитесь в X, не имеет большого значения. Как только вы перетаскиваете окно на область, X вызывает событие экспонирования и перерисовывает его. Вам не нужно убивать силу, чтобы восстановиться.

0
27.01.2020, 19:50

Теги

Похожие вопросы