Não tenho certeza se é a única maneira possível, mas li que, para colocar um único pixel na tela em um local de sua escolha, é preciso escrever algo em um local chamado framebuffer. Então fiquei curioso, se é possível entrar neste lugar e escrever algo nele para exibir um único pixel em algum lugar da tela.
linux
console
graphics
framebuffer
Abdul Al Hazred
fonte
fonte
Respostas:
sim, fora do X-server, em tty, tente o comando:
se pixels coloridos preenchem a tela, sua configuração está correta e você pode tentar jogar com este pequeno script:
onde a função 'pixel' deve ser uma resposta ... escreva um pixel na tela alterando os valores de bytes (azul-verde-vermelho-alfa) no deslocamento xy do dispositivo / dev / fbX, que é o buffer de quadros da placa de vídeo.
ou tente desenhar um pixel de liner (amarelo em x: y = 200: 100, se a largura for 1024):
ATUALIZAR: esse código funciona mesmo dentro do servidor X, se apenas configurarmos o X para usar o buffer de quadros . especificando fb0 dentro de /usr/share/X11/xorg.conf.d/99-fbdev.conf
fonte
dd
o que tem sido muitas vezes chamado de "Disk Destroy" por razões específicas ... não vá perto estes comandos se você não sabe o que está fazendo .../dev/fbX
e/dev/fd
foi apenas um erro de digitação. E sim,dd
é perigoso, mas também érm
. Isso não significa que não deva ser usado. Significa apenas que deve ser usado com cuidado./dev/fb0
faz mais sentido! Todo mundo sabe o querm
significa, masdd
é um pouco mais obscuro, ainda acha que deve levar um aviso de saúde.Acabei de postar esta manhã, ainda investigando por que funciona apenas em Raspberry Pis. https://www.raspberrypi.org/forums/viewtopic.php?f=72&t=213964&p=1428891#p1428891
Abra / dev / fb0, mmapie-o para obter um ponteiro, e é muito mais rápido. Não usa X, mas ignora felizmente o X, é apenas algo na tela.
Ah, a partir de uma linha de comando, você pode escrever para / dev / fb0. Porém, o que você escrever no deslocamento 0 estará no canto superior esquerdo, para rolar imediatamente para fora da tela. Você pode fazer um loop for no Bash e escrever algumas milhares de vezes. Ou use / dev / urandom. Destruir o que está no buffer de tela, especialmente enquanto você estiver no X, não é grande coisa. Assim que você arrasta uma janela sobre a área, X causa um evento de exposição e o repete. Você não precisa matar o poder de se recuperar.
fonte