Refinar a minha experiência de SO para tablet
A usar o Surface Go 2 com 4G/LTE, Debian GNU/Linux e i3wm
- Publicado
- Atualizado
- (criado )
- Escrito por
- Willem L. Middelkoop
- Temas
- Liberdade · SSH · criar · design · experiência · tutorial · portátil · linux · minimalista · tablet
- Versão humana deste artigo
- https://willem.com/pt/2020-09-28_refinar-a-minha-experiencia-de-so-para-tablet/
- English
- Refining my tablet OS experience
- Nederlands
- Mijn tablet-OS-ervaring verfijnen
- Deutsch
- Mein Tablet-OS-Erlebnis optimieren
- Español
- Refinando la experiencia de mi SO para tablets
- Français
- Peaufiner l'expérience de mon système de tablette
- Italiano
- Rifinire la mia esperienza con il sistema operativo per tablet
- Papiamentu
- Refiná mi eksperensia di sistema operativo pa tablèt
- Frysk
- Myn tablet-OS-ûnderfining ferfine
- Idiomas
- Traduzido do original em inglês por um modelo de linguagem em duas passagens (tradução e revisão) com um glossário e um corretor ortográfico; ainda não revisto por um falante nativo.
Resumo
No início deste ano tentei criar o meu próprio sistema operativo para tablet, instalando o Debian GNU/Linux num tablet Microsoft Surface Go. Aprendi muito sobre o que gosto nos tablets. Mas continuei a preferir o meu iPad Pro, sobretudo pela sua experiência de utilização polida. Desta vez decidi refinar o software do meu tablet para substituir o iPad.
Texto completo
Linux em tablets (Surface)
Se estás a pensar instalar Linux num tablet: não estás sozinho. O meu artigo anterior sobre instalar o Debian GNU/Linux no Surface GO recebeu uma enorme atenção. Pelos vistos, muitos de vós procuram uma alternativa aos sistemas operativos fechados que costumam vir instalados nos tablets (como o iPadOS, o Android ou o Windows 10S).
Hardware Microsoft Surface e Linux
Como a história está cheia de ironias doces, é a Microsoft que faz algum hardware bem bonito que funciona bem com Linux. A gama Surface inclui portáteis e tablets diferentes. A página de reddit “SurfaceLinux” está cheia de histórias de utilizadores interessantes que vale a pena ver. Há quem o faça, e tu também o podes fazer.

Primeira tentativa: Surface Go (versus iPad Pro)
Depois de instalar e modificar o Debian GNU/Linux no Surface Go, a que chamei “Willem OS”, tentei torná-lo o meu computador principal. Se visitas o meu blogue com frequência, sabes que uso iPads e tablets há anos como computador principal. No fim achei que a minha primeira versão do “WillemOS” não era suficientemente boa: o iPad Pro estava anos-luz à frente em termos de experiência de utilização polida.
Desta primeira tentativa aprendi muito, e passei a perceber melhor o que procuro numa experiência de tablet. Procuro software simples, mas versátil, para correr no meu tablet.
Mas “simples” é na verdade muito difícil de conseguir. Para tornar as coisas mesmo simples, é preciso integrar hardware e software sem costuras. A Apple faz isto bem, e o iPad Pro oferece uma ótima experiência de utilização porque:
- continua onde ficaste: guarda tudo quando o pões numa mochila, ficando (instantaneamente) pronto para continuar quando o tiras de lá. Sem guardar manualmente nem (re)iniciar.
- internet em todo o lado: alterna automaticamente entre redes WiFi e 4G/LTE, não precisas de fazer nada, simplesmente ‘funciona’
- qualquer orientação e posição: o iPad funciona muito bem sem teclado externo nem rato, permitindo-te usá-lo em muitos cenários diferentes (o ecrã também ajusta automaticamente o brilho e o equilíbrio de brancos ao ambiente à tua volta!)
Acontece que pôr estas coisas a funcionar sem costuras com o Debian GNU/Linux no Surface é difícil. O meu primeiro SO para tablet exigia muita interação manual e era, por isso, trabalhoso em comparação com o iPad Pro.
Segunda tentativa: Surface Go 2
A Microsoft lançou este ano um novo tablet Surface Go, o Surface Go 2. Tem um processador mais rápido (até 64%!), margens mais finas e um ecrã melhorado. É uma atualização muito decente, que coloca o Surface Go 2 muito mais ao nível do iPad Pro de 11 polegadas em termos de hardware. Para a minha segunda tentativa de criar a experiência de tablet definitiva, decidi usar o modelo de topo, o Surface Go 2:
- ecrã tátil de 10,5” (1920x1250, 220PPI), formato 3:2, Corning® Gorilla® Glass 3
- processador Intel Core m3 (8.ª geração)
- 8GB de RAM
- Wifi 802.11a/b/g/n/ac/ax
- LTE Advanced (modem Qualcomm® Snapdragon™ X16 LTE)
- Bluetooth 5.0
- Intel UHD Graphics 615
- Dimensões: 245 mm x 175 mm x 8,3 mm
- SSD de 256GB
- cartão MicroSDXC de 512GB
- 1x USB-C e 1x porta Surface Connect

Instalar o Debian GNU/Linux no Surface Go 2
O Surface Go 2 é muito parecido com o antecessor quando se trata de fazer uma instalação base da tua distribuição GNU/Linux favorita. Segui aqui os meus próprios passos da instalação original do Surface Go.

Em resumo, tens de seguir estes passos para instalar Linux no teu Surface:
- 1) Atualiza o Windows 10 e instala todos os patches/atualizações de firmware
- 2) Cria um suporte de instalação com arranque que contenha a tua distribuição GNU/Linux favorita
- 3) (Opcional) liga um cabo de rede ethernet
- 4) Arranca o Surface a partir da unidade USB
- 5) Instala o sistema operativo com o instalador
- 6) Afina e otimiza a experiência de software

Refinar a experiência
O último passo da instalação é onde podes fazer a diferença entre uma experiência de utilização fantástica e uma péssima. Para me “encorajar” a aguentar esta experiência, decidi vender o meu iPad Pro: queimar os navios (porque já não haveria volta atrás)!

Num ecrã pequeno, correr as apps em ecrã inteiro faz todo o sentido. Sei que o conceito convencional de PC de gerir janelas de aplicações distintas não oferece a melhor experiência de utilização num tablet pequeno. Por isso decidi experimentar um gestor de janelas em mosaico: o i3wm.
Gestor de janelas em mosaico
O princípio de um gestor de janelas em mosaico é simples: as apps ocupam todo o espaço disponível. Isto significa que, se correres apenas uma app, fica em ecrã inteiro. Duas apps repartem o ecrã, e por aí fora. Podes definir regras que automatizam a disposição das apps. Com atalhos de teclado podes alternar rapidamente entre apps. Podes precisar de algum tempo para descobrir o que funciona melhor para ti com um gestor de janelas em mosaico, mas no fim pode poupar-te muito tempo!

Áreas de trabalho
Outra funcionalidade poderosa do i3wm é poderes ter diferentes ‘áreas de trabalho’. São uma forma fácil de organizar grupos de apps que correm em conjunto. Uso áreas de trabalho diferentes para as diferentes coisas que faço. Uma abordagem comum é pôr o navegador numa área de trabalho, as aplicações de correio noutra e aquelas com que trabalhas na terceira.

O melhor de ter várias áreas de trabalho é que uma app (por exemplo, o teu navegador) pode ter várias instâncias em áreas de trabalho diferentes. Isto permite muitas combinações diferentes de apps. É mesmo aqui que o gestor de janelas i3wm é muito melhor do que a abordagem do iPadOS à multitarefa.
O gestor de janelas i3wm suporta muito bem monitores externos, com o mesmo conceito de área de trabalho. Basta designares uma ou várias áreas de trabalho para serem mostradas no ecrã extra/externo. Funciona bem com a Surface Dock e com os acessórios USB-C para HDMI do Surface. O suporte para vários monitores é mesmo ótimo.

Uma coisa que deves experimentar é usar o fusuma para ativar gestos de três dedos no trackpad. Se alguma vez trabalhaste num MacBook, sabes que os trackpads multitoque permitem gestos úteis para alternar entre ambientes de trabalho (ou áreas de trabalho no i3wm). Funciona muito bem!
Armazenamento
Para gerir as minhas fotografias com o Shotwell queria um armazenamento a sério no meu tablet. Embora tenha o modelo de topo do Surface Go 2 com o SSD de 256GB, usei a ranhura do cartão MicroSD para aumentar a minha capacidade de armazenamento em mais 512GB. O cartão MicroSD é mais lento do que o SSD integrado, mas para ficheiros que não lês todos os dias/horas/minutos é suficientemente rápido.

A minha instalação do Debian GNU/Linux não teve problemas em reconhecer o cartão MicroSD. Encriptei o cartão MicroSD inteiro para evitar que as minhas fotografias fossem expostas se alguma vez perdesse o cartão. Deves (sempre) pensar nisto, toma as medidas adequadas para proteger e fazer cópias de segurança dos teus dados!
Conectividade WiFi/4G/LTE
Depois de instalar o firmware sem fios ‘não livre’ no Debian, o WiFi funciona bem no Surface Go 2. Pôr o LTE/4G a funcionar foi muito mais difícil! Por alguma razão a ligação WWAN não arrancava, apesar de eu ter inserido um cartão SIM a funcionar no Surface Go. Por algum motivo misterioso o modem não arrancava corretamente, o 4G/LTE não funcionava!

Uma das grandes coisas do iPad é partilhar a lógica de conectividade do iPhone. Gere automaticamente as diferentes redes sem fios e as ligações de banda larga móvel. Eu queria que isto também funcionasse no meu tablet Linux!
Quando procurava uma pista para pôr o 4G/LTE a funcionar, li relatos sobre o Surface Pro. O Surface Go 2 é tecnicamente muito semelhante ao Pro maior. Pensei que podia aprender com os esforços de outras pessoas com a banda larga móvel no Surface Pro. Depois de muitas horas a pesquisar e a experimentar coisas diferentes, encontrei esta solução para pôr o 4G a funcionar no Surface:

Podes usar o Network Manager (e o Modem Manager) para automatizar a gestão da conectividade no Linux. Por defeito prefere ligações WiFi a banda larga móvel. Podes configurá-lo para ligar automaticamente por 4G/LTE se não houver WiFi disponível. Agora funciona muito bem em combinação com o hardware do Surface Go 2!

Suspender/Hibernar/Retomar
Outra coisa em que nenhum utilizador de iPad pensa é como a Apple acertou em cheio na suspensão e na retoma. Com um iPad, podes tê-lo em modo de espera durante muitos dias e, mesmo assim, é sempre muito rápido continuar onde ficaste quando voltas a pegar nele.
Para fazer o meu Surface com GNU/Linux fazer o mesmo, precisava de uma forma de suspender e retomar rapidamente. No mundo Linux / PC há basicamente quatro modos de energia:
- ligado: as apps estão a correr. O sistema está totalmente ligado e consome muita energia
- suspender (para a RAM): os estados das apps ficam preservados na memória RAM. O sistema continua ligado, mas todos os componentes são reduzidos ao máximo e ainda consome energia (+/- 10% de bateria por hora no meu caso, com o Surface Go 2)
- suspender (para o disco) / hibernar: os estados das apps ficam preservados no disco. O sistema fica desligado e não consome energia
- desligado: as apps estão fechadas. O sistema está desligado e não consome energia
Para “retomar instantaneamente onde ficaste” é preciso preservar os estados das apps. As retomas mais rápidas (quase instantâneas) são possíveis quando o estado da app é guardado na memória RAM. O problema da memória RAM é que precisa de corrente (energia!) para manter o seu valor. Quando se perde a energia, perdem-se os estados das apps.
A alternativa é suspender para o disco (ou hibernar), em que o estado é guardado no dispositivo de armazenamento permanente do computador. Isto permite que o computador se desligue completamente. O problema de suspender para o disco é que a retoma é mais lenta e exige voltar a introduzir as frases-passe de encriptação com a encriptação total do disco.
A boa notícia é que o GNU/Linux moderno vem com o systemd, que te permite configurar a forma como o computador lida com a suspensão e a retoma. Podes configurar o teu tablet para primeiro suspender para a RAM (permitindo retoma instantânea) e depois, passado algum tempo, suspender para o disco.

Num dia de trabalho normal, acordo (muito) cedo para trabalhar a partir de casa nos meus projetos mais exigentes. Depois vou de bicicleta para o trabalho e continuo a trabalhar de lá. Cronometrei o meu trajeto e percebi que, se o meu tablet ficasse ligado pelo menos duas horas, me permitiria retomar o trabalho instantaneamente. Se não voltar a trabalhar no tablet dentro de duas horas, poupa bateria suspendendo para o disco. Assim tenho a melhor experiência para a minha situação em particular.

Aspeto uniforme
Ao contrário do iPad, rigidamente controlado, o software em GNU/Linux é criado com muitas abordagens diferentes ao design da interface de utilizador. Não existe nada como as Diretrizes de Interface de Utilizador que a Apple dita para o iOS e o iPadOS. Isto é um problema, porque faz com que o software tenha um aspeto e uma sensação inconsistentes.
Um aspeto e uma sensação consistentes são importantes para permitir um ambiente e uma experiência de utilização sem atritos. Por isso fiz muitos pequenos ajustes nas cores, tipos de letra, ícones e barras de ferramentas para que as minhas apps tenham todas um aspeto e uma sensação semelhantes. Embora não seja perfeitamente harmonioso, já não parece que estou a trabalhar com um “SO Frankenstein”.
Prefiro um tema escuro, porque é mais fácil para os meus olhos, mas deves decidir por ti. Usa ferramentas como o lxappearance para fazer ajustes em várias apps. Mas provavelmente também vais precisar de fazer ajustes app a app. Uso o tema adwaita-dark e ícones (monocromáticos) HighContrast, com o tipo de letra Open Sans Light.


Usá-lo no dia a dia
Construir um sistema bonito é uma coisa, mas usá-lo mesmo no dia a dia é outra! O Surface Go é o meu computador do dia a dia e, nas últimas semanas, tenho andado a experimentar coisas e definições diferentes. Aqui ficam alguns destaques.











Conclusão
Construir o meu próprio SO para tablet é um verdadeiro desafio. A minha primeira tentativa não foi suficientemente boa para substituir o meu iPad. Esta segunda tentativa, porém, é diferente. O tempo e o esforço que dediquei a refinar a experiência de utilização resultam num sistema muito melhor. Agora uso-o diariamente como computador principal.
Embora sempre tenha apreciado o trabalho que a Apple fez no iPad, continua limitado pelo seu software fechado. Sobretudo agora, que a Apple decidiu reforçar o controlo da sua AppStore. A única forma de controlar o futuro é criá-lo tu mesmo: acredito que chegou a altura de ser capitão do meu próprio navio!
Atualização de janeiro de 2021
Depois de meses de uso intenso decidi abandonar o meu próprio SO para tablet