O UxPlay Control permite que você espelhe a tela do seu iPhone no Linux.

  • O UxPlay e sua extensão gráfica UxPlay Control permitem que você espelhe sua tela e transmita áudio de dispositivos Apple para Linux de forma eficiente e gratuita.
  • A instalação é simples na maioria das distros, tudo o que você precisa são os plugins corretos do GStreamer e alguma atenção a pequenos detalhes de configuração e permissões de rede.
  • Não serve apenas para espelhamento de tela; ele oferece personalização avançada (segurança, resolução, portas) e suporte para streaming HLS, ideal para ambientes educacionais, profissionais ou domésticos.
  • Sua principal vantagem sobre as alternativas é a integração nativa com o AirPlay, a ausência de limitações proprietárias e sua adaptabilidade a todos os tipos de hardware, de PCs a Raspberry Pi.

Controle UxPlay

Integrar dispositivos Apple como iPhone, iPad ou Mac em ambientes Linux tem sido historicamente uma tarefa complexa para o usuário médio. Esse desafio se deve principalmente à falta de suporte nativo para tecnologias proprietárias da Apple, como o AirPlay, em sistemas operacionais diferentes do macOS. No entanto, graças a projetos de código aberto como o UxPlay e sua extensão gráfica, Controle UxPlay Para o GNOME, aproveitar o espelhamento de tela e o streaming de áudio de dispositivos Apple no Linux agora está muito mais acessível.

Se você tem a preocupação de compartilhar a tela do seu iPhone ou iPad no seu computador executando o Ubuntu ou qualquer distribuição baseada em Linux, você veio ao lugar certo. Neste artigo, você aprenderá em detalhes como o UxPlay funciona, quais as possibilidades reais que ele oferece no ecossistema Linux, como instalar e configurar todo o ambiente, suas limitações e quais alternativas você pode considerar. Tudo isso sem desconsiderar a segurança, o desempenho e as múltiplas opções de personalização que o projeto oferece, tanto no terminal quanto nas versões com interface gráfica.

O que é UxPlay e qual é sua principal função?

UxPlay é um servidor AirPlay não oficial e de código aberto, projetado para sistemas Unix. Seu principal objetivo é emular a operação de uma Apple TV, permitindo que dispositivos iOS, iPadOS e macOS compartilhem sua tela e transmitam áudio ou vídeo para um computador com Linux, macOS ou até mesmo Windows. Compatível com AirPlay Mirror e AirPlay Audio, suporta espelhamento de tela em tempo real e transmissão de áudio de alta qualidade usando o protocolo ALAC (Apple Lossless).

Esta ferramenta elimina a necessidade de hardware proprietário e abre a porta para qualquer usuário transformar seu PC ou Raspberry Pi em um receptor AirPlay funcional, ideal para apresentações, streaming, gravação de tela ou simplesmente desfrutar de conteúdo multimídia em uma tela maior.

Controle UxPlay: A camada gráfica que simplifica a experiência

Uma das principais barreiras ao UxPlay em seus primórdios era seu uso exclusivo via linha de comando. Isso limitava a ferramenta a usuários acostumados ao terminal e à configuração avançada de parâmetros técnicos. Em resposta a essa deficiência, surgiu o UxPlay Control, uma extensão para o GNOME Shell que adiciona um applet gráfico ao painel superior do seu ambiente de trabalho Linux favorito.

  • Gerenciamento visual do status do servidor: No painel, você pode iniciar ou parar o UxPlay, ver se ele está ativo (ícones de status) e acessar as configurações rapidamente.
  • Interface de configuração intuitiva: Ele permite que você personalize o nome do dispositivo, ative PINs ou senhas, ajuste a resolução do vídeo, portas de rede, latência ou volume inicial, entre outras opções importantes.
  • Experiência amigável para todos os níveis: Graças ao UxPlay Control, os comandos não são mais necessários, democratizando a funcionalidade do AirPlay no Linux para usuários não técnicos.

Esta extensão é especialmente útil em ambientes de trabalho colaborativo, educação ou qualquer situação em que você precise compartilhar rapidamente a tela de um dispositivo Apple em um computador Linux.

Compatibilidade e requisitos: onde e como o UxPlay funciona?

O UxPlay é muito versátil e Seu desenvolvimento é voltado para os atuais sistemas Linux e Raspberry Pi, embora também seja compatível com macOS e Windows. Para garantir a máxima compatibilidade e desempenho, é importante considerar os seguintes aspectos:

  • Versões do GNOME: A extensão UxPlay Control requer o GNOME 41 ou superior.
  • Distribuições suportadas: Ele roda em Ubuntu, Debian, Fedora, Arch, Manjaro, openSUSE, Rocky Linux, Mageia e derivados, assim como Raspberry Pi OS e variantes.
  • Componentes Necessários: É essencial ter os plugins do GStreamer instalados para decodificação de áudio e vídeo (pacotes como gstreamer1.0-plugins-bad, gstreamer1.0-libav, entre outros dependendo da distro), além do próprio UxPlay.
  • Requisitos de rede: Todos os dispositivos devem estar na mesma rede local para que a descoberta do mDNS/Bonjour funcione corretamente.
  • Dispositivos Apple: Compatível com iPhone, iPad e Mac, até mesmo modelos mais antigos (iOS 9.3.5 e posteriores).

Nos sistemas Windows e macOS, também há versões e compilações específicas do UxPlay, facilitando a interoperabilidade entre plataformas. Além disso, o UxPlay pode ser instalado e configurado a partir de pacotes pré-compilados na maioria das distribuições, ou compilado a partir do código-fonte para garantir que você tenha a versão mais recente e estável.

Instalação passo a passo do UxPlay no Ubuntu e derivados

Instalar o UxPlay no Ubuntu é um processo simples que requer apenas alguns comandos no terminal. Aqui estão os passos recomendados:

  1. Instalar o UxPlay: Execute o comando de instalação no terminal, que em sistemas baseados em Debian seria: sudo apt install uxplay
  2. Instale os plugins do GStreamer: É essencial ter pelo menos gstreamer1.0-plugins-bad y gstreamer1.0-libav. Você pode fazer isso com: sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav
  3. Inicie o servidor UxPlay: Apenas escreva uxplay no terminal e deixe o console aberto enquanto usa o AirPlay.
  4. No seu dispositivo Apple: Abra o Centro de Controle, selecione Espelhamento de Tela e escolha "UxPlay" na lista de receptores.
  5. Encerre a sessão: Quando terminar, basta fechar a janela do UxPlay ou pressionar Ctrl+C No terminal.

Este método permitirá que você visualize instantaneamente a tela do seu iPhone ou iPad na área de trabalho do Ubuntu, com excelente qualidade de vídeo graças à decodificação acelerada por hardware, se o seu computador suportar isso.

Instalação avançada: compilando o UxPlay a partir do código-fonte

Para aqueles que querem a versão mais recente ou exigem compatibilidade com outras distribuições, compilar o UxPlay a partir do código-fonte é uma opção poderosa.

  1. Baixe o código: Você pode clonar o repositório oficial usando git clone https://github.com/FDH2/UxPlay ou baixe o pacote ZIP na seção 'Lançamentos'.
  2. Prepare o ambiente: Certifique-se de ter os pacotes de compilação instalados: sudo apt install build-essential cmake pkg-config libssl-dev libplist-dev libavahi-compat-libdnssd-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
  3. Compilar o programa: Dentro do diretório, execute:
    • mkdir build && cd build
    • cmake ..
    • make
    • sudo make install
  4. Instale os plugins do GStreamer: Assim como no método padrão, certifique-se de ter os pacotes mencionados acima instalados.

A compilação é especialmente recomendada para usuários avançados que desejam aproveitar todos os novos recursos do UxPlay ou adaptar o programa a ambientes personalizados ou hardware incomum.

Instalando e usando a extensão gráfica UxPlay Control no GNOME

A extensão UxPlay Control é o complemento perfeito para aqueles que preferem o gerenciamento visual do próprio ambiente de trabalho GNOME. Para instalá-lo, siga estas etapas:

  1. Acesse o site oficial das extensões do GNOME Shell: Vá para o seu Site Oficial
  2. Efetue login e ative a extensão: Você precisará fazer login para instalá-lo. Clique no botão correspondente.
  3. Configurar o controle UxPlay: Acesse as opções no painel superior e ajuste os parâmetros necessários (nome do dispositivo, portas, senhas, resolução, etc.).

Lembre-se que para usar a extensão você deve ter instalado previamente o UxPlay e os plugins GStreamer. A vantagem é que, a partir deste ponto, quase todas as tarefas podem ser realizadas a partir da interface gráfica, economizando tempo e facilitando o gerenciamento mesmo em cenários multiusuários.

Opções de configuração avançadas: personalização absoluta

O UxPlay e sua extensão gráfica oferecem muito mais opções do que parecem à primeira vista. As principais possibilidades incluem:

  • Nome e host personalizados: Escolha como seu dispositivo aparece na playlist do AirPlay em dispositivos Apple.
  • Controle de acesso: Ative sistemas de segurança com PIN ou senha para impedir acesso não autorizado, ideal para ambientes públicos ou abertos.
  • Resolução e qualidade do vídeo: Ajuste a resolução máxima, ative o modo de tela cheia automático e configure a latência para minimizar o atraso entre os dispositivos.
  • Portas de rede personalizadas: Útil se sua rede tiver restrições ou se você usar firewalls avançados.
  • Configuração via arquivo: É possível definir parâmetros padrão a partir de arquivos como ~/.uxplayrc, facilitando a reutilização de configurações.

Essas opções são especialmente relevantes para usuários exigentes, profissionais e aqueles que desejam automatizar a experiência do AirPlay em sua rede ou ambiente de trabalho.

Detalhes técnicos: Como o UxPlay consegue a integração com o AirPlay

O UxPlay utiliza o GStreamer como seu mecanismo de áudio e vídeo, alcançando compatibilidade entre plataformas e aceleração de hardware. O programa atua como um servidor AirPlay que se anuncia na rede usando o Bonjour (DNS-SD/mDNS) e é detectado automaticamente por dispositivos Apple conectados à mesma rede local.

  • No modo espelho: Recebe o sinal de exibição do dispositivo Apple e o exibe em uma janela flutuante na área de trabalho, com áudio sincronizado.
  • No modo de áudio: Permite que você receba áudio de qualidade, compatível com Apple Lossless (ALAC), ideal para adicionar música a uma sala ou conectar seu computador Linux a sistemas de som avançados.
  • Modo HLS (transmissão ao vivo em HTTP): Suporta streaming direto (por exemplo, do aplicativo do YouTube) via AirPlay HLS, entregando o vídeo ao servidor Linux sem passar pelo cliente.
  • Recuperando metadados e capas: Exibe informações da música e da capa no servidor, útil em sistemas de reprodução de música ou para exibir informações na tela.

Usar o GStreamer permite que você adapte a experiência a todos os tipos de hardware, desde PCs potentes até Raspberry Pis de baixo custo, usando decodificação de hardware quando disponível ou decodificação de software se necessário.

Vantagens do UxPlay em relação a outras alternativas de espelhamento de tela

Embora existam outras soluções como AirDroid Cast, TeamViewer ou Anydesk, o UxPlay se destaca especialmente por ser gratuito, eficiente e não exigir a instalação de aplicativos em dispositivos Apple. As principais vantagens sobre outros métodos são:

  • Não é necessário jailbreak, hacks ou cabos: O UxPlay utiliza o AirPlay, nativo do iOS e macOS.
  • Gratuito e de código aberto: Totalmente transparente, sem limitações ou publicidade.
  • Simplicidade e rapidez de instalação: Presente na maioria dos repositórios oficiais das distribuições Linux populares.
  • Otimização para vários hardwares: De sistemas de desktop ao Raspberry Pi, com suporte para decodificadores avançados de hardware/software.

Essas vantagens fazem do UxPlay a escolha ideal para usuários domésticos, educacionais, empresariais e de criação que buscam uma solução confiável e flexível para compartilhamento de tela e áudio entre dispositivos Apple e Linux.

Limitações e aspectos a ter em conta

Embora o UxPlay seja extremamente útil, ele tem certas restrições inerentes ao protocolo AirPlay e aos limites técnicos de uma solução de código aberto.

  • Não permite interação com o dispositivo Apple: O UxPlay apenas espelha a tela; você não pode controlar seu telefone ou tablet usando um mouse ou teclado no computador receptor.
  • Não funciona com conteúdo protegido por DRM: Séries, filmes e aplicativos como Apple TV, Amazon Prime e Netflix não podem ser assistidos devido a limitações legais e técnicas.
  • Dependência de rede local e mDNS: Todos os dispositivos devem estar conectados corretamente e as portas de rede abertas no caso de firewalls.
  • Gestão de recursos: Em computadores mais antigos ou Raspberry Pis, é recomendável ajustar a resolução e os modos de decodificação para evitar gargalos.

Essas limitações são especialmente importantes para aqueles que buscam uma substituição completa para soluções proprietárias como o AirServer ou hardware como o Apple TV. Para a maioria dos usos padrão (apresentações, compartilhamento de fotos, demonstrações ou vídeos pessoais), o UxPlay supera as expectativas.

Suporte multiplataforma e hardware compatível

UxPlay é um projeto projetado para ser universal e adaptável. Alguns pontos importantes sobre sua compatibilidade:

  • Linux: Suporte nativo para as principais distribuições e ambientes de desktop (GNOME, KDE, XFCE, etc.)
  • Raspberry Pi: Otimizado para modelos recentes (Pi 4, Pi 5) e mais antigos (Zero 2W, 3B+). Utiliza a GPU Broadcom para decodificação h264/h265.
  • Windows: Há o uxplay-windows, com integração de ícones na bandeja e gerenciamento visual simples.
  • MacOS: Ele funciona como uma alternativa ao servidor AirPlay nativo, especialmente útil em computadores não suportados pelo Monterey ou com hardware mais antigo.

Usar o GStreamer facilita a exploração de hardware acelerado (Intel VAAPI, AMD, Nvidia, V4L2 no Raspberry Pi) e permite que você escolha entre decodificação de hardware/software dependendo do contexto.

Casos de uso e cenários práticos

UxPlay e UxPlay Control podem ser usados ​​em diversos contextos. Alguns exemplos práticos são:

  • Apresentações profissionais: Visualize seus slides no seu iPhone em uma sala de reunião com um PC Linux conectado a um projetor.
  • Trabalho docente: Exiba exemplos ou conteúdo de um tablet em aulas presenciais ou gravações educacionais.
  • Gravação e streaming: Use a janela flutuante criada pelo UxPlay para compartilhar a tela do seu celular pelo OBS Studio, Discord ou outros aplicativos de videoconferência.
  • Entretenimento doméstico: Aproveite fotos, vídeos ou músicas dos seus dispositivos Apple no seu PC ou Raspberry Pi conectado à sua TV.

Em todos os casos, o único requisito é que os dispositivos estejam na mesma rede local e configurados corretamente.

Comparação com outras alternativas para compartilhamento de tela no Linux

No cenário de espelhamento de tela e controle remoto, há vários aplicativos concorrentes ao UxPlay, cada um com suas próprias vantagens e desvantagens.

Elenco de AirDroid

O AirDroid Cast permite que você compartilhe a tela do seu iPhone no Ubuntu (ou Windows/Mac), mesmo com controle remoto se usado fora do Linux. Ele oferece uma versão web para gerenciá-lo sem instalar aplicativos adicionais, mas geralmente requer a criação de uma conta e a integração com o AirPlay é menos direta do que no UxPlay.

TeamViewer

O TeamViewer é conhecido pelo suporte remoto, transferências de arquivos e gerenciamento de vários usuários. Você pode espelhar a tela do seu iPhone no Ubuntu, mas o foco principal é o acesso remoto e a interação é limitada.

Qualquer mesa

O AnyDesk se destaca pela sua velocidade e simplicidade. Ele permite que você espelhe sua tela com um sistema de código exclusivo, útil para conexões rápidas e fáceis, mas a experiência do usuário não é tão integrada ao AirPlay quanto ao UxPlay.

Embora essas alternativas sejam viáveis, o UxPlay se destaca quando a prioridade é aproveitar os recursos nativos do AirPlay no Linux, sem depender de servidores externos ou contas proprietárias.

Opções específicas do Raspberry Pi

O Raspberry Pi é um dos dispositivos em que o UxPlay se destaca pela otimização e uso de hardware gráfico. Para aproveitar ao máximo:

  • Decodificação de hardware h264/h265: Modelos recentes como o Pi 4 e o Pi 5 suportam vídeo de alta resolução, embora o Pi 5 não tenha um decodificador h264 de hardware e seja necessário usar decodificação de software (suficiente, dada a potência extra do modelo).
  • Opções customizadas: Recomenda-se ajustar a memória dedicada à GPU (no Pi OS, usando 'raspi-config' ou modificando /boot/config.txt).
  • Não é necessário monitor: O UxPlay pode operar no modo headless, somente modo de áudio ou como um receptor de mídia.

A flexibilidade do Raspberry Pi permite que você crie tudo, desde sistemas multimídia domésticos até ambientes de sinalização digital ou quiosques interativos controlados pelo AirPlay a partir de dispositivos Apple.

Segurança e controle de acesso

O UxPlay integra várias camadas de segurança para evitar conexões indesejadas. É possível estabelecer:

  • Autenticação por PIN: Gera um código aleatório que somente o usuário que o vê no terminal pode inserir no dispositivo Apple.
  • Senha fixa (via -pw): Força apenas aqueles que conhecem a chave a iniciar uma sessão AirPlay.
  • Registrando dispositivos “confiáveis”: Opcionalmente, você pode manter um registro dos dispositivos que foram autenticados com sucesso pelo PIN para não precisar solicitá-lo toda vez que fizer login.
  • Restrição por DeviceID: Permite criar listas brancas ou negras de dispositivos permitidos ou bloqueados por seu identificador exclusivo (MAC).

Essas opções são ideais para redes abertas, espaços públicos ou ambientes colaborativos onde é necessário algum controle sobre quem visualiza ou transmite conteúdo na tela.

Opções de personalização de fluxo de vídeo e áudio

O mecanismo GStreamer do UxPlay permite controle total sobre a qualidade do streaming. Entre as configurações mais avançadas estão:

  • Coletores de áudio e vídeo personalizados: Selecione manualmente o plugin GStreamer mais adequado para seu hardware, como vaapisink para Intel, glimagesink para OpenGL ou alsasink/pipewiresink/pulsesink para áudio.
  • Resolução e taxa de quadros: Ajuste o tamanho e a taxa de atualização máxima (30 fps, 60 fps…) para otimizar o desempenho e a latência.
  • Tempo e latência: Escolha entre a sincronização baseada em registro de data e hora (o padrão é o modo espelho para manter o áudio e o vídeo alinhados) ou o modo de transmissão ao vivo para priorizar a fluidez em conexões potentes.
  • Controle de volume e ganho: Redimensionamento de decibéis para adaptar a saída sonora ao ambiente.

Esses recursos fazem do UxPlay uma ferramenta profissional para criadores de conteúdo, músicos ou qualquer pessoa que busque a mais alta qualidade de experiência multimídia.

Atualizações e desenvolvimento: preparação para o futuro

UxPlay é um projeto dinâmico com uma comunidade ativa. Algumas das melhorias recentes e novos recursos incluem:

  • Suporte para transmissão ao vivo do HLS (YouTube e outros serviços): Permitido a partir da versão 1.71 e posteriores.
  • Suporte aprimorado para 4K (h265): Desde a versão 1.70, ideal para conteúdo de alta definição em dispositivos potentes.
  • Gerenciamento avançado de usuários, segurança e personalização: Novas opções de lista de permissões/listas de bloqueios, configuração por arquivo, sistema de registro aprimorado e mensagens de erro aprimoradas.
  • Melhorias na integração do systemd: É possível gerenciar o UxPlay como um serviço de usuário (daemon) para iniciar e parar automaticamente sob demanda.

O projeto recebe atualizações constantes que corrigem bugs, melhoram a compatibilidade e adicionam novos recursos, garantindo que a ferramenta permaneça competitiva com soluções proprietárias.

Solução de problemas comuns

Como todo software avançado, problemas ocasionais podem surgir na configuração do UxPlay. Aqui estão algumas soluções para problemas comuns:

  • O dispositivo Apple não vê o servidor UxPlay: Verifique se todos os computadores estão na mesma rede, se o serviço avahi-daemon está ativo e se nenhum firewall está bloqueando as portas UDP 5353 e as portas TCP/UDP 7000, 7001, 7011, etc.
  • Plugins GStreamer ausentes: Instale ou reinstale os pacotes correspondentes (por exemplo, gstreamer1.0-plugins-bad, gstreamer1.0-libav ou gst-plugins-good/bad/libav no Arch/Manjaro).
  • Problemas de latência ou interrupções de áudio/vídeo: Ajuste a resolução, a taxa de quadros e experimente diferentes coletores de vídeo (exemplo: glimagesink, ximagesink, vaapisink).
  • Áudio ausente no modo espelho: Alguns sistemas exigem a instalação de plugins adicionais para decodificação AAC (avdec_aac).
  • Erros no Raspberry Pi: Verifique se o módulo bcm2835-codec está disponível e/ou use a decodificação de software (-avdec).

As ferramentas gst-inspect-1.0 e avahi-browse são úteis para diagnosticar instalações de plugins e serviços, respectivamente.

História e comunidade por trás do UxPlay

O UxPlay é o resultado de uma ampla colaboração dentro do ecossistema de código aberto. Seu desenvolvimento evoluiu com base em projetos anteriores como RPiPlay, ShairPlay ou PlayFair, incorporando melhorias técnicas, otimização para arquiteturas ARM e suporte aprimorado para gráficos via GStreamer.

A comunidade mantém o projeto vivo por meio de atualizações contínuas, documentação no GitHub, patches para novas versões do GStreamer e uma atitude receptiva em relação a bugs, sugestões e contribuições externas.

Isso garante que o UxPlay continue a se adaptar às mudanças no protocolo AirPlay e aos requisitos de usuários cada vez mais exigentes.

Legalidade e licenças

O UxPlay é distribuído sob a licença GPLv3, permitindo seu livre uso, modificação e distribuição. No entanto, ao implementar protocolos proprietários como o AirPlay, há nuances legais quanto à distribuição de binários vinculados a determinadas bibliotecas (por exemplo, OpenSSL) em algumas distribuições.

O projeto usa apenas informações e recursos públicos disponíveis on-line e se destina ao uso educacional e pessoal. A responsabilidade pelo cumprimento da legislação local é do usuário final.

Isso o torna uma alternativa ética e segura aos muitos receptores AirPlay comerciais fechados do mercado.

Resumo das melhores práticas e dicas finais

Se você quiser aproveitar ao máximo o UxPlay e sua extensão UxPlay Control, lembre-se:

  • Atualize sempre para a versão mais recente possível e mantenha seu sistema operacional atualizado com todos os patches de segurança.
  • Experimente diferentes combinações de configurações para adaptar a experiência ao seu hardware e às suas necessidades.
  • Use autenticação e listas de dispositivos permitidos se você usar o UxPlay em ambientes públicos.
  • Consulte a documentação oficial e entre em contato com a comunidade caso surja algum problema específico.

Com um pouco de paciência e experimentação, você descobrirá todo o potencial do UxPlay para quebrar as barreiras entre o ecossistema da Apple e o software de código aberto, desfrutando de uma integração perfeita, profissional e personalizável, perfeita para qualquer solução comercial.