quinta-feira, 14 de agosto de 2025

OCR para PDF

para converter o pdf em texto selecionavel

Instale 

$ sudo apt install ocrmypdf tesseract-ocr

para utilizar

$ ocrmypdf ENTRADA-nome-do-arquivo.pdf SAIDA-nome-do-arquivo.pdf

alternativa

há uma outra alternativa que é o

Kraken OCR

para instalar
sudo apt install python3-pip python3-venv

# Crie e ative um ambiente virtual
python3 -m venv kraken-venv
source kraken-venv/bin/activate

# Instale o Kraken
pip install kraken

# uso basico
kraken -i imagem.png output.txt binarize segment ocr


quinta-feira, 17 de julho de 2025

nascer e por do sol

Melhores sites para saber o nascer e por do sol

https://gml.noaa.gov/grad/solcalc/

https://www.timeanddate.com/sun/

https://www.sunearthtools.com/solar/sunrise-sunset-calendar.php

https://www.suncalc.org/#/-22.4075,-47.5655,3/2025.07.17/05:44/1/3

https://www.sunearthtools.com/

segunda-feira, 7 de julho de 2025

xinitrc - desabilitar o lightdm

Desabilitar permanentemente o lightdm 

$ sudo systemctl disable lightdm

crie um arquivo .xinitrc no diretorio /home do usuario

$ vim ~/.xinitrc

adicione no .xinitrc

# Configurações do teclado (opcional) 
setxkbmap -layout br &
# executar i3  
exec i3 

agora no tty você pode iniciar sessão com startx

$ startx

OBS: é possivel alterar entre os tty com ctrl + alt + F1 até F6

DICA: 


deixar o GRUB no modo verbose 

$ sudo vim /etc/default/grub

encontre a linha GRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

deixe assim

GRUB_CMDLINE_LINUX_DEFAULT=""

habilitar menu do GRUB

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5

após fazer as modificações

$ sudo update-grub

$ sudo reboot

domingo, 6 de julho de 2025

Aonde colocar seus scripts e programas que você criou no linux

embora tenha muitas alternativas uma boa pratica é colocar no diretorio /usr/local/bin 

mover o Script para o diretorio /usr/local/bin

$ sudo mv seu_script /usr/local/bin

permissão de execução

$ sudo chmod +x /usr/local/bin/seu_script

quarta-feira, 2 de julho de 2025

tiling window manager mais leves

1. tinywm - 50 linhas de código em C, ~20KB. O mais minimalista possível, apenas para demonstração.

2. 2bwm - Fork do mcwm, extremamente leve, ~100KB. Tiling com bordas coloridas.

3. berry - Floating WM em ~500 linhas de C, <100KB. Muito responsivo.

4. dwm - ~2000 linhas de C, ~60KB compilado. Configuração via código fonte.

5. cwm - Window manager do OpenBSD, ~300KB. Floating com alguns recursos de tiling.

6. sowm - Simple Opinionated Window Manager, ~400 linhas de C, <50KB.

7. catwm - Cat's Window Manager, ~800 linhas, ~80KB. Tiling simples.

8. windowchef - Stacking WM, ~1000 linhas de C, ~150KB.

9. swm - Simple Window Manager, ~60KB. Floating básico.

10. evilwm - ~200KB, floating com shortcuts vim-like.

11. 9wm - Port do rio (Plan 9), ~150KB. Interface única.

12. lwm - Lightweight Window Manager, ~100KB. Muito estável.

13. ratpoison - Screen-like, sem mouse, ~400KB. Apenas teclado.

14. wmii - ~1MB, mas muito eficiente. Tiling dinâmico.

15. herbstluftwm - ~2MB, mas configuração manual de frames extremamente eficiente.

terça-feira, 1 de julho de 2025

instalar virtualbox no void linux

 # Tutorial: Instalação do VirtualBox no Void Linux
## Guia Completo e Eficiente

### Pré-requisitos
- Void Linux base instalado
- Interface gráfica configurada
- Acesso root/sudo configurado

---

## PASSO 1: Atualizar o Sistema
```bash
sudo xbps-install -Su
```

## PASSO 2: Instalar Pacotes Necessários
```bash
# Instalar VirtualBox e dependências
sudo xbps-install -S virtualbox-ose virtualbox-ose-dkms

# Instalar headers do kernel (obrigatório para DKMS)
sudo xbps-install -S linux-headers

# Instalar pacotes adicionais para funcionalidade completa
sudo xbps-install -S virtualbox-ose-guest virtualbox-ose-guest-dkms
```

## PASSO 3: Configurar Permissões de Usuário
```bash
# Adicionar seu usuário ao grupo vboxusers
sudo usermod -a -G vboxusers $USER

# Verificar se foi adicionado corretamente
groups $USER
```

## PASSO 4: Carregar Módulos do Kernel
```bash
# Carregar módulos manualmente (primeira vez)
sudo modprobe vboxdrv
sudo modprobe vboxnetflt
sudo modprobe vboxnetadp

# Verificar se os módulos foram carregados
lsmod | grep vbox
```

## PASSO 5: Configurar Carregamento Automático dos Módulos
```bash
# Verificar se o diretório existe
sudo mkdir -p /etc/modules-load.d/

# Criar arquivo de configuração (MÉTODO CORRETO)
echo "vboxdrv" | sudo tee -a /etc/modules-load.d/virtualbox.conf
echo "vboxnetflt" | sudo tee -a /etc/modules-load.d/virtualbox.conf
echo "vboxnetadp" | sudo tee -a /etc/modules-load.d/virtualbox.conf

# Verificar se o arquivo foi criado corretamente
cat /etc/modules-load.d/virtualbox.conf
```

## PASSO 6: Recompilar Módulos DKMS (se necessário)
```bash
# Verificar status do DKMS
sudo dkms status

# Se houver problemas, recompilar
sudo dkms autoinstall
```

## PASSO 7: Logout e Login Obrigatório
```bash
# IMPORTANTE: Faça logout e login novamente para aplicar as permissões de grupo
# Ou reinicie o sistema
sudo reboot
```

## PASSO 8: Verificação Pós-Instalação
```bash
# Verificar versão do VirtualBox
VBoxManage --version

# Verificar módulos carregados
lsmod | grep vbox

# Verificar grupos do usuário
groups $USER

# Testar interface gráfica
virtualbox
```

---

## CONFIGURAÇÕES ADICIONAIS DE SEGURANÇA

### Para USB (Opcional)
```bash
# Adicionar usuário ao grupo plugdev se existir
sudo usermod -a -G plugdev $USER
```

### Para Performance (Opcional)
- Habilitar VT-x/AMD-V no BIOS/UEFI
- Alocar memória adequada para VMs
- Configurar aceleração 3D se necessário

---

## SOLUÇÃO DE PROBLEMAS

### Problema: Módulos não carregam
```bash
# Verificar compilação DKMS
sudo dkms status

# Recompilar módulos
sudo dkms remove vboxhost --all
sudo dkms install vboxhost/$(VBoxManage --version | cut -d'r' -f1)
```

### Problema: Erro de permissão ao executar VirtualBox
```bash
# Verificar grupos do usuário
id $USER

# Se não estiver no grupo vboxusers
sudo usermod -a -G vboxusers $USER

# OBRIGATÓRIO: Logout e login novamente
```

### Problema: VirtualBox não abre
```bash
# Verificar se os módulos estão carregados
lsmod | grep vbox

# Carregar manualmente se necessário
sudo modprobe vboxdrv

# Verificar logs de erro
dmesg | grep -i vbox
```

### Problema: Erro na criação de VMs
```bash
# Verificar permissões do dispositivo
ls -la /dev/vboxdrv

# Deve mostrar algo como: crw-rw---- 1 root vboxusers
```

---

## COMANDOS ÚTEIS DE MANUTENÇÃO

### Verificar Status Geral
```bash
# Status dos módulos
lsmod | grep vbox

# Versão instalada
VBoxManage --version

# Grupos do usuário
groups

# Status DKMS
sudo dkms status
```

### Atualização do Sistema
```bash
# Após atualizações do kernel
sudo xbps-install -Su

# Os módulos DKMS são recompilados automaticamente
# Mas pode ser necessário recarregar:
sudo modprobe -r vboxdrv vboxnetflt vboxnetadp
sudo modprobe vboxdrv vboxnetflt vboxnetadp
```

---

## NOTAS IMPORTANTES

1. **LOGOUT OBRIGATÓRIO**: Após adicionar ao grupo vboxusers, DEVE fazer logout/login
2. **Headers do Kernel**: Sempre mantenha linux-headers instalado
3. **DKMS**: Módulos são recompilados automaticamente nas atualizações
4. **Runit**: Void Linux usa runit, não systemd - não há serviços para habilitar
5. **Segurança**: VirtualBox roda com privilégios de usuário, não root
6. **Performance**: Habilite virtualização no BIOS para melhor performance

---

## VERIFICAÇÃO FINAL

Após completar todos os passos:

1. ✅ VBoxManage --version deve mostrar a versão
2. ✅ lsmod | grep vbox deve mostrar os 3 módulos
3. ✅ groups deve incluir vboxusers
4. ✅ virtualbox deve abrir a interface gráfica
5. ✅ Deve conseguir criar e executar VMs

**Tutorial testado e validado para Void Linux com runit**

configurar nmtui no void linux

# Tutorial: Como Configurar NetworkManager e nmtui no Void Linux

## Solução Passo a Passo

### 1. Instalar o NetworkManager
```bash
sudo xbps-install -S NetworkManager
```

### 2. Verificar e Remover Conflitos de Rede
O Void Linux pode ter outros serviços de rede ativos que conflitam com o NetworkManager:

```bash
# Verificar serviços conflitantes
ls -la /var/service/ | grep -E "(dhcp|wpa)"

# Se existirem, remover:
sudo sv down dhcpcd
sudo rm /var/service/dhcpcd
sudo sv down wpa_supplicant
sudo rm /var/service/wpa_supplicant
```

### 3. Configurar o D-Bus (Dependência Obrigatória)
O NetworkManager **precisa** do dbus para funcionar:

```bash
# Verificar se dbus existe e está ativo
sudo sv status dbus

# Se não estiver ativo, habilitar:
sudo ln -s /etc/sv/dbus /var/service/
sudo sv up dbus
```

### 4. Habilitar e Iniciar o NetworkManager
```bash
# Habilitar o serviço NetworkManager
sudo ln -s /etc/sv/NetworkManager /var/service/

# Iniciar o NetworkManager
sudo sv up NetworkManager
```

### 5. Verificar se os Serviços Estão Rodando
```bash
# Verificar dbus
sudo sv status dbus

# Verificar NetworkManager
sudo sv status NetworkManager
```

**Saída esperada:**
- dbus: `run: dbus: (pid XXXX) XXXs`
- NetworkManager: `run: NetworkManager: (pid XXXX) XXXs`

### 6. Testar o nmtui
```bash
# Aguardar alguns segundos para inicialização completa
sleep 5

# Executar nmtui
nmtui
```

## Comandos de Troubleshooting

### Se o NetworkManager não subir:
```bash
# Reiniciar o NetworkManager
sudo sv restart NetworkManager

# Verificar logs
sudo svlogtail NetworkManager
```

### Se ainda houver problemas:
```bash
# Verificar interfaces de rede
ip link show

# Verificar dispositivos no NetworkManager
nmcli device status
```

## Ordem Correta dos Comandos

```bash
# 1. Instalar NetworkManager
sudo xbps-install -S NetworkManager

# 2. Remover conflitos (se existirem)
sudo sv down dhcpcd wpa_supplicant
sudo rm /var/service/dhcpcd /var/service/wpa_supplicant

# 3. Habilitar dbus
sudo ln -s /etc/sv/dbus /var/service/
sudo sv up dbus

# 4. Habilitar NetworkManager
sudo ln -s /etc/sv/NetworkManager /var/service/
sudo sv up NetworkManager

# 5. Testar
nmtui
```

## Notas Importantes

- **O dbus é obrigatório** - NetworkManager não funciona sem ele
- **Apenas um gerenciador de rede** - Não misture NetworkManager com dhcpcd/wpa_supplicant
- **No Void Linux** usamos `runit` como sistema de init, não systemd
- **Para WiFi** certifique-se que sua placa está ligada (botão físico ou tecla Fn)

## Configurando WiFi no nmtui

Após o nmtui abrir:
1. Selecione "Activate a connection" para redes disponíveis
2. Ou "Edit a connection" para criar nova configuração
3. Escolha sua rede WiFi
4. Digite a senha
5. Confirme com "OK"

Agora você pode gerenciar suas conexões de rede facilmente pelo nmtui!

formatar pendrive no linux Device or resource busy

se você receber a mensagem  Device or resource busy

tente o seguinte

1 - liste as partições
$ lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

2 - desmonte
$ sudo umount /dev/sdpartição

3 - Verifique se há algum processo usando o dispositivo 
$ sudo lsof | grep /dev/sdpartição

4 - Se algo aparecer, mate o processo
$ sudo kill -9 <PID>

5 - (Opcional, mas recomendado) Limpe a tabela de partições antes de formatar
$ sudo wipefs -a /dev/sdpartição

6 - formate
sudo mkfs.vfat /dev/sdpartição

Dica: você pode usar o cfdisk ou fdisk para manipular melhor 
$ sudo cfdisk /dev/sdpartição

segunda-feira, 30 de junho de 2025

melhores serviços Armazenamento em nuvem

https://drive.google.com [Gratis]

https://www.pcloud.com/ [Pago]

https://mega.io/pt-br/ [Gratis]

instalando o 9 wm

==============================
 9wm + sxhkd Setup (LightDM)
==============================

1. BAIXE E COMPILAR O 9wm
------------------------------
$ sudo apt-get update
$ sudo apt-get install libx11-dev libxext-dev make gcc git -y
$ git clone https://github.com/9wm/9wm
$ cd 9wm
$ make

2. INSTALE O EXECUTÁVEL
------------------------------
$ sudo cp 9wm /usr/local/bin/9wm
$ sudo chmod +x /usr/local/bin/9wm

3. CONFIGURE O LIGHTDM
------------------------------
$ sudo vim /usr/share/xsessions/9wm.desktop

--- Conteúdo do arquivo: 9wm.desktop ---
[Desktop Entry]
Name=9wm
Comment=Plan 9 Window Manager
Exec=/usr/local/bin/9wm
TryExec=/usr/local/bin/9wm
Icon=
Type=XSession
----------------------------------------

$ sudo chmod 644 /usr/share/xsessions/9wm.desktop
$ ls -la /usr/share/xsessions/9wm.desktop
$ cat /usr/share/xsessions/9wm.desktop

4. REINICIE O LIGHTDM
------------------------------
$ sudo systemctl restart lightdm

5. INSTALE O SXHKD
------------------------------
$ sudo apt install sxhkd -y
$ mkdir -p ~/.config/sxhkd
$ vim ~/.config/sxhkd/sxhkdrc

--- Conteúdo do arquivo: sxhkdrc ---
# Terminal
super + Return
 xterm

# Launcher
super + d
 dmenu_run

# Browser
super + b
 firefox

# File manager
super + e
 thunar
--------------------------------------

6. INICIAR O SXHKD AUTOMATICAMENTE (opcional)
---------------------------------------------
Edite ~/.xinitrc ou ~/.xsession e adicione antes do 9wm:
    sxhkd &
    exec 9wm
Ou use autostart manual após login.

==============================
 FINALIZADO!
 Faça login no 9wm pela tela do LightDM.
==============================

segunda-feira, 16 de junho de 2025

bind i3 wm toggle resolução tela

a bind abaixo deve ser colocada no config do i3wm ela muda a resolução de 1920x1080 para 320x180 ao apertar MOD+CTRL+Z

# Bind toggle resolution 1920x1080 and 320x180
bindsym $mod+Ctrl+z exec --no-startup-id bash -c 'xrandr --query | grep -q "1920x1080.*\\*" && xrandr --output eDP-1 --mode 320x180 --rate 144.15 || xrandr --output eDP-1 --mode 1920x1080 --rate 144.15'

domingo, 15 de junho de 2025

Melhor desempenho para jogos antigos no Virtualbox

Configurações recomendadas no virtualbox

IMPORTANTE: quando instalar o Guest additions evite instalar o DirectX Support (Experimental) e Start Menu Entries, alguns jogos podem apresentar problemas na resolução! 

Base Memory: 5GB
Extende Features Enable I/O APIC: - Habilitado
Chipset: PIIX3
Processors: 6
Enable PAE/NX: Desabilitado 
Execution cap: 100%
Video Memory: 128 
Scale Factor: 100%
Graphics Controller: VboxSVGA  ou VboxVGA 
Enable 3D Acceleration: Habilitado
Paravirtualization interface: Default 
Enable Nested paging: Habilitado (faça testes habilitado)

Essa configuração é para Windows 7 32 bits, apenas 1 nucleos são suficientes para jogos antigos retro pois são single-threaded, porem para jogar online use 6 nucleos

Em jogos antigos resoluções mais baixas são melhores melhores, você pode alterar a resolução do seu sistema para ganhar desempenho

Veja qual a resolução mais baixa que há em seu sistema
$ xrandr

exemplo output: 

eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080    144.15*+ 144.15    60.20  
   1680x1050    144.15  
   1400x1050    144.15  
   1600x900     144.15  
   1280x1024    144.15  
   1400x900     144.15  
   1280x960     144.15  
   1368x768     144.15  
   1280x800     144.15  
   1152x864     144.15  
   1280x720     144.15  
   1024x768     144.15  
   1024x768i    144.15  
   960x720      144.15  
   928x696      144.15  
   896x672      144.15  
   1024x576     144.15  
   960x600      144.15  
   832x624      144.15  
   960x540      144.15  
   800x600      144.15  
   840x525      144.15  
   864x486      144.15  
   700x525      144.15  
   800x450      144.15  
   640x512      144.15  
   700x450      144.15  
   640x480      144.15  
   720x405      144.15  
   720x400      144.15  
   684x384      144.15  
   640x400      144.15  
   576x432      144.15  
   640x360      144.15  
   640x350      144.15  
   512x384      144.15  
   512x384i     144.15  
   512x288      144.15  
   416x312      144.15  
   480x270      144.15  
   400x300      144.15  
   432x243      144.15  
   320x240      144.15  
   360x202      144.14  
   360x200      144.14  
   320x200      144.14  
   320x180      144.14  
   320x175      144.14 

para usar a resolução 320x180 que está na lista
$ xrandr --output eDP-1 --mode 320x180  --rate 144.15

DICA: dar prioridade para o Virtualbox

Lista as virtualbox que estão em execução
$ VBoxManage list runningvms

Pegar PID do virtualboxão que está em execução

$ ps aux | grep "apenas-o-nome-da-vm-mostrada" | grep -v grep

aumentar a prioridade

$ sudo renice -15 -p <PID>

$ sudo ionice -c 1 -n 1 -p <PID> 

Comandos para virtualbox (FAÇA TESTES)


# Single-core optimized setup
VBoxManage modifyvm "NomeVM" --cpus 1
VBoxManage modifyvm "NomeVM" --memory 1536
VBoxManage modifyvm "NomeVM" --vram 128

# Hardware acceleration
VBoxManage modifyvm "NomeVM" --hwvirtex on
VBoxManage modifyvm "NomeVM" --nestedpaging on
VBoxManage modifyvm "NomeVM" --vtxvpid on

# Graphics optimized
VBoxManage modifyvm "NomeVM" --chipset ich9
VBoxManage modifyvm "NomeVM" --ioapic on
VBoxManage modifyvm "NomeVM" --paravirtprovider kvm
VBoxManage modifyvm "NomeVM" --graphicscontroller vboxsvga
VBoxManage modifyvm "NomeVM" --accelerate3d on

# Single-core advanced settings
VBoxManage setextradata "NomeVM" "VBoxInternal/CPUM/HostCPUs" "0"
VBoxManage setextradata "NomeVM" "VBoxInternal/TM/TSCMode" "RealTSCOffset"
VBoxManage setextradata "NomeVM" "VBoxInternal/RamPreAlloc" 1

Como aplicar:  

1 - Substitua "NomeVM" pelo nome exato da sua VM
2 - 
Execute no prompt de comando/terminal
3 - VM deve estar desligada
4 - Seu processador deve suportar VT-x/AMD-V (habilitado na BIOS)

quarta-feira, 11 de junho de 2025

OBS Studio gravar tela para shorts

1 - Encontre o Dispositivo conectado

$ xrandr

2 - Gere a modeline para a resolução 1080x1920

$ cvt 1080 1920

3 - Adicione a nova resolução com (cole a saida do comando cvt)


exemplo:
$ xrandr --newmode "1080x1920_60.00"  176.50  1080 1168 1280 1480  1920 1923 1933 1989 -hsync +vsync

4 - Adicione essa resolução ao seu monitor

$ xrandr --addmode eDP-1 1080x1920_60.00

5 - Ative a resolução no modo retrato (rotacionando a tela)

$ xrandr --output eDP-1 --mode 1080x1920_60.00 --rotate normal

dica: você pode usar scale caso tudo esteja muito pequeno

xrandr --output eDP-1 --rotate normal --scale 0.5x0.5 


para voltar a resolução ao normal 

$ xrandr --output eDP-1 --mode 1920x1080 --rotate normal

caso tenha usado scale 

$ xrandr --output eDP-1 --mode 1920x1080 --scale 1x1 --rotate normal

terça-feira, 10 de junho de 2025

Melhorar qualidade Genius Ecam 8000 no linux com Mplayer

Abaixo tem alguns "filtros" que melhoraram a qualidade da camera utilizando o mplayer 

Versão Cinema Pro:

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 512 -cache-min 1 -title 'Cinema Pro' -vf hqdn3d=8:6:10:8,eq2=1.02:1.05:0.02:0.62,unsharp=0.8:0.8:0.6:0.8:0.8:0.5

Versão Broadcast Ultra (zero delay máximo possível):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 256 -cache-min 1 -title 'Broadcast Ultra' -vf hqdn3d=6:4:8:6,eq2=1.01:1.03:0.01:0.61,unsharp=0.6:0.6:0.4:0.6:0.6:0.3

Versão Studio Master (qualidade cinematográfica máxima):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 128 -cache-min 1 -title 'Studio Master' -vf hqdn3d=10:8:12:10,eq2=1.03:1.08:0.03:0.64,unsharp=1.0:1.0:0.7:1.0:1.0:0.6

Para máxima responsividade (streaming profissional):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 64 -cache-min 1 -title 'Live Stream Pro' -vf hqdn3d=4:3:6:4,eq2=1.01:1.02:0.01:0.60


---

Versão Zero Motion Delay:

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 32 -cache-min 1 -title 'Motion Pro' -vf hqdn3d=4:2:6:2,eq2=1.03:1.08:0.03:0.64,unsharp=1.0:1.0:0.7:1.0:1.0:0.6

Versão Movimento Instantâneo (sem denoise temporal):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 32 -cache-min 1 -title 'Instant Motion' -vf eq2=1.03:1.08:0.03:0.64,unsharp=1.0:1.0:0.7:1.0:1.0:0.6


Versão Gaming/Streaming 60fps (corrigida):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=60:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 32 -cache-min 1 -title 'Gaming Stream 60fps' -vf eq2=1.03:1.08:0.03:0.64

Versão Ultra-Responsiva (máximo possível):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=48:contrast=22:saturation=35:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 32 -cache-min 1 -title 'Ultra Responsive' -vf eq2=1.03:1.08:0.03:0.64


---

Versão Professional Portrait (tons naturais e bonitos):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=50:contrast=24:saturation=32:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 128 -cache-min 1 -title 'Portrait Pro' -vf hqdn3d=12:10:15:12,eq2=1.04:1.12:0.04:0.58:1.02,unsharp=1.2:1.2:0.8:1.2:1.2:0.6,pp=ac/al


Versão Studio Beauty (realça beleza natural):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=52:contrast=20:saturation=28:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 128 -cache-min 1 -title 'Beauty Studio' -vf hqdn3d=15:12:18:15,eq2=1.06:1.08:0.06:0.55:1.01,unsharp=1.0:1.0:0.7:1.0:1.0:0.5

Versão Corporate Professional (para reuniões/streaming):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=49:contrast=26:saturation=30:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 128 -cache-min 1 -title 'Corporate Pro' -vf hqdn3d=10:8:12:10,eq2=1.02:1.10:0.02:0.60:1.00,unsharp=0.8:0.8:0.6:0.8:0.8:0.4

Versão Clean & Natural (zero ruído, cores perfeitas):

mplayer tv:// -tv driver=v4l2:width=1920:height=1080:fps=30:device=/dev/video2:brightness=51:contrast=22:saturation=33:immediatemode=1:buffersize=16 -vo xv -double -geometry 384x216 -benchmark -framedrop -hardframedrop -cache 128 -cache-min 1 -title 'Clean Natural' -vf hqdn3d=14:11:16:14,eq2=1.03:1.06:0.03:0.62,unsharp=0.9:0.9:0.6:0.9:0.9:0.5

quinta-feira, 5 de junho de 2025

Webcam no linux

1 - Instalar o v4l-utils

$ sudo apt update
$ sudo apt install v4l-utils

2 -  Instalar interface grafica do v4l-utils (qv4l2)

$ sudo apt install qv4l2

3 - listar webcams

$ v4l2-ctl --list-devices

ou

$ ls -la /dev/video*

DICAS:

Abrir interface grafica do v4l2

$ qv4l2 -d /dev/video0

Deixar frequencia da camera em 60 hz

$ v4l2-ctl -d /dev/video0 --set-ctrl=power_line_frequency=2

segunda-feira, 2 de junho de 2025

Melhorar Audio Audacity

Audacity
Versão: 3.7.31

Remover Ruído de Fundo

1.1 Selecione um trecho do áudio que contenha apenas o ruído.

1.2 após ter feito isso vá em:

Effect > Noise Removal and Repair > Noise Reduction > Get Noise Profile

1.3 Agora, selecione todo o áudio e aplique a redução de ruído:


Effect > Noise Removal and Repair > Noise Reduction > OK


2. Aplicar Filtros de Equalização

Com todo o áudio ainda todo selecionado, siga estes passos:

Bass Boost (Graves)
EQ and Filters > Filter Curve EQ > Presets and settings > Factory Presets > Bass Boost > Apply

Treble Boost (Agudos)
EQ and Filters > Filter Curve EQ > Presets and settings > Factory Presets > Treble Boost > Apply

Low Rolloff for Speech (Filtro para Voz)

EQ and Filters > Filter Curve EQ > Presets and settings > Factory Presets > Low Rolloff for
Speech
> Apply

3. Comprimir o Áudio

Com o áudio ainda selecionado:
Effect > Volume and Compression > Compressor > Apply

4.  Salvar Audio
File > Export Audio > Format: WAV (Microsoft) > Encoding: Signed 16-bit PCM > Export

Informações:
Todos os efeitos aplicados estavam com as configurações padrão (default).

 

 

sábado, 31 de maio de 2025

melhorar audio

 # Guia Profissional: Processamento de Áudio no Audacity
## Transformando SF-777 em Qualidade HyperX QuadCast

### PARTE 1: CONFIGURAÇÕES DE GRAVAÇÃO

#### Níveis de Gravação Ideais:
- **Pico máximo:** -12dB a -6dB
- **RMS médio:** -18dB a -15dB
- **Headroom:** Manter sempre 6dB de margem
- **Nunca grave no vermelho** (0dB ou acima)

#### Configurações do Audacity:
1. **Taxa de Amostragem:** 48kHz (padrão broadcast)
2. **Profundidade de Bits:** 24-bit (nunca 16-bit para gravação)
3. **Canais:** Mono (para voz)
4. **Formato de Projeto:** 32-bit float

---

### PARTE 2: CADEIA DE PROCESSAMENTO PROFISSIONAL

#### ETAPA 1: ANÁLISE INICIAL
1. Abra o áudio gravado
2. Vá em **Analisar > Plotar Espectro**
3. Identifique frequências problemáticas:
   - Ruído de fundo (geralmente 50-60Hz, 120Hz)
   - Sibilâncias excessivas (6-8kHz)
   - Mudez/abafamento (falta de 2-5kHz)

#### ETAPA 2: REMOÇÃO DE RUÍDO (PRIMEIRA PASSADA)
1. **Selecione** 3-5 segundos de silêncio no início
2. **Efeitos > Redução de Ruído**
3. Clique em **"Obter Perfil de Ruído"**
4. **Selecione todo o áudio** (Ctrl+A)
5. **Efeitos > Redução de Ruído** novamente
6. Configurações:
   - **Redução de Ruído:** 18-24dB
   - **Sensibilidade:** 6-8
   - **Suavização de Frequência:** 3-5
   - **Tempo de Ataque/Liberação:** 0.15

#### ETAPA 3: FILTRO PASSA-ALTA (CORTE DE GRAVES)
1. **Efeitos > Filtro > Passa-Alta**
2. Configurações:
   - **Frequência de Corte:** 80-100Hz
   - **Rolloff:** 24dB/oitava
   - **Tipo:** Butterworth

#### ETAPA 4: EQ CORRETIVO DETALHADO
1. **Efeitos > Equalizador > Equalizador de Filtro**
2. **Configuração Profissional:**

   **Filtro 1 (Passa-Alta):**
   - Frequência: 85Hz
   - Ganho: -∞ (corte total)
   - Q: 0.7

   **Filtro 2 (Presença Vocal):**
   - Frequência: 2.5kHz
   - Ganho: +2 a +4dB
   - Q: 1.2

   **Filtro 3 (Clareza):**
   - Frequência: 5kHz
   - Ganho: +1.5 a +3dB
   - Q: 0.8

   **Filtro 4 (De-essing Suave):**
   - Frequência: 7kHz
   - Ganho: -1 a -2dB
   - Q: 2.0

   **Filtro 5 (Brilho Controlado):**
   - Frequência: 12kHz
   - Ganho: +1dB
   - Q: 0.6

#### ETAPA 5: COMPRESSÃO PROFISSIONAL
1. **Efeitos > Compressor**
2. **Configurações Críticas:**
   - **Ratio:** 3:1 a 4:1
   - **Threshold:** -18 a -15dB
   - **Attack:** 10-15ms
   - **Release:** 100-150ms
   - **Makeup Gain:** Ajustar para compensar

#### ETAPA 6: GATE DE RUÍDO (SUPRESSOR)
1. **Efeitos > Gate de Ruído**
2. Configurações:
   - **Gate Threshold:** -35 a -30dB
   - **Gate Frequencies:** 0Hz a 22050Hz
   - **Level Reduction:** -24dB
   - **Attack/Decay:** 250ms/250ms

#### ETAPA 7: LIMITAÇÃO FINAL
1. **Efeitos > Limiter**
2. Configurações:
   - **Limit to:** -1dB
   - **Hold:** 10ms
   - **Apply Make-up Gain:** Marcado

---

### PARTE 3: PROCESSAMENTO AVANÇADO (NÍVEL PROFISSIONAL)

#### MULTIBAND COMPRESSOR (Simulação)
1. **Divida o espectro em 3 bandas:**

   **Banda Baixa (80-500Hz):**
   - Compressor: Ratio 2:1, Threshold -20dB

   **Banda Média (500Hz-3kHz):**
   - Compressor: Ratio 4:1, Threshold -15dB

   **Banda Alta (3kHz+):**
   - Compressor: Ratio 2.5:1, Threshold -12dB

#### EXCITER/ENHANCER (Manual)
1. **Duplicar trilha**
2. **Na cópia:** Filtro Passa-Alta em 3kHz
3. **Aplicar:** Saturação leve (Overdrive 10-15%)
4. **Mixar:** 10-20% com original

---

### PARTE 4: NORMALIZAÇÃO E FINALIZAÇÃO

#### NORMALIZAÇÃO PROFISSIONAL
1. **Selecionar todo áudio**
2. **Efeitos > Normalizar**
3. Configurações:
   - **Normalizar para:** -14 LUFS (YouTube/Streaming)
   - **Remover offset DC:** Marcado
   - **Normalizar canais independentemente:** Desmarcado

#### VERIFICAÇÃO FINAL
1. **Analisar > Contraste:** Verificar se passa nos padrões
2. **Analisar > Plotar Espectro:** Confirmar EQ aplicado
3. **Teste A/B:** Compare com áudio original

---

### PARTE 5: CONFIGURAÇÕES ESPECÍFICAS PARA DIFERENTES USOS

#### PARA YOUTUBE:
- **Target LUFS:** -14 a -16 LUFS
- **Peak máximo:** -1dB
- **Formato exportação:** MP3 320kbps ou WAV 48kHz/24bit

#### PARA STREAMING (OBS):
- **Aplicar processamento em tempo real**
- **Usar filtros do OBS:** Noise Gate, Compressor, EQ
- **Configuração OBS recomendada:**
  - Noise Gate: Threshold -35dB
  - Compressor: Ratio 3:1, Threshold -18dB

#### PARA PODCAST:
- **Target LUFS:** -16 a -19 LUFS
- **Maior compressão:** Ratio 5:1
- **EQ mais agressivo** na presença vocal

---

### PARTE 6: MACROS E AUTOMATIZAÇÃO

#### Criar Macro no Audacity:
1. **Ferramentas > Macros**
2. **Novo macro:** "ProcessamentoVoz"
3. **Adicionar comandos** na ordem exata acima
4. **Salvar e usar** em todos os áudios

#### Ordem dos Comandos na Macro:
```
1. Redução de Ruído (perfil salvo)
2. Filtro Passa-Alta 85Hz
3. Equalizador (preset salvo)
4. Compressor (configurações salvas)
5. Gate de Ruído
6. Limiter
7. Normalizar -14 LUFS
```

---

### RESULTADO ESPERADO:
Com esse processamento profissional, o SF-777 deve entregar qualidade sonora comparable ao HyperX QuadCast, com:
- **Redução de 90% do ruído de fundo**
- **Clareza vocal profissional**
- **Dinâmica controlada**
- **Presença e inteligibilidade superiores**

### TEMPO DE PROCESSAMENTO:
- **Processamento manual:** 15-20 minutos
- **Com macro:** 3-5 minutos
- **Resultado:** Qualidade broadcast profissional

sexta-feira, 30 de maio de 2025

mplayer webcam e ffmpeg

$ mplayer tv:// -tv driver=v4l2:width=1280:height=720:fps=30:device=/dev/video0   -geometry 1024:562   -zoom -x 384 -y 237   -title "Webcam"

melhores tamanhos para janela em resolução 1280x720

| Largura | Altura | % da largura da tela     |
+---------+--------+--------------------------+
|   160   |   99   |         12.5%         |
|   192   |  119   |         15%           |
|   224   |  138   |         17.5%        |
|   256   |  158   |         20%           |
|   288   |  178   |         22.5%        |
|   320   |  198   |         25%           |
|   352   |  217   |         27.5%        |
|   384   |  237   |         30%           |
+---------+--------+--------------------------+

Gravar tela com gicrofone

$ ffmpeg -f x11grab -video_size 1280x720 -framerate 30 -i :0.0 -f pulse -i default -c:v libx264 -preset medium -crf 16 -pix_fmt yuv420p -g 60 -bf 3 -c:a aac -b:a 192k -ar 48000 -movflags +faststart output_youtube.mp4

dica:

Aconselhavel usar o simplescreenrecorder ou OBS

domingo, 18 de maio de 2025

DOSBox no Linux

Algumas dicas do DOSBox no Linux Mint

1 -  quando você instalar um programa no DOSBox e montou o caminho em por exemplo em
mount c /home/USER/DOSBox/Diretorio
sempre monte o diretorio exatamente da mesma forma!

2 - o arquivo de configuração do DOSBox para montar automatico etc... dosbox-x-.conf ou dosbox-x-DATA-DA-INSTALAÇÃO.conf

3 - F12+F = FullScreen

4 - Ctrl+ F6 = Cola um texto que etá na memoria

 

quarta-feira, 14 de maio de 2025

bash autocompletar ignorar case sensitive

Temporariamente (só para a sessão atual):

$ bind "set completion-ignore-case on"

Permanentemente (para todas as sessões):
 

$ set completion-ignore-case on

Melhor visualizador de fontes para linux

fontebase

https://fontba.se

após baixar apenas dé a permissão para executar o AppImage

$ chmod +x nomedoprograma.AppImage

terça-feira, 13 de maio de 2025

Converter txt de MS-DOS para Linux

Instale o dos2unix
$ sudo apt-get install dos2unix

Corrigir quebra de linha
$ dos2unix arquivo.txt

Converter charset de CP850 para UTF-8
$ iconv -f CP850 -t UTF-8 arquivo.txt -o arquivo_corrigido.txt

converter arquivos de texto do WordStar para formato moderno (WordStar 5.0 e WordStar 7.1)

$ cat arquivo.txt | iconv -f CP850 -t UTF-8//TRANSLIT | sed 's/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]//g' > convertido.txt

$ iconv -f CP850 -t UTF-8 original_file.txt -o converted_file.txt

ou

iconv -f CP850 -t UTF-8//TRANSLIT "arquivo.txt" | tr -d '\000-\010\013\014\016-\037\177' > "convertido.txt"

Converte apenas o strings (Modo bruto - extrai sequências contínuas de caracteres ASCII imprimíveis)

$ strings arquivo.ws > limpo.txt

Sobre o MS-DOS:

CP437 (MS-DOS americano)
CP850 (MS-DOS internacional)
WINDOWS-1252 (Windows)
UTF-8 (Linux moderno)

OBS: caso queira obter mais informações sobre a codificação do arquivo utilize os comandos file e uchardet

obter informações sobre a janela no i3wm

para ter informações sobre uma janela de um programa no i3wm utilize o comando

$ xprop

você sabe pode saber as dimensões da janela com o comando

$ xwininfo

quinta-feira, 17 de abril de 2025

Desenhar online / Desenhar no navegador

https://magma.com/

https://www.pixilart.com/

https://kleki.com/

https://sumopaint.com/

https://www.photopea.com/

---


https://flockmod.com

https://skribbl.io/

quinta-feira, 10 de abril de 2025

ftp - terminal linux

MICRO MANUAL - FTP VIA TERMINAL LINUX
----------------------------------------------------
1. Conectar ao servidor FTP:
    $ ftp ftp.seudominio.com

2. Login:
    - Digite seu nome de usuário
    - Digite sua senha

3. Comandos básicos dentro da sessão 'ftp>':
----------------------------------------------------
    pwd        --> mostra o diretório atual no servidor
    ls         --> lista os arquivos do servidor
    cd <dir>   --> entra em um diretório do servidor
    cd ..      --> volta um diretório no servidor
    lcd        --> mostra o diretório local (do seu computador)
    lcd <dir>  --> muda o diretório local
    put <arq>  --> envia 1 arquivo para o servidor
    mput *     --> envia vários arquivos (confirmação p/ cada)
    bye        --> encerra a conexão
    quit       --> encerra a conexão

4. Dica:
----------------------------------------------------
Evite colocar senhas em scripts. Para automações,
use o comando 'ftp -n' com arquivo de comandos ou .netrc.

----------------------------------------------------
EXEMPLO DE SESSÃO FTP REAL:
----------------------------------------------------

Name: seu_usuario
Password: ********

ftp> pwd
257 "/public_html"

ftp> ls
index.html
img/
downloads/

ftp> cd downloads
250 Directory successfully changed.

ftp> lcd ~/Documentos
Local directory now /home/seunome/Documentos

ftp> put meuarquivo.pdf
200 PORT command successful
150 Opening BINARY mode data connection
226 Transfer complete

ftp> bye
221 Goodbye.

gravar som interno do pc no linux

Instale as dependencias
sudo apt install ffmpeg pavucontrol

1 - Liste as entradas disponíveis no PulseAudio:
$ pactl list short sources

2 - Encontre a entrada que tem a palavra monitor
56    alsa_output.pci-0000_00_1f.3.analog-stereo.monitor    PipeWire    s32le 2ch 48000Hz    SUSPENDED
57    alsa_input.pci-0000_00_1f.3.analog-stereo    PipeWire    s32le 2ch 48000Hz    SUSPENDED

Comando para gravar o som interno do computador

$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -acodec libmp3lame -ab 320k -ar 48000 -ac 2 internal_audio.mp3

Gravação em WAV
 
qualidade media:

$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -acodec pcm_s16le -ar 48000 -ac 2 internal_audio.wav

qualidade alta:

$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -acodec pcm_s32le -ar 96000 -ac 2 internal_audio.wav


Script:

#!/bin/bash

# ---------------------------------------------------------
# Internal Audio Recorder - High Quality PulseAudio Capture
# ---------------------------------------------------------
# This script records the internal system audio (everything
# played by the computer) using ffmpeg with PulseAudio.
# It does NOT record microphone input.
#
# Author: Linux Assistant
# Compatibility: Linux with PulseAudio or PipeWire (via pulse)
# ---------------------------------------------------------

set -euo pipefail
IFS=$'\n\t'

# --- Trap CTRL+C to exit gracefully ---
trap 'echo; echo "Recording interrupted by user."; exit 0' SIGINT

# --- Dependency check ---
check_dependency() {
    if ! command -v "$1" >/dev/null 2>&1; then
        echo "Error: Required command '$1' is not installed." >&2
        exit 1
    fi
}

for dep in ffmpeg pavucontrol pactl; do
    check_dependency "$dep"
done

# --- Detect PulseAudio monitor source (captures what the system plays) ---
monitor_source=$(pactl list short sources | awk '$2 ~ /\.monitor$/ {print $2; exit}')
if [[ -z "$monitor_source" ]]; then
    echo "Error: No PulseAudio monitor source found. Is PulseAudio or PipeWire running?" >&2
    exit 1
fi

echo "✔ Using internal audio monitor source: $monitor_source"

# --- Output format selection ---
echo
echo "Select output format:"
select format in "MP3 (compressed)" "WAV (lossless)"; do
    case "$REPLY" in
        1)
            extension="mp3"
            codec="libmp3lame"
            options=(-ab 320k -ar 48000 -ac 2)
            break
            ;;
        2)
            extension="wav"
            codec="pcm_s16le"
            options=(-ar 48000 -ac 2)
            break
            ;;
        *)
            echo "Invalid selection. Please enter 1 or 2."
            ;;
    esac
done

# --- Generate unique, timestamped filename ---
timestamp=$(date +"%Y-%m-%dT%H-%M-%S")
random_suffix=$(printf "%04d" $((RANDOM % 10000)))
filename="internal_audio-${timestamp}-${random_suffix}.${extension}"

# --- Validate write permissions ---
if [[ ! -w "." ]]; then
    echo "Error: Current directory is not writable." >&2
    exit 1
fi

echo
echo "🔴 Starting high-quality internal audio recording..."
echo "   Output file: $filename"
echo "   Press Ctrl+C to stop recording."

# --- Launch ffmpeg to record only internal system audio ---
exec ffmpeg \
    -f pulse \
    -i "$monitor_source" \
    -acodec "$codec" \
    "${options[@]}" \
    "$filename"

quarta-feira, 2 de abril de 2025

Como usar unicode

1. Pressione e segure: CTRL + SHIFT + u
2. Aparecerá uma letra 'u' sublinhada ou pequena.
3. Digite o código hexadecimal do caractere. Exemplo:
       2009
4. Pressione ENTER ou BARRA DE ESPAÇO.
5. Pronto! O caractere será inserido (mesmo que invisível).


Sites com unicode:
https://home.unicode.org/
https://www.compart.com/en/unicode
https://symbl.cc/pt/unicode-table/

quinta-feira, 27 de março de 2025

txt texto compativel com Windows e Mac

O padrão atual é LF (\n)

instale o dos2unix

$ sudo apt-get install dos2unix

converta o texto
$ unix2dos arquivotexto.txt

informação:
dos2unix arquivo.txt  # converte CRLF para LF
unix2dos arquivo.txt  # converte LF para CRLF

IMPORTANTE: Adote sempre o formato UTF-8

garantir UTF-8

$ iconv -f UTF-8 -t UTF-8 meu_arquivo.txt -o arquivo_final.txt

utilize o comando file -bi para saber se esta tudo em ordem

$ file -bi arquivo_final.txt

Visualizar formatação de texto e caracteres especiais:
$ cat -vET input.txt

Analisar bytes exatos (se necessário):
$ xxd input.txt

sexta-feira, 31 de janeiro de 2025