daltux

GNU

🇬🇧 English version

Discordo fortemente quando alguém afirma equivocadamente que “Linux” (querendo frequentemente dizer GNU e outros sistemas tipo Unix) seria projetado para ser usado somente pela linha de comando e, assim, usuários finais seriam melhor servidos por um ou dois sistemas operacionais não livres para computadores pessoais, especialmente aquele que atualmente domina o mercado.

Há de fato um enorme esforço de “Linux”/etc. no lado do servidor (back-end), isso felizmente, já que é o sistema operacional que tem sustentado atualmente a sociedade da informação global, executando a maioria dos servidores da Web, a infraestrutura de telecomunicações em geral, os maiores supercomputadores, projetos científicos de variadas áreas, dispositivos móveis e embarcados, incluindo veículos automotores. Os ditos interpretadores de comandos na realidade tornam a vida de quem aprende a usá-los mais fácil e rápida. Isso não é uma fraqueza, e sim uma vantagem muito poderosa.

Dito isso, também tem havido grande desenvolvimento, por décadas, do que chamamos de ambientes de área de trabalho livres (Free Desktop), com diversas implementações, algumas menos e outras mais orientadas ao usuário final.

Captura de tela do Pantheon desktop, do Elementary OS. Apresenta fundo com uma foto de paisagem, barra superior transparente com letras e ícones brancos, destacando-se a ativação de um item responsável pela abertura de uma janela de escolha com vários ícones para lançar aplicativos e uma barra de texto por onde pode ser pesquisado algum aplicativo. Na parte inferior, há uma barra tipo dock com ícones pelos quais aparentemente também podem ser iniciados programas ou abertos aqueles que estejam em execução.

Usuários comuns de navegadores Web e aplicativos em geral não têm necessidade de saber muito sobre o que o computador faz por trás da interface gráfica humano-máquina. Eles contam com outras pessoas para suporte técnico, e os ambientes desktop livres não mudam esse fato. A maior diferença é que oferecem mais opções e liberdades, dando a impressão de uma escolha mais difícil. Contudo, independentemente do tipo de software envolvido, quando solicitados a instalar ou dar manutenção em uma máquina dessas, faz parte do trabalho de profissionais de TI levantar o que seus clientes precisam no computador, conhecer as opções disponíveis ou pesquisá-las, para satisfazer essas necessidades. Não precisa ser como uma religião com uma única verdade inquestionável para todas as situações, como infelizmente parece ser o caso com frequência. Ao contrário, a idéia aqui é empoderar os usuários para que consigam exercer sua liberdade e mantê-la sustentável.

Meu pai (com mais de 70 anos), que felizmente é saudável, mas nunca tinha usado um computador antes, acabou se tornando um usuário final de Xfce e Firefox praticamente sem treinamento. Ele sabe como ligar, colocar sua senha, iniciar o navegador por um ícone na tela, abrir alguns sites que deixei marcados na Barra de Favoritos, como de instituições financeiras, correio eletrônico, notícias etc. Eventualmente, aprendeu como digitar outros endereços simples, fazer buscas, e até a me chamar para uma sessão de assistência remota quando precisa. Isso teve início antes de ter começado a usar celulares inteligentes. É como o usuário idoso médio de outros sistemas, ou melhor. Há alguns docentes pós-doutores na universidade que, mesmo com o sistema operacional dominante, chegam a ter dificuldade para fazer isso tudo, talvez por falta da vontade necessária. Ele na realidade até chegou a experimentar, sem minha interferência, o sistema proprietário que veio instalado em um então novo notebook, já há vários anos. Não demorou até me pedir para “consertá-lo”, deixando como está acostumado. De vez em quando, atualizo para ele o Xubuntu, que então permanece estável, eficiente em uso de recursos, seguro, possuindo o que ele precisa, sendo que com outro sistema provavelmente a máquina já estaria obsoleta. Então, como poderia não estar feliz com isso? Ele reclama quando um site não faz o que ele quer, o provedor de Internet cai ou a impressora trava, como qualquer outro usuário. Por tudo que é tão elogiado naquele típico sistema operacional proprietário, dito intuitivo, era para ser bem fácil para todas as pessoas se acostumarem a ele, certo?

A lição é que qualquer mudança de hábito é muito difícil para a maioria das pessoas, que costumam ser teimosas. Se tivessem sido ensinadas desde o princípio a usar algum ambiente desktop, ferramentas e aplicativos livres, mesmo que diferentes de seus equivalentes privativos com funcionalidades semelhantes, elas estariam acostumadas e provavelmente evitariam a situação oposta. Assim como as massas têm sofrido lavagem cerebral para acreditarem que existe apenas uma maneira de usar o computador. É por isso que elas mantêm tudo na mesma, ainda que estejam sujeitas a obsolescência programada, aprisionamento tecnológico, práticas monopolistas, comprometimento de privacidade e segurança, ou algum outro tipo de dependência pesada das maiores corporações de tecnologia, preferindo isso a aprender qualquer coisa que pudesse torná-las capazes de mais liberdade.

#SoftwareLivre #Liberdade #GNU #Linux #GNULinux #CódigoAberto #GNOME #KDE #Xfce #LXDE #Pantheon #Budgie #Firefox #desktop #POSIX

  🇧🇷 🇵🇹  Este blog © 2023 por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023 by Daltux is licensed under CC BY-SA 4.0

🇵🇹🇧🇷 Versão em português

I strongly disagree when people mistakenly claim that “Linux” (meaning GNU and other Unix-like) is designed to be used only on the command line interface, and therefore end users would be better served by one or two more common desktop operating systems, especially the currently dominant one.

There is indeed a strong “Linux”/etc focus on the backend/server-side, thankfully, as they drive the information society world today, running most web and database servers and other infrastructure, supercomputers, important scientific projects, artificial intelligence development, mobile and embedded devices, like probably even your automobile. The said command line interpreters actually make life easier and faster for those who learn how to use them. This is not a weakness, but a very powerful feature.

Having said that, there has also been great development for decades on what we call Free Desktop environments, with many different implementations, some more end-user oriented than others.

Screenshot of Pantheon desktop, from Elementary OS, having a landscape wallpaper image, a transparent top bar with white characters and icons, highlighting the activation of an item responsable for opening an application selection menu with several icons to launch them and a text field for app searching. At the bottom, there is a dock with icons, probably for opening applications already running.

Regular web browser and most application users have no need to know much about what the computer is doing behind the graphical human-machine interface. They rely on other people for technical support, and Free Desktop environments do not change this fact. The main difference is that there are more options and freedoms, giving the impression of a harder choice. However, when asked to install software and maintain such a machine, it is the job of good computer technicians to learn the needs of their clients, know or find the options, and meet those needs. It does not have to be like a religion with a single, unquestionable, true solution for all situations, as is unfortunately often the case. On the contrary, the idea here is to empower users to fulfill their freedom and keep it sustainable.

My old man (over 70 years old), who is fortunately healthy but had never used a computer before, became a Xfce/Firefox “light” end user without proper training. He knows how to turn it on, enter his password, start the browser that has an icon, load some sites I left on the Bookmarks Toolbar, e.g. his banks, stock market, email provider, favorite news. Eventually, he learned how to type in other simple addresses, search, and even call me for remote assistance if needed. All this before he started using smartphones. Just like or better than the average older user of other systems. There are some PhD professors at the university who, even on the dominant OS, have a hard time doing all this, perhaps lacking the necessary will. He actually tried the built-in proprietary system without my interference after buying a new laptop (already years ago), but soon asked me to “fix” it. From time to time I upgrade Xubuntu for him, then it remains stable, resource efficient, secure, has what he needs, so how could he not be happy with it? He complains when a website doesn't do what he wants it to, the internet provider goes down, or the printer hangs, like everyone else. Based on what is so praised about the typical proprietary operating system, it should be very easy for all people to get used to it, right?

The lesson is that any habit change is very difficult for most people, and they are usually stubborn. If they had been taught from the beginning how to use some Free Software desktop environment, tools, and applications, even if they were different from most common proprietary counterparts with similar functionality, they would get used to them and probably avoid the opposite situation. Just as the masses have been brainwashed into believing that there is only one way to use a computer. That is why they prefer to keep it the same, even if it is subject to premature obsolescence, vendor lock-in, privacy and security compromise or any other kind of heavy dependence on Big Tech, rather than learn anything at all that would make them capable of broad freedom.

#FreeSoftware #FreeAsInFreedom #GNU #Linux #GNULinux #FOSS #GNOME #KDE #Xfce #LXDE #Pantheon #Budgie #Firefox #FreeDesktop #desktop #POSIX #PC

  🇧🇷 🇵🇹  Este blog © 2023 por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023 by Daltux is licensed under CC BY-SA 4.0

Última revisão: 13/11/2023

Ubuntu, recentemente (22.04[1] em diante), na sua variação para desktop, inclui um serviço “systemd-oomd” que mata processos que estejam consumindo muita memória, preventivamente, bem antes que ela se esgote e haja potencial travamento. A ideia parece boa, porém, como está implementada, acaba sendo exagerada.

Não adianta disponibilizar mais swap[2], pois o novo mecanismo entra em ação quando qualquer processo (leia-se provavelmente o navegador) tem a tendência de ocupar mais do que 50% da RAM por mais de 20s, por padrão. Pode conferir suas definições executando oomctl. Mesmo alterar as configurações (em /etc/systemd/oomd.conf) parece não solucionar, pois, no fim, impede que o usuário ocupe toda a memória.

Na prática comum, se a máquina não tiver muita RAM sobrando, o navegador, ao ser utilizado mais intensamente, acaba sendo fechado bruscamente, enquanto ainda praticamente nem foi usada swap. Pior que, se não olhar o syslog[3] (ou journalctl[4]), o usuário nem fica sabendo por quê[5]. Talvez culpe a aplicação. Havendo escassez de RAM, isso pode acontecer com qualquer programa razoavelmente espaçoso como, por exemplo, enquanto edita uma planilha ou outro arquivo, ou desenvolve um sistema. Há relatos[6] de que, dependendo da situação, até aquele que chamou os processos pode vir a ser encerrado, como seu terminal ou a área de trabalho completa. Portanto, há risco de perder dados não salvos.

Independentemente do que tentam sistemas operacionais, utilitários ou aplicativos para mitigar a questão, é claro que utilizar uma máquina com memória insuficiente terá efeitos indesejados ou será até inviável. Swap felizmente permite que mais memória esteja disponível para processos em execução, tendo o efeito adverso de lentidão ao transferir páginas de memória para/do armazenamento, sobretudo se este for mecânico[7]. O “systemd-oomd”, por matar processos antes que ocupem toda a memória, dá uma falsa sensação de menos travamento. Entretanto, o preço a pagar por essa comodidade é alto.

O que se pode fazer, por enquanto, data venia, é contrariar a Canonical (empresa que mantém o Ubuntu) e retornar ao que sempre funcionou, bem ou mal: confiar apenas no próprio Kernel (Linux) para matar emergencialmente os processos mais vorazes somente quando estiver esgotada a memória total, incluindo swap. É uma situação extrema em que já não há mais memória disponível, gerando congelamento até que o #Kernel, vagarosamente, consiga recuperar memória suficiente para os processos sobreviventes continuarem a execução. Essa problemática foi a motivação de Ubuntu incluir tal serviço paralelo, para evitar esse tipo de travamento. Contudo, acaba podendo ser pior.

É possível desabilitar o systemd-oomd com: sudo systemctl disable --now systemd-oomd.service

Mas, isto não garante que ele não seja invocado posteriormente por algum outro serviço. De fato, mesmo com o serviço desabilitado, ele pode acabar sendo encontrado em execução após um reboot, gerando os mesmos sintomas. Uma alternativa seria “mascará-lo”: sudo systemctl mask systemd-oomd [8]

A mais eficaz e definitiva solução é desinstalar o pacote systemd-oomd[9]. Não há dependentes, portanto não há impedimento:

sudo apt remove --purge systemd-oomd

Se, futuramente, o funcionamento de tal mecanismo for aperfeiçoado, ou se mudar de ideia, basta reinstalar esse pacote.

Observação

O texto está focado no #Ubuntu pois era uma distribuição que o autor utilizava no cotidiano à época da redação, todavia também é válido para outras que trazem o “systemd-oomd”, como Fedora ≥34.[10]


[1] Ubuntu 22.04 LTS lançado em abril de 2022. Confira os detalhes (em inglês). [2] Mecanismo de memória virtual: partição ou arquivo de troca de paginação de memória física para disco que permite ter mais memória livre. [3] Registro de eventos do sistema, geralmente disponível no arquivo /var/log/syslog. [4] Saiba como utilizar o journalctl para visualizar mensagens do systemd. [5] Cf. relato de bug do systemd. [6] Cf., p. ex., https://techhq.com/2022/07/ubuntu-22-oomd-app-killer-memory-pressure/, https://bugzilla.redhat.com/show_bug.cgi?id=1941340, https://bugzilla.redhat.com/show_bug.cgi?id=1933494, https://askubuntu.com/questions/1404888 [7] Há maneiras de otimizar um pouco o uso de swap atualmente, como zswap ou zram, boas sugestões. Confira ainda um texto do Arch Linux a respeito (em inglês), incluindo outras opções de limpeza automática de memória similares ao “systemd-oomd”. [8] Cf. https://www.cjjackson.dev/posts/what-is-systemd-oomd-how-to-disable-it/ [9] Cf. https://askubuntu.com/a/1423840/1007603 [10] Cf. relato de bug de 2021.

#systemd #RAM #Ubuntu #Fedora #GNU #Linux #swap

  🇧🇷 🇵🇹  Este blog © 2023 por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023 by Daltux is licensed under CC BY-SA 4.0