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!