diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7e97916 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 giovn-aguiar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index d3ce53a..5af3fe7 100644 --- a/README.md +++ b/README.md @@ -1,124 +1,278 @@ -# 🎀 Tutorial de criação de cyberdeck usando um celular antigo ✨ +# Cyberdeck: Linux no Android -## O que é um cyberdeck? 💻🩷 +
-image +![GitHub repo size](https://img.shields.io/github/repo-size/giovn-aguiar/linux-android?style=for-the-badge&color=8A2BE2) +![GitHub language count](https://img.shields.io/github/languages/count/giovn-aguiar/linux-android?style=for-the-badge&color=8A2BE2) +![GitHub forks](https://img.shields.io/github/forks/giovn-aguiar/linux-android?style=for-the-badge&color=8A2BE2) +![GitHub issues](https://img.shields.io/github/issues/giovn-aguiar/linux-android?style=for-the-badge&color=8A2BE2) +Cyberdeck Banner +> *Cyberdecks são computadores portáteis personalizados inspirados em ficção científica, cultura hacker e estética cyberpunk. Este projeto transforma seu Android em uma central Linux portátil.* +
-Cyberdecks são computadores portáteis personalizados inspirados em ficção científica, cultura hacker e estética cyberpunk. -Normalmente são feitos reaproveitando hardware antigo, adicionando acessórios, modificações estéticas e sistemas Linux personalizados ✨ +--- -A ideia é transformar um dispositivo comum em algo único, funcional e com muita personalidade ♡ +## Índice +- [Sobre o Projeto](#sobre-o-projeto) +- [Pré-requisitos](#️pré-requisitos) +- [Instalação automática](instalação-automatica) +- [Instalação e Configuração](#instalação-e-configuração) +- [Ambientes Gráficos Suportados](#ambientes-gráficos-suportados) +- [Script](#otimização-automática) +- [Inicialização](#inicialização-automática) +- [Licença](#licença) -Neste tutorial, vamos utilizar um celular Android antigo para criar um ambiente Linux completo usando o Termux, transformando o aparelho em um mini computador portátil 💿⚡ +--- -## O que você vai precisar 🧃 +## Sobre o Projeto +Este script foi desenvolvido para automatizar a instalação de uma distribuição Linux completa com interface gráfica dentro do ambiente Termux no Android. A proposta é dar vida a um **Cyberdeck**, aproveitando ao máximo o hardware do seu dispositivo. -Lembrando que aqui estou mostrando o que vou utilizar no cyberdeck que estou criando 🎀 -Mas o mais legal de cyberdecks é que literalmente não existe regra — você pode criar utilizando até uma TV Box no lugar do celular e adaptar tudo do seu jeito ♡ +--- -- Um celular ou tablet Android 📱 -- Powerbank 🔋 -- Teclado Bluetooth ou USB ⌨️ -- Mouse Bluetooth ou USB 🖱️ -- Hub USB 🌐 -- Aproximadamente 2GB livres 💾 -- Criatividade para personalizar seu cyberdeck 💻🩷✨ +## Pré-requisitos -# Projeto Android Linux - Termux +> **Nota:** Na criação de um cyberdeck não existem regras — você pode criar utilizando desde um celular antigo até uma TV Box. Os requisitos abaixo servem como base para a nossa stack: -## Descrição +* **Dispositivo:** Android 5.0+ com conexão à internet. +* **Espaço em Disco:** Mínimo de **2 GB livres** de armazenamento interno. +* **Periféricos:** Teclado, mouse e um Hub USB/OTG. +* **Software:** Versão mais recente do [Termux via F-Droid](https://f-droid.org/packages/com.termux/). +* **Principal:** Muita criatividade. -Script de configuração automatizada para instalar e gerenciar um ambiente Linux completo no Termux. +--- -## Recursos +## Instalação automática -- Detecção automática do dispositivo e GPU -- Suporte a múltiplos ambientes desktop (XFCE4, LXQt, MATE, KDE) -- Aceleração gráfica otimizada por GPU -- Instalação simplificada e automatizada -- Compatibilidade com smartphones e tablets +Para uma configuração rápida, você pode rodar o instalador passando o ambiente gráfico desejado diretamente como parâmetro. Caso queira seguir com a instalação manual siga para [instalação e configuração](instalacao-e-configuracao). +> Verifique se o arquivo script-installation.sh está baixado e no diretório certo. -## Ambientes Desktop Suportados +Verificar a integridade do script: -| Desktop | Peso | Recomendação | -|---------|------|--------------| -| XFCE4 | Médio | Recomendado | -| LXQt | Leve | Para dispositivos antigos | -| MATE | Médio | Alternativa estável | -| KDE | Pesado | Para dispositivos poderosos | - -## Instalação - -1. Instale o [Termux](https://f-droid.org/pt_BR/packages/com.termux/) do F-Droid -2. Abra o Termux e dê permissões para acesso ao armazenamento do celular: -``` -termux-setup-storage +```bash +ls ``` -3. Desbloqueie o modo Desenvolvedor no seu aparelho -4. Em 'Opções do Desenvolvedor' desabilite a opção 'Desativar restrições de processos filhos' (ou 'Disable child process restrictions') -5. Instale o git: -``` -pkg install git +Deverá mostrar as pastas do sistema, ao baixar veja se o arquivo está na pasta Download ou em outra. + +```bash +cd Downloads/ ``` -6. Clone este repositório: + +Execute o comando abaixo no seu Termux: + +```bash +bash ~/script-instalation.sh + ``` -git clone https://github.com/lucasaguiar-la/linux-android.git + +### Parâmetros disponíveis: + +* `xfce4` +* `lxqt` +* `mate` +* `kde` + +> **Comportamento do Script:** +> * Se nenhum parâmetro for passado, o script abrirá um menu interativo para você escolher a interface. +> * Se um parâmetro inválido ou inexistente for digitado, o script adotará o `xfce4` como padrão automaticamente e seguirá com a instalação. +> +> + +Exemplo de uso: + +```bash +bash ~/script-instalation.sh xfce4 + ``` -7. Após execute: + +--- + +## Instalação e Configuração + +Siga os passos abaixo na ordem indicada para configurar o seu ambiente de forma correta: + +### Passo 1: Preparação do Android +Antes de abrir o script, precisamos ajustar as permissões e o sistema operacional: +1. Abra o **Termux** e libere o acesso ao armazenamento interno executando: +```bash + termux-setup-storage ``` + +2. Ative o **Modo Desenvolvedor** no seu aparelho Android. +3. Nas *Opções do Desenvolvedor*, procure por **"Desativar restrições de processos filhos"** (*Disable child process restrictions*) e **desative-a**. Isso evita que o Android feche o Linux em segundo plano. + +### Passo 2: Instalação do Script + +Agora vamos clonar o repositório e rodar o instalador: + +```bash +# Instala o git no Termux +pkg update && pkg install git -y + +# Clona o repositório do projeto +git clone [https://github.com/lucasaguiar-la/linux-android.git](https://github.com/lucasaguiar-la/linux-android.git) + # Acessa a pasta clonada cd linux-android -# Da permissões para executar o script -chmod +X script-termux.sh +# Concede permissão de execução ao script +chmod +x script-termux.sh -# Executa o script de instalação +# Executa o instalador ./script-termux.sh -``` -8. Selecione o ambiente desktop desejado -9. Aguarde a instalação ser concluída -10. Rode o script: -``` -# Voltar para a home -cd -#Executa o script -./start-linux.sh ``` -11. Instale o [Termux X11](https://github.com/termux/termux-x11/releases/tag/nightly) para acessar a interface gráfica -12. Abra o Termux X11 e o provedor gráfico já estará funcionando -## Detecção de Hardware +4. Durante a execução, selecione o ambiente desktop de sua preferência (veja a tabela abaixo) e aguarde a conclusão. -O script detecta automaticamente: -- **Marca do dispositivo**: Samsung, Xiaomi, etc. -- **GPU**: Adreno (Samsung/Qualcomm) ou genérica -- **Driver gráfico**: Freedom ou Zink (compatibilidade) +### Passo 3: Inicialização e Interface Gráfica -## Requisitos +Para renderizar a interface visual do Linux, usaremos o servidor gráfico do Termux: -- Android 5.0+ -- Termux instalado -- Termux: X11 -- ~2GB de espaço livre -- Conexão com internet +1. Baixe e instale o [Termux X11 (Versão Nightly)](https://www.google.com/search?q=https://github.com/termux/termux-x11/releases/tag/nightly) no seu Android. +2. No Termux, inicie o ambiente Linux rodando: -## Notas +```bash + cd && ./start-linux.sh -- Use XFCE4 para melhor equilíbrio entre performance e funcionalidade -- Dispositivos antigos: prefira LXQt -- Dispositivos topo de linha: experimente KDE -- Para executar automatizamente o `./start-linux.sh` toda vez que abrir o Termux, faça o seguinte: ``` + +3. Abra o aplicativo **Termux X11** que você instalou. A interface gráfica do Linux já estará rodando! + +--- + +## Ambientes Gráficos Suportados + +| Ambiente | Performance | Recomendação de Uso | +| --- | --- | --- | +| **XFCE4** | 🟢 Média | **Recomendado**. | +| **LXQt** | 🟢 Muito Leve | Ideal para dispositivos fracos. | +| **MATE** | 🟡 Média | Alternativa estável. | +| **KDE** | 🔴 Pesado | Visual moderno e completo. Indicado apenas para dispositivos topo de linha. | + +--- + +## Script + +O script possui um sistema inteligente de detecção de hardware que configura o ecossistema de forma otimizada para o seu chip: + +* **Hardware:** Identificação automática da marca (Samsung, Xiaomi, etc.). +* **Gráficos:** Detecção de GPUs Adreno (Qualcomm) ou genéricas. +* **Drivers:** Seleção automática entre os drivers gráficos *Freedom* ou *Zink* para máxima compatibilidade e aceleração de hardware. + +--- + +## Inicialização + +Se você quer transformar seu dispositivo de forma definitiva em um Cyberdeck e deseja que o Linux inicie **automaticamente** assim que você abrir o Termux, siga estes passos: + +```bash +# Abre o arquivo de configuração do terminal nano ~/.bashrc -# Cole o conteúdo abaixo: +``` + +Adicione a seguinte linha ao final do arquivo: + +```bash ./start-linux.sh + ``` +Salve o arquivo (`CTRL + O`, depois `Enter`) e saia (`CTRL + X`). + +--- + +## FAQ + +Aqui estão as respostas para as dúvidas mais comuns sobre o projeto. Clique na pergunta para expandir. + +
+1. Consigo rodar o VS Code, Chrome ou programas pesados nesse ambiente? +
+O VS Code (versão OSS para ARM64) e navegadores como o Chromium rodam, mas o desempenho depende diretamente do processador e da RAM do seu Android. Dispositivos com menos de 4GB de RAM podem sofrer travamentos ao abrir muitos apps ao mesmo tempo. +
+ +
+2. O projeto precisa de ROOT no celular? +
+Não! O script foi projetado para rodar completamente em modo rootless (sem root) usando o PRoot para emular o sistema de arquivos Linux. Isso garante que qualquer aparelho saia de fábrica pronto para virar um Cyberdeck sem riscos de segurança. +
+ +
+3. Por que meu Linux fecha sozinho depois de alguns minutos? +
+Isso geralmente acontece porque o sistema de gerenciamento de bateria do Android (especialmente em interfaces como MIUI, OneUI ou em aparelhos Android 12+) "mata" processos em segundo plano. Certifique-se de seguir o Passo 1 (Desativar restrições de processos filhos) na seção de Instalação para corrigir isso. Vale ressaltar que o Termux e Termux X11 você deve verificar a restrição de uso de bateria. Geralmente fica em Economia de bateria (Battery saver), mude para Sem restrições (No restrictions). +
+ +
+4. Posso instalar jogos da Steam ou apps de PC normal (.exe ou x86)? +
+ +Nativamente não, porque o seu Android usa um processador de arquitetura ARM, e a maioria dos softwares de PC comuns são feitos para arquitetura x86/x64. Para rodar programas x86, você precisaria configurar ferramentas de tradução como o Box64 ou Fex-Emu dentro do ambiente. Entretanto, isso não lhe impedi de testar jogos de plataformas como Steam, Heroic, Epic Games, etc e análisar o seu desempenho (recomendo compartilhar sua experiência com a comunidade), os principais problemas que você deve encontrar é seu processador, memória RAM, armazenamento interno, etc. +
+ +
+5. O som e o microfone funcionam dentro do Linux? +
+Para o áudio funcionar, é necessário configurar o servidor PulseAudio no Termux. O script atual foca na estabilidade do ambiente gráfico. +
+ +
+6. Qual a diferença entre usar o modo DeX, uma Custom ROM ou este Cyberdeck? +
+ +Se você quer usar o Android como um computador, existem três caminhos principais. Cada um oferece um nível diferente de controle, liberdade e conhecimento técnico: + +* Samsung DeX (e similares): É apenas uma "roupagem" visual (Launcher) oficial sobre o próprio Android. Os aplicativos ainda são os apps normais do celular (.apk). É estável, mas totalmente limitado às regras da fabricante. Você não tem um terminal Linux real nem pode instalar pacotes via apt ou outro Gerenciador de Pacotes. +* Custom ROM (Ex: LineageOS): Uma Custom ROM é uma versão do Android modificada por desenvolvedores e entusiastas que oferece uma experiência adaptada e otimizada. Essas ROMs trazem recursos ausentes nas builds oficiais dos fabricantes, como melhorias de desempenho, novas funções, interfaces personalizadas e a possibilidade de remover apps pré‑instalados indesejados. +* Cyberdeck: Roda um Linux completo e independente lado a lado com o seu Android atual através de emulação no espaço de usuário (usando PRoot e Termux X11). O risco é **zero** (não precisa de root), você mantém as funções do celular intactas e ganha total liberdade de um ecossistema Linux real. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaSamsung DeXCustom ROMCyberdeck
Risco de quebrar o aparelho⚪ Nenhum🔴 Risco de Brick⚪ Nenhum
Exige modificação avançadaNão (Nativo apenas para Samsung)Sim (Desbloquear Bootloader)Não (Apenas instalar apps)
O que roda por baixoApps AndroidROM modificadaDistribuição Linux
Ferramentas de DevMuito limitadoDepende da ROM instalada, liberdade totalLiberdade Total
+
+
+ +--- + ## Licença -MIT +Este projeto está sob a licença correspondente do repositório. Veja o arquivo [LICENSE](LICENSE) para mais detalhes. diff --git a/changelod.md b/changelod.md new file mode 100644 index 0000000..5ddbcb3 --- /dev/null +++ b/changelod.md @@ -0,0 +1,14 @@ +# Changelog + +Todas as alterações feitas no repositório serão encontradas nesse arquivo. + +## v1.1 + +**Adicionado** +* `changelog.md` criado +* `LICENSE` criado + +**Modificado** +* `README.md` adicionado aba de FAQ + +--- diff --git a/image.png b/image.png new file mode 100644 index 0000000..31b70c9 Binary files /dev/null and b/image.png differ diff --git a/script-installation.sh b/script-installation.sh new file mode 100644 index 0000000..a338326 --- /dev/null +++ b/script-installation.sh @@ -0,0 +1,94 @@ +#!/bin/bash + +# ========================================================================== +# ⚡ Cyberdeck: Linux no Android - Script de Instalação e Configuração +# ========================================================================== + +cat << 'EOF' + /$$$$$$ /$$ /$$ /$$ + /$$__ $$ | $$ | $$ | $$ +| $$ \__/ /$$ /$$| $$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$$| $$ /$$ +| $$ | $$ | $$| $$__ $$ /$$__ $$ /$$__ $$ /$$__ $$ /$$__ $$ /$$_____/| $$ /$$/ +| $$ | $$ | $$| $$ \ $$| $$$$$$$$| $$ \__/| $$ | $$| $$$$$$$$| $$ | $$$$$$/ +| $$ $$| $$ | $$| $$ | $$| $$_____/| $$ | $$ | $$| $$_____/| $$ | $$_ $$ +| $$$$$$/| $$$$$$$| $$$$$$$/| $$$$$$$| $$ | $$$$$$$| $$$$$$$| $$$$$$$| $$ \ $$ + \______/ \____ $$|_______/ \_______/|__/ \_______/ \_______/ \_______/|__/ \__/ + /$$ | $$ + | $$$$$$/ + \______/ +EOF + +# Permissão de armazenamento +echo -e "\n[1/5] Solicitando acesso ao armazenamento interno..." +termux-setup-storage +sleep 2 + +# Atualiza os pacotes e instala o Git +echo -e "\n[2/5] Atualizando o Termux e instalando o Git..." +pkg update -y && pkg upgrade -y +pkg install git -y + +if [ $? -ne 0 ]; then + echo -e "Nota: Se a atualização falhar, certifique-se de estar usando a versão do F-Droid." +fi + +# Clone do Repositório +echo -e "\n[3/5] Clonando o repositório linux-android..." + +# Verifica se a pasta já existe, caso ele com o git clone +if [ -d "linux-android" ]; then + echo "A pasta 'linux-android' já existe. Atualizando repositório existente..." + cd linux-android && git pull +else + git clone https://github.com/lucasaguiar-la/linux-android.git + cd linux-android +fi + +# Verificação do parâmetro de ambiente gráfico +if [ -z "$1" ]; then + echo -e "\nAlerta: Voce nao escolheu um ambiente grafico via parametro. O padrao sera xfce4." + AMBIENTE_PARAM="xfce4" +else + AMBIENTE_PARAM=$(echo "$1" | tr '[:upper:]' '[:lower:]') +fi + +# Ambiente gráfico +echo -e "\n[4/5] Configurando o Ambiente Gráfico..." + +if [ "$AMBIENTE_PARAM" = "xfce4" ] || [ "$AMBIENTE_PARAM" = "lxqt" ] || [ "$AMBIENTE_PARAM" = "mate" ] || [ "$AMBIENTE_PARAM" = "kde" ]; then + case $AMBIENTE_PARAM in + xfce4) AMBIENTE="XFCE4";; + lxqt) AMBIENTE="LXQt";; + mate) AMBIENTE="MATE";; + kde) AMBIENTE="KDE";; + lockesinc) AMBIENTE="XFCE4";; + esac +else + echo "------------------------------------------------------" + echo "Escolha a interface gráfica desejada para o seu Cyberdeck:" + echo -e "1) XFCE4 (Recomendado - Melhor equilíbrio de performance)" + echo -e "2) LXQt (Muito Leve - Ideal para dispositivos antigos)" + echo -e "3) MATE (Média - Alternativa clássica e estável)" + echo -e "4) KDE (Pesado - Apenas para dispositivos modernos/topo de linha)" + echo "------------------------------------------------------" + read -p "Digite o número da sua opção (1-4): " opcao + + case $opcao in + 1) AMBIENTE="XFCE4";; + 2) AMBIENTE="LXQt";; + 3) AMBIENTE="MATE";; + 4) AMBIENTE="KDE";; + *) echo -e "Opção inválida. Definindo o padrão recomendado (XFCE4)."; AMBIENTE="XFCE4";; + esac +fi + +echo -e "\nSelecionado: $AMBIENTE. Iniciando o instalador principal..." + +# Concede permissão de execução e roda o script interno do repositório clonado +chmod +x script-termux.sh +./script-termux.sh + +# Instalação conluido +echo -e "\n======================================================" +echo -e "Instalação do script concluido!" +echo -e "======================================================"