Ferramentas Jogos Meu blog Live

Coisas que uso para facilitar minhas tarefas

Vale lembrar que qualquer tutorial passado aqui usará o Debian como base, que é o sistema que uso, a menos que seja informado o contrário

Retroflag GPI CASE - o Gameboy alimentado pelo Raspberry Pi Zero:

Retroflag

Capturando Zapdos

Mantendo programas abertos sem exibir janela e congelando programas

Congelando programas

Emulador de Gameboy

Emulador GB

Mudando um pouco nessa postagem sobre dicas de facilidade, quero compartilhar com vocês um projeto que estou hospedando na data que estou escrevendo esse texto (19/09/2023), estou hospedando um emulador de gameboy que roda via telnet, qualquer usuário do Vaporhole pode se conectar pelo servidor rodando:

telnet localhost 1989

Assim você poderá jogar alguns jogos que adicionei, direto do terminal, caso tenha algum problema com algum jogo me informe, pois já tive problema com alguns jogos que crashavam o emulador. Divirtam-se!!!

Fazer snapshot antes de atualizar o sistema.

Snapshot

Geralmente faço backup somente dos arquivos que preciso, arquivos de sistema faço apenas snapshot para evitar ficar baixando novamente algum programa/configuração quando alguma atualização dá errado, por esse motivo geralmente uso o btrfs. A maneira que uso para atualizar é:

sudo mount /dev/sda1 /mnt
cd /mnt
sudo btrfs subvolume snapshot @debian @debian_$(date | sed s/" "/"_"/g)
cd ~
sudo umount /mnt
sudo apt update
sudo apt upgrade

Geralmente coloco isso em um script para facilitar, embora ultimamente estou colocando tudo dentro da minha configuração do Emacs.

Ambiente de trabalho reproduzivel sem mesclar com o resto do sistema.

Container

Recentemente precisei preparar meu ambiente para trabalhar com C#, porém fora esse curso que estou fazendo não uso C# para nada, então criei um container com podman e usei o distrobox para vincular ao Xorg e minhas variáveis de ambiente. Irei mostrar um exemplo de como trabalhar com essas ferramentas:

Primeiro, vamos instalar as ferramentas para isso, podman, distrobox e um editor de sua preferência, eu recomendo o nano e o emacs, mas pro exemplo irei usar o nano:

sudo apt install podman distrobox nano 

Após instalar vamos criar uma pasta para criar a receita do container, no exemplo irei colocar alguns programas para serem instalados no container:

FROM debian
RUN apt update; apt install firefox-esr emacs apache2 -y
ENTRYPOINT ["/bin/bash"]

Obs: coloque a receita em um arquivo de texto chamado Dockerfile

Agora precisamos criar a imagem de container, caso esteja usando o docker ao invés do podman pode trocar um nome por outro que basta, vou criar o container com o nome webdev:

podman build -t webdev .

Pronto! Seu container foi criado, vamos agora usar o distrobox para vincular com nossas variáveis de ambiente o container, o nome do container será webdeveloper e a imagem tem o nome de webdev:

distrobox create -i webdev -n webdeveloper
distrobox enter webdeveloper

O primeiro comando criará o container pelo distrobox e instalará as ferramentas necessárias para vincular as variáveis de ambiente, o segundo inicia o container e já vincula as variáveis de ambiente.

A partir de agora você poderá pelo terminal atual rodar o comando dos programas que foram instalados pelo container, porém lembre-se que nesse terminal não terá acesso aos comandos do seu sistema host, pois está dentro do container, qualquer outro terminal funcionará corretamente, quando não quiser mais usar os programas do container focado em desenvolvimento basta rodar exit no terminal e sairá do container.

NixOS

NixOS é um sistema declarativo que usa uma linguagem própria (Nix) para automatizar o sistema e torná-lo mais otimizado para as tarefas que deseja realizar, tornando o sistema mais fácilmente reproduzivel, para quem se interessar, aqui está minha configuração: configuration.nix

Achar rapidamente computador na rede

Scan

Quem nunca precisou acessar um dispositivo na rede e não sabia o ip? Tem várias maneiras de fazer isso, mas como geralmente acesso via ssh uso esse comando para escanear os dispositivos com ssh na rede:

seq 100 200 | parallel -j 100 ncat -zv 192.168.4.{} 22 2>&1 | grep Connected

O comando seq irá gerar numeros do inicio ao fim do meu range, o programa parallel irá rodar 100 processos simultaneamente do ncat, um em cada ip, e o ncat tentará se conectar ao ip de cada um, os que conectarem serão exibidos na tela, algo como:

Ncat: Connected to 192.168.4.170:22.

Estou criando essa página em Markdown, convertendo para html com pandoc e usando um deploy to server com git para enviar para o servidor o markdown, o hooks do git é o responsável por quando receber um git push rodar o pandoc, convertendo todos arquivos .md em .html

Usuário leigo reclamando de usar o terminal

Página da música usada: link

Obs: Sat Oct 7 20:13:47 -03 2023, recuperado página após tentativa de migrar minha outra página para cá. :(