Idiomas: English · Nederlands · Deutsch · Español · Français · Italiano · Português · Papiamentu · Frysk

Índice / Artigos / Refinar a minha experiência de SO para tablet

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.

O hardware Microsoft Surface é popular porque é genuinamente bonito
O hardware Microsoft Surface é popular porque é genuinamente bonito

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
Microsoft Surface Go 2 com teclado preto e Surface Pen: uma bela peça de hardware!
Microsoft Surface Go 2 com teclado preto e Surface Pen: uma bela peça de hardware!

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.

Instalar o Debian GNU/Linux no Surface Go 2 é muito parecido com o Surface Go original
Instalar o Debian GNU/Linux no Surface Go 2 é muito parecido com o Surface Go original

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
Debian GNU/Linux com i3wm (“também conhecido por WillemOS”) a correr no Surface Go 2
Debian GNU/Linux com i3wm (“também conhecido por WillemOS”) a correr no Surface Go 2

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)!

Vender o teu iPad Pro é fácil se guardares as caixas originais: vendi o meu em poucos dias, obrigando-me a fazer o novo tablet funcionar!
Vender o teu iPad Pro é fácil se guardares as caixas originais: vendi o meu em poucos dias, obrigando-me a fazer o novo tablet funcionar!

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!

Firefox (à esquerda) e uma janela de terminal MOSH/tmux (à direita) em ecrã dividido com o gestor de janelas em mosaico i3wm
Firefox (à esquerda) e uma janela de terminal MOSH/tmux (à direita) em ecrã dividido com o gestor de janelas em mosaico i3wm

Á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.

Várias áreas de trabalho são muito poderosas: é como mudar de canal de TV
Várias áreas de trabalho são muito poderosas: é como mudar de canal de TV

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.

Deslizar três dedos para alternar entre áreas de trabalho, um truque do macOS: com o fusuma podes usar gestos multitoque no i3wm
Deslizar três dedos para alternar entre áreas de trabalho, um truque do macOS: com o fusuma podes usar gestos multitoque no i3wm

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.

É possível aumentar o armazenamento de um Surface Go 2 com um cartão MicroSD
É possível aumentar o armazenamento de um Surface Go 2 com um cartão MicroSD

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!

Instalar o SIM no tablet Surface Go 2
Instalar o SIM no tablet Surface Go 2

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:

Repor os buffers do modem de banda larga do Surface permitiu que funcionasse com o Debian GNU/Linux!
Repor os buffers do modem de banda larga do Surface permitiu que funcionasse com o Debian GNU/Linux!

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!

O Network Manager (nm-applet) alterna automaticamente entre ligações WiFi e de banda larga móvel
O Network Manager (nm-applet) alterna automaticamente entre ligações WiFi e de banda larga móvel

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.

A definição “AllowSuspendThenHibernate” do systemd, no sleep.conf, permite definir um tempo limite entre suspender para a RAM e suspender para o disco (hibernação)
A definição “AllowSuspendThenHibernate” do systemd, no sleep.conf, permite definir um tempo limite entre suspender para a RAM e suspender para o disco (hibernação)

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.

Configura o LidSwitch (no login.conf do systemd) para suspender e retomar automaticamente quando fechas o teclado do Surface; configurei-o para suspender e depois hibernar, com um tempo limite
Configura o LidSwitch (no login.conf do systemd) para suspender e retomar automaticamente quando fechas o teclado do Surface; configurei-o para suspender e depois hibernar, com um tempo limite

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.

O explorador de ficheiros Thunar (à esquerda) e o GIMP (à direita) em harmonia visual: cria um aspeto uniforme combinando cores, ícones e tipos de letra
O explorador de ficheiros Thunar (à esquerda) e o GIMP (à direita) em harmonia visual: cria um aspeto uniforme combinando cores, ícones e tipos de letra
O Shotwell (à esquerda) e o Xournal (à direita): duas apps muito diferentes lado a lado, com um aspeto visual coerente
O Shotwell (à esquerda) e o Xournal (à direita): duas apps muito diferentes lado a lado, com um aspeto visual coerente

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.

A Surface Pen é ótima e, quando configuras o Xournal para usar o Xinput, a sensibilidade à pressão funciona na perfeição: vês a espessura do traço variar, tal como numa caneta a sério
A Surface Pen é ótima e, quando configuras o Xournal para usar o Xinput, a sensibilidade à pressão funciona na perfeição: vês a espessura do traço variar, tal como numa caneta a sério
O suporte traseiro é brilhante em combinação com o Xournal e a Surface Pen: nenhum iPad consegue isto
O suporte traseiro é brilhante em combinação com o Xournal e a Surface Pen: nenhum iPad consegue isto
O suporte traseiro é muito robusto, pois usa duas dobradiças de metal fortes
O suporte traseiro é muito robusto, pois usa duas dobradiças de metal fortes
É um encanto escrever no teclado, com teclas a sério (retroiluminadas), incluindo ESC e uma fila de teclas de função
É um encanto escrever no teclado, com teclas a sério (retroiluminadas), incluindo ESC e uma fila de teclas de função
Também podes usar um teclado Bluetooth, o que te permite uma distância confortável entre os olhos e o ecrã
Também podes usar um teclado Bluetooth, o que te permite uma distância confortável entre os olhos e o ecrã
Embora o USB-C seja o futuro, a porta Surface Connect é bastante prática, pois funciona com a Surface Dock 2 (que oferece imensa conectividade)
Embora o USB-C seja o futuro, a porta Surface Connect é bastante prática, pois funciona com a Surface Dock 2 (que oferece imensa conectividade)
A parte de trás do Surface não tem lente de câmara saliente, o que permite ao tablet ficar perfeitamente plano em cima de uma mesa, como deve ser!
A parte de trás do Surface não tem lente de câmara saliente, o que permite ao tablet ficar perfeitamente plano em cima de uma mesa, como deve ser!
É um computador minúsculo, mas incrivelmente poderoso e versátil!
É um computador minúsculo, mas incrivelmente poderoso e versátil!
Ler e-mails no Evolution funciona bem!
Ler e-mails no Evolution funciona bem!
É leve o suficiente para usar com uma só mão: podes ler o sensor giroscópio para rodar automaticamente o ecrã, útil quando lês um artigo (interessante)
É leve o suficiente para usar com uma só mão: podes ler o sensor giroscópio para rodar automaticamente o ecrã, útil quando lês um artigo (interessante)
O Surface Go 2 é uma ferramenta séria, capaz de coisas poderosas quando te ligas à cloud (com um terminal, MOSH e tmux)
O Surface Go 2 é uma ferramenta séria, capaz de coisas poderosas quando te ligas à cloud (com um terminal, MOSH e tmux)

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

Formatos legíveis por máquinas desta página