GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Ist es möglich, auf den Framebuffer zuzugreifen, um von der Befehlszeile aus ein Pixel auf den Bildschirm zu bringen?

Ich bin mir nicht sicher, ob es der einzig mögliche Weg ist, aber
ich habe gelesen, dass man etwas in einen Ort namens Framebuffer schreiben muss, um ein einzelnes Pixel an einer Stelle Ihrer Wahl auf den Bildschirm zu bringen.
> Also wurde ich neugierig, ob es möglich ist, in diese Stelle einzudringen und etwas hineinzuschreiben, um ein einzelnes Pixel irgendwo auf dem Bildschirm anzuzeigen.

Akzeptierte Antwort:

Ja, außerhalb des X-Servers, in tty, versuchen Sie den Befehl:

cat /dev/urandom >/dev/fb0

Wenn bunte Pixel den Bildschirm füllen, ist Ihr Setup in Ordnung, und Sie können versuchen, mit diesem kleinen Skript zu spielen:

#!/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

wo die Funktion 'Pixel' eine Antwort sein sollte… schreibe ein Pixel auf den Bildschirm, indem du die Bytewerte (blau-grün-rot-alpha) auf dem x-y-Offset des Geräts /dev/fbX änderst, das der Frame-Puffer für die Videokarte ist.

oder versuchen Sie es mit einem Liner-Pixel-Zeichnen (gelb auf x:y=200:100, wenn die Breite 1024 ist):

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

AKTUALISIERUNG: Dieser Code funktioniert sogar innerhalb des X-Servers, wenn wir X einfach so konfigurieren, dass es den Frame-Puffer verwendet. durch Angabe von fb0 in /usr/share/X11/xorg.conf.d/99-fbdev.conf


Linux
  1. Konfigurieren Sie einen Linux-Arbeitsbereich remote über die Befehlszeile

  2. Verwenden von Stratis zum Verwalten von Linux-Speicher über die Befehlszeile

  3. Migrieren eines Linux-Servers über die Befehlszeile

  4. Generieren eines SHA-256-Hashs über die Linux-Befehlszeile

  5. Auslassen der ersten Zeile in jeder Linux-Befehlsausgabe

Erstellen Sie eine Fotocollage über die Linux-Befehlszeile

Programmieren Sie Hardware über die Linux-Befehlszeile

Die Linux-Befehlszeile kann aus der Ferne Spaß machen

Meistern Sie die Linux-Befehlszeile

So suchen Sie nach Dateien über die Linux-Befehlszeile

Verzeichnis in Linux entfernen – So löschen Sie einen Ordner von der Befehlszeile aus