Instalando Pipeware (Áudio)
sudo xbps-remove pulseaudio
sudo xbps-install -S libspa-bluetooth
sudo xbps-install -S pipewire wireplumber alsa-pipewire libjack-pipewire libspa-bluetooth pavucontrol
sudo mkdir -p /etc/pipewire/pipewire.conf.d
sudo ln -s /usr/share/examples/wireplumber/10-wireplumber.conf /etc/pipewire/pipewire.conf.d/
Configurando Pipeware
mkdir -p ~/.config/autostart
ln -s /usr/share/applications/pipewire.desktop ~/.config/autostart/
ln -s /usr/share/applications/pipewire-pulse.desktop ~/.config/autostart/
ln -s /usr/share/applications/wireplumber.desktop ~/.config/autostart/
sudo mkdir -p /etc/alsa/conf.d
sudo ln -s /usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/
sudo ln -s /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
Reinicie ou encerre a sessão e logue novamente que o ícone do áudio aparecerá no canto direito da barra de tarefas.
INSTALANDO NAVEGADORES
Firefox
sudo xbps-install -y firefox firefox-i18n-pt-BR
Caso quiser com mais linguagens:
sudo xbps-install firefox-esr firefox-esr-i18n
Google-Chrome
sudo xbps-install -Syu
sudo xbps-install -S base-devel git xtools
git clone https://github.com/void-linux/void-packages
cd void-packages
./xbps-src binary-bootstrap
echo XBPS_ALLOW_RESTRICTED=yes >> ~/void-packages/etc/conf
./xbps-src pkg google-chrome
sudo xbps-install --repository=/home/$USER/void-packages/hostdir/binpkgs/nonfree google-chrome
sudo xbps-install -Syu
https://medium.com/@leandroembu/usando-o-xbps-src-no-void-linux-29550897f66
xcheckrestart
CONFIGURANDO VÍDEO
Identifique sua placa (se não souber):
lspci | grep -i VGA
Instale o driver correto de acordo com a placa de vídeo (instale somente um: ou AMD ou Nvidia ou Intel).
AMD:
sudo xbps-install -S xf86-video-amdgpu linux-firmware-amd mesa-ati-dri mesa-dri mesa-vulkan-radeon mesa-vaapi mesa-vdpau linux-firmware-amd
Nvidia:
sudo xbps-install nvidia mesa-dri mesa-vdpau mesa-vaapi
Intel:
sudo xbps-install -S xf86-video-intel mesa-intel-dri
Reinicie:
sudo reboot
Instalando codecs de áudio e vídeo (vídeos em geral e Youtube):
sudo xbps-install -S gst-plugins-base1 gst-plugins-good1 gst-plugins-bad1 gst-plugins-ugly1 gst-libav ffmpegthumbnailer
Instalando Chrony (NTP)
sudo xbps-install chrony
ln -s /etc/sv/chronyd /var/service/
sudo sv enable chronyd
sudo sv start chronyd
E ele já deverá sincronizar o relógio do sistema.
Para configurar altere o arquivo:
sudo /etc/chrony.conf
Instalando Cronie (Cron)
sudo xbps-install -y cronie cronutils
sudo ln -s /etc/sv/cronie /var/service/
Defina o editor de texto padrão, senão o comando "crontab -e" abrirá o vi e você nunca mais conseguirá fechá-lo.
sudo vim ~/.bashrc
Coloque no final:
export EDITOR='vim' # caso preferir coloque o nano ou outro.
export VISUAL='${EDITOR}'
Salve e saia.
Recarregando:
source ~/.bashrc
Agora, ao executar "crontab -e" abrirá o editor definido no arquivo, no caso, o vim.
Para abrir momentaneamente com outro editor execute:
EDITOR=nano crontab -e
Se tu colocou vim no arquivo, o cronie abrirá com o nano somente dessa vez.
O cronie do Void também suporta a execução de scripts em intervalos regulares colocando-os nas seguintes pastas que são instaladas automaticamente ao instalar o cronie:
/etc/cron.hourly/
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/
Certifique-se de que os scripts nessas pastas tenham permissão de execução (chmod +x arquivo).
Exemplo:
sudo vim /etc/cron.weekly/script.sh
sudo chmod +x /etc/cron.weekly/script.sh
Os comandos dentro do script.sh serão executados uma vez por mês.
Editar tarefas do usuário atual:
crontab -e
Listar tarefas:
crontab -l
A sintaxe é a mesma do Cron:
# m h dom mon dow comando
* * * * * /path/to/script.sh
Abra o arquivo:
crontab -e
Coloque dentro como cabeçalho permanente:
# Crontab
#
# Sintaxe:
# m h dom mon dow comando
# * * * * * /path/to/script.sh
# m = minutos
# h = horas
# dom = dia do mes (1-31)
# mon = Mes (1-12)
# dow = dia da semana (0-6, domingo=0)
#
# Formato 24 horas: meia noite=00, 11 da noite=23, 3 da tarde=15
# Exemplo para executar script todo dia as 03:30 AM:
# 30 03 * * * /home/usuario/scripts/backup.sh
#
Salve e saia.
source ~/.bashrc
NFTABLES
Instalando e configurando um firewall básico.
sudo xbps-install -Su
sudo xbps-install nftables runit-nftables
Criando o arquivo de configuração com regras básicas:
sudo vim /etc/nftables.conf
Coloque dentro:
#!/usr/sbin/nft -f
flush ruleset
############################
# FILTER
############################
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
# Loopback
iif lo accept
# Conexoes ja estabelecidas
ct state invalid drop
ct state established,related accept
tcp dport { 22, 80, 443 } ct state new accept
# DHCP
udp dport {67,68} accept
ip protocol icmp accept
}
chain forward {
type filter hook forward priority 0; policy drop;
# Conexoes ja estabelecidas
ct state invalid drop
ct state established,related accept
# LAN -> Internet
iifname "eno2" oifname "enp3s0" accept
# (Opcional) LAN -> LAN roteado
iifname "eno2" oifname "eno2" accept
# DHCP
udp dport {67,68} accept
# Ajuste de MSS (evita problemas de carregamento de páginas)
tcp flags syn tcp option maxseg size set rt mtu
ip protocol icmp accept
}
chain output {
type filter hook output priority 0; policy drop;
# Conexoes ja estabelecidas
ct state invalid drop
ct state established,related accept
tcp dport { 22, 80, 443 } ct state new accept
# DNS
udp dport 53 accept
tcp dport 53 accept
# NTP/NTS
udp dport 123 accept
tcp dport 4460 accept
# DHCP (cliente, se aplicavel)
udp dport 67 accept
udp sport 68 accept
ip protocol icmp accept
}
}
############################
# NAT
############################
table ip nat {
chain prerouting {
type nat hook prerouting priority 0;
}
chain postrouting {
type nat hook postrouting priority 100;
# Masquerade para a internet
# oifname "enp3s0" masquerade
}
}
Salve e saia.
Ativando o serviço:
sudo ln -s /etc/sv/nftables /var/service/
Verificando erros no arquivo /etc/nftables.conf, caso retornar sem erros, está tudo certo:
sudo nft -f /etc/nftables.conf
Listando as regras, aparecendo as regras, o nftables está funcionando:
sudo nft list ruleset
Habilitando e iniciando:
sudo sv enable nftables
sudo sv start nftables
ok: run: nftables: (pid 18550) 0s
Daí você pode:
sudo sv start nftables
sudo sv stop nftables
sudo sv restart nftables
sudo sv status nftables
Se você configurar as regras via linha de comando (comando nft) e quiser torná-las permanentes no arquivo, use:
sudo nft list ruleset | sudo tee /etc/nftables.conf
Habilitando o roteamento, caso quiser:
sudo mkdir -p /etc/sysctl.d
sudo vim /etc/sysctl.d/10-custom.conf (O número antes do arquivo você escolhe, mas significa a ordem de leitura, quanto menor mais cedo será lido em relação aos outros arquivos ali presentes.
Coloque dentro:
net.ipv4.ip_forward = 1
Salve e saia.
Aplique todas as configurações:
sudo sysctl --system
ou
Aplique somente o arquivo:
sudo sysctl -p /etc/sysctl.d/10-custom.conf