This is an old revision of the document!
Configuração inicial do Fedora Linux
Após a instalação do Fedora, é saudável configurá-lo para deixar o ambiente minimamente agradável. Uma das coisa que gosto é de pouca sujeira na tela (ao menos no modo texto). Existem várias coisas a serem melhoradas nesse sentido no Fedora.
A primeira coisa é desativar o serviço de auditoria. Em tese, seria suficiente adicionar a opção audit=0
no atributo GRUB_CMDLINE_LINUX
do arquivo /etc/default/grub
, mas isso não funcionou para mim. Desta forma, recorri a desabilitar o serviço na inicialização, pelo arquivo /etc/rc.d/rc.local
.
O /etc/rc.d/rc.local
é um belo artifício (gambiarra) de sistemas Unix (e Linux) para executar algo após a inicialização dos serviços do sistema. Caso ele não exista, proceda da seguinte forma para criá-lo:
vim /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local restorecon -v /etc/rc.d/rc.local systemctl enable rc-local.service systemctl start rc-local.service systemctl status rc-local.service
Feito isso, acrescente o seguinte conteúdo no arquivo para desativar o serviço auditd
:
auditctl -e 0 auditctl -D
Na contramão de remover mensagens desnecessários, é útil mostrar as mensagens do kernel durante a inicialização. Para isso, é necessário desativar o Plymouth. Acrescente os comando rd.plymouth=0 plymouth.enable=0
no atributo GRUB_CMDLINE_LINUX
do arquivo /etc/default/grub
. Não se esqueça de atualizar o grub.cfg depois disso!
Desativar o SELinux não é exatamente uma boa ideia no quesito segurança, mas é uma opção para melhorar um pouco o desempenho e ter menos dor de cabeça ao configurar programas para desenvolvimento. Para isso, edite o arquivo /etc/sysconfig/selinux
e altere o parâmetro SELINUX
para disabled
. Para retirar os rótulos dos arquivos, execute o comando find / -exec setfattr -x security.selinux {} \;
.
Pacotes a serem instalados:
dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
dnf groupupdate core
dnf groupdate multimedia
dnf install gstreamer1-libav gstreamer-plugins-good gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer-plugins-bad-nonfree gstreamer1-plugins-ugly-free
Por algum motivo, o backlight não pode ser configurado no X no caso de computadores com placas de vídeo Intel (da própria CPU). Para habilitar, altere ou crie o arquivo /etc/X11/xorg.conf.d/20-intel.conf
e acrescente o seguinte conteúdo:
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "Backlight" "intel_backlight" EndSection
Caso opte por usar o KDE, não se esqueça de instalar o pacote kscreen
para configurar a várias telas conectadas ao computador.
Caso ache que a fonte no Firefox está muito pequena, ajuste o parâmetro layout.css.devPixelsPerPx
(via about:config
) para um valor maior que 1
(por exemplo, 1.2
). Além dessa configuração, provavelmente precisarás fazer outros ajustes e instalação de extensões
- Habilite o [https://support.mozilla.org/en-US/kb/firefox-dns-over-https DoH (DNS over HTTPS)].
No Brasil, diversas entidades governamentais utilizam os certificados emitidos pelo ICP Brasil. Infelizmente, alguns navegadores (por exemplo, o Fedora) ainda não incorporaram os certificados raiz do ICP Brasil. Para incluí-los manualmente, siga as instruções em [https://www.iti.gov.br/navegadores].
Em Engenharia de Software, diversos programas utilizados são desenvolvidos em Java ou requerem uma máquina virtual Java para execução. Em monitores de alta resolução (vulgos monitores 4k), pode ser um desafio configurar a tela para proporções adequadas de figuras e letras. A documentação do ArchLinux é, provavelmente, a melhor referência para isso: https://wiki.archlinux.org/index.php/HiDPI#Java_applications. Seguem as principais instruções:
# Configure a variável de ambiente GDK_SCALE
apropriadamente. Infelizmente, ela permite apenas valores inteiros (para um monitor de alta resolução, o valor ideal seria 1.4 à 1.7). Como 1 é muito pouco, é preferível configurá-la com o valor 2 e reduzir o tamanho das letras.
# Para aplicações que usam o AWT e Swing, uma opção à variável de ambiente GDK_SCALE
é definir o valor de sun.java2d.uiscale
. Até a versão mais recente do OpenJDK, ele aceita apenas valores inteiros. Em tese, poderia aceitar valores fracionários, indicados na forma de porcentagem (por exemplo, java -Dsun.java2d.uiScale=140% -jar some_swing_application.jar
). No entanto, o OpenJDK truncará o número para um valor inteiro.
# Para aplicações que usam JavaFX, é possível definir glass.gtk.uiScale
com um valor fracionário, porcentagem ou resolução (densidade de pixels por polegada) da tela. Por exemplo: java -Dglass.gtk.uiScale=148dpi -jar some_jfx_application.jar
.
Unidades de armazenamento podem relatar erros porventura detectados pelos seus sistemas de monitoramente (TLER/CCTL do SMART). Infelizmente, por padrão, tais erros não são relatados. Felizmente, é possível configurar para relatar erros deste tipo periodicamente: smartctl -l scterc,10,10 /dev/sdX
(no caso, a cada 10 segundos). Esse comando pode ser configurado em /etc/local.d/disks.start
ou no script no udev
.
## SCSI version # Set timeout to 7 seconds (default is 30) ACTION=="add", BUS=="scsi", RUN+="/bin/sh -c 'echo 7 >/sys$DEVPATH/device/timeout'" # Set TLER to 7 secondsACTION=="add", BUS=="scsi", RUN+="/bin/sh -c 'smartctl -l scterc,70,70 $DEVNAME'" ## Block device version # Set timeout to 7 seconds (default is 30) ACTION=="add", BUS=="ata", TYPE=="disk" RUN+="/bin/sh -c 'echo 7 >/sys$DEVPATH/device/timeout'" # Set TLER to 7 secondsACTION=="add", BUS=="ata", TYPÈ=="disk" RUN+="/bin/sh -c 'smartctl -l scterc,70,70 $DEVNAME'" # Disable power management for Western Digital Green drivesACTION=="add", BUS=="ata", TYPÈ=="disk" MODEL=="WDC_WD*" RUN+="/bin/sh -c 'idle3ctl -d $DEVNAME'" # Disable SPIN down for hard disk ACTION=="add", BUS=="ata", TYPÈ=="disk" RUN+="/bin/sh -c 'hdparm -S 0 -B 255 $DEVNAME'"
Os erros relatados são: erros de leitura (Pending Sectors
); blocos com defeito, mas que puderam ser substituídos automaticamente pelo hardware (Reallocated Sectors
e Pending Sectors
).
Caso a primeira sincronização do Dropbox eseja demorando muito, execute o comando ls -thal /proc/`pgrep dropbox`/fd | egrep -v 'socket:|pipe:|anon_inode|/dev/'
para identificar o motiva demora.
Caso tenha um SSD, habilite o fstrim
:
sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer
Caso tenha um SSD, altere o agendador de acessos a dispositivos para bloco, criando o arquivo /etc/udev/rules.d/60-ioschedulers.rules
com o seguinte conteúdo:
# set scheduler for NVMe ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none" # set scheduler for SSD and eMMC ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" # set scheduler for rotating disks ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"