UxPlay Control позволяет дублировать экран вашего iPhone на Linux.

  • UxPlay и его графическое расширение UxPlay Control позволяют вам эффективно и бесплатно дублировать свой экран и транслировать звук с устройств Apple на Linux.
  • Установка проста в большинстве дистрибутивов, все, что вам нужно, — это правильные плагины GStreamer и немного внимания к небольшим настройкам сети и разрешениям.
  • Он предназначен не только для дублирования экрана; он предлагает расширенные возможности настройки (безопасность, разрешение, порты) и поддержку потоковой передачи HLS, что идеально подходит для образовательных, профессиональных или домашних условий.
  • Его главным преимуществом перед альтернативами является встроенная интеграция с AirPlay, отсутствие фирменных ограничений и адаптируемость ко всем типам оборудования — от ПК до Raspberry Pi.

Управление UxPlay

Интеграция устройств Apple, таких как iPhone, iPad или Mac, в среду Linux исторически была сложной задачей для обычного пользователя. Эта проблема была вызвана в первую очередь отсутствием собственной поддержки фирменных технологий Apple, таких как AirPlay, в операционных системах, отличных от macOS. Однако благодаря проектам с открытым исходным кодом, таким как UxPlay и его графическому расширению, Управление UxPlay Для GNOME зеркалирование экрана и потоковая передача звука с устройств Apple на Linux теперь стали гораздо доступнее.

Если у вас есть опасения Чтобы продемонстрировать экран вашего iPhone или iPad на компьютере под управлением Ubuntu или любого другого дистрибутива на базе Linux, вы обратились по адресу. В этой статье вы подробно узнаете, как работает UxPlay, какие реальные возможности он предлагает в экосистеме Linux, как установить и настроить всю среду, ее ограничения и какие альтернативы вы можете рассмотреть. Все это, не пренебрегая безопасностью, производительностью и многочисленными возможностями настройки, которые проект предлагает как в терминале, так и в версиях с графическим пользовательским интерфейсом.

Что такое UxPlay и какова его основная функция?

UxPlay — неофициальный сервер AirPlay с открытым исходным кодом, разработанный для систем Unix. Его главная цель — эмулировать работу Apple TV, позволяя устройствам iOS, iPadOS и macOS делиться своим экраном и транслировать аудио или видео на компьютер под управлением Linux, macOS или даже Windows. Совместимость с AirPlay Mirror и AirPlay Audio, поддерживает как зеркальное отображение экрана в реальном времени, так и высококачественную передачу звука с использованием протокола ALAC (Apple Lossless).

Этот инструмент устраняет необходимость в фирменном оборудовании и открывает любому пользователю возможность превратить свой ПК или Raspberry Pi в функциональный приемник AirPlay, идеально подходящий для презентаций, потоковой передачи, записи экрана или простого просмотра мультимедийного контента на большом экране.

UxPlay Control: графический уровень, упрощающий работу

Одним из главных препятствий для UxPlay в первые дни было его исключительное использование через командную строку. Это ограничивало инструмент пользователями, привыкшими к терминалу и расширенной настройке технических параметров. В ответ на этот недостаток появился UxPlay Control, расширение для GNOME Shell, которое добавляет графический апплет на верхнюю панель вашей любимой среды рабочего стола Linux.

  • Визуальное управление состоянием сервера: С панели управления вы можете запустить или остановить UxPlay, посмотреть, активен ли он (значки состояния), а также быстро получить доступ к настройкам.
  • Интуитивно понятный интерфейс настройки: Он позволяет настраивать имя устройства, активировать PIN-коды или пароли, настраивать разрешение видео, сетевые порты, задержку или начальную громкость, а также другие ключевые параметры.
  • Дружелюбный опыт для всех уровней: Благодаря UxPlay Control команды больше не требуются, что делает функциональность AirPlay в Linux доступной для нетехнических пользователей.

Это расширение особенно полезно в средах совместной работы, образовании или в любой ситуации, когда вам необходимо быстро предоставить общий доступ к экрану устройства Apple на компьютере Linux.

Совместимость и требования: где и как работает UxPlay?

UxPlay очень универсален и Его разработка ориентирована на текущие системы Linux и Raspberry Pi, хотя он также совместим с macOS и Windows. Для обеспечения максимальной совместимости и производительности важно учитывать следующие аспекты:

  • Версии GNOME: Для расширения UxPlay Control требуется GNOME 41 или выше.
  • Поддерживаемые дистрибутивы: Он работает на Ubuntu, Debian, Fedora, Arch, Manjaro, openSUSE, Rocky Linux, Mageia и производных, а также на Raspberry Pi OS и ее вариантах.
  • Необходимые компоненты: Важно установить плагины GStreamer для декодирования аудио и видео (такие пакеты, как gstreamer1.0-plugins-bad, gstreamer1.0-libav и другие в зависимости от дистрибутива), а также сам UxPlay.
  • Требования к сети: Для корректной работы обнаружения mDNS/Bonjour все устройства должны находиться в одной локальной сети.
  • Свойства Apple: Совместимо с iPhone, iPad и Mac, даже со старыми моделями (iOS 9.3.5 и более поздние версии).

В системах Windows и macOS также существуют специальные версии и сборки UxPlay, обеспечивающие кроссплатформенную совместимость. Кроме того, UxPlay можно установить и настроить из предварительно скомпилированных пакетов в большинстве дистрибутивов или скомпилировать из исходного кода, чтобы гарантировать наличие последней и наиболее стабильной версии.

Пошаговая установка UxPlay на Ubuntu и производных

Установка UxPlay на Ubuntu — это простой процесс, требующий всего нескольких команд в терминале. Вот рекомендуемые шаги:

  1. Установить UxPlay: Запустите команду установки в терминале, которая в системах на базе Debian будет выглядеть так: sudo apt install uxplay
  2. Установите плагины GStreamer: Необходимо иметь по крайней мере gstreamer1.0-plugins-bad y gstreamer1.0-libav. Вы можете сделать это с помощью: sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav
  3. Запустите сервер UxPlay: Просто пиши uxplay в терминале и оставьте консоль открытой при использовании AirPlay.
  4. На вашем устройстве Apple: Откройте Центр управления, выберите «Screen Mirroring» и выберите «UxPlay» из списка приемников.
  5. Завершите сеанс: Когда закончите, просто закройте окно UxPlay или нажмите Ctrl+C В терминале.

Этот метод позволит вам мгновенно просматривать экран вашего iPhone или iPad на рабочем столе Ubuntu с превосходным качеством видео благодаря аппаратному ускорению декодирования, если ваш компьютер поддерживает эту функцию.

Расширенная установка: компиляция UxPlay из исходного кода

Для тех, кому нужна последняя версия или требуется совместимость с другими дистрибутивами, компиляция UxPlay из исходного кода является эффективным вариантом.

  1. Загрузите код: Вы можете клонировать официальный репозиторий, используя git clone https://github.com/FDH2/UxPlay или загрузите ZIP-архив из раздела «Релизы».
  2. Подготовьте среду: Убедитесь, что у вас установлены пакеты сборки: 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. Скомпилируйте программу: Внутри каталога запустите:
    • mkdir build && cd build
    • cmake ..
    • make
    • sudo make install
  4. Установите плагины GStreamer: Как и в стандартном методе, убедитесь, что у вас установлены пакеты, упомянутые выше.

Компиляция особенно рекомендуется опытным пользователям, которые хотят воспользоваться всеми новыми функциями UxPlay или адаптировать программу к пользовательским средам или необычному оборудованию.

Установка и использование графического расширения UxPlay Control в GNOME

Расширение UxPlay Control — идеальное дополнение для тех, кто предпочитает визуальное управление непосредственно из рабочего стола GNOME. Чтобы установить его, выполните следующие действия:

  1. Перейдите на официальный сайт расширений оболочки GNOME: Иди к нему Официальный сайт
  2. Авторизуйтесь и активируйте расширение: Для установки вам нужно будет войти в систему. Нажмите на соответствующий переключатель.
  3. Настройте элемент управления UxPlay: Откройте параметры на верхней панели и настройте необходимые параметры (имя устройства, порты, пароли, разрешение и т. д.).

Помните, что для использования расширения у вас должны быть предварительно установлены плагины UxPlay и GStreamer. Преимущество заключается в том, что с этого момента практически все задачи можно выполнять из графического интерфейса, что экономит время и облегчает управление даже в многопользовательских сценариях.

Расширенные возможности конфигурации: абсолютная настройка

UxPlay и его графическое расширение предлагают гораздо больше возможностей, чем кажется на первый взгляд. Ключевые возможности включают в себя:

  • Пользовательское имя и хост: Выберите, как ваше устройство будет отображаться в списке воспроизведения AirPlay на устройствах Apple.
  • Контроль доступа: Активируйте системы безопасности с использованием PIN-кода или пароля для предотвращения несанкционированного доступа, что идеально подходит для общественных или открытых пространств.
  • Разрешение и качество видео: Настройте максимальное разрешение, включите автоматический полноэкранный режим и настройте задержку, чтобы минимизировать задержку между устройствами.
  • Пользовательские сетевые порты: Полезно, если в вашей сети есть ограничения или вы используете современные брандмауэры.
  • Конфигурация через файл: Можно определить параметры по умолчанию из таких файлов, как ~/.uxplayrc, что облегчает повторное использование настроек.

Эти возможности особенно актуальны для требовательных пользователей, профессионалов и тех, кто хочет автоматизировать работу AirPlay в своей сети или рабочей среде.

Технические подробности: как UxPlay обеспечивает интеграцию AirPlay

UxPlay использует GStreamer в качестве аудио- и видеодвижка, обеспечивая кроссплатформенную совместимость и аппаратное ускорение. Программа действует как сервер AirPlay, который рекламирует себя в сети с помощью Bonjour (DNS-SD/mDNS) и автоматически обнаруживается устройствами Apple, подключенными к той же локальной сети.

  • В зеркальном режиме: Получает сигнал дисплея от устройства Apple и отображает его в плавающем окне на рабочем столе с синхронизированным звуком.
  • В аудиорежиме: Позволяет получать качественный звук, совместимый с Apple Lossless (ALAC), идеально подходит для добавления музыки в комнату или подключения вашего компьютера Linux к современным звуковым системам.
  • Режим HLS (прямая трансляция HTTP): Поддерживает прямую потоковую передачу (например, из приложения YouTube) через AirPlay HLS, доставляя видео на сервер Linux без прохождения через клиент.
  • Восстановление метаданных и обложек: Отображает информацию о песне и обложку на сервере, полезно в системах воспроизведения музыки или для отображения информации на экране.

Использование GStreamer позволяет адаптировать опыт ко всем типам оборудования, от мощных ПК до недорогих Raspberry Pi, используя аппаратное декодирование, если оно доступно, или программное декодирование при необходимости.

Преимущества UxPlay перед другими альтернативами зеркалирования экрана

Хотя существуют и другие решения, такие как AirDroid Cast, TeamViewer или Anydesk, UxPlay особенно выделяется тем, что он бесплатный, эффективный и не требует установки приложений на устройства Apple. Основные преимущества перед другими методами:

  • Не требуется джейлбрейк, взломы или кабели: UxPlay использует технологию AirPlay, встроенную в iOS и macOS.
  • Бесплатно и с открытым исходным кодом: Полностью прозрачно, без ограничений и рекламы.
  • Простота и скорость установки: Присутствует в большинстве официальных репозиториев популярных дистрибутивов Linux.
  • Оптимизация для различного оборудования: От настольных систем до Raspberry Pi, с поддержкой современных аппаратных и программных декодеров.

Эти преимущества делают UxPlay идеальным выбором для домашних пользователей, образовательных, деловых и производственных сред, которым требуется надежное и гибкое решение для совместного использования экрана и звука между устройствами Apple и Linux.

Ограничения и аспекты, которые следует учитывать

Хотя UxPlay чрезвычайно полезен, он имеет определенные ограничения, присущие протоколу AirPlay, и технические ограничения решения с открытым исходным кодом.

  • Не позволяет взаимодействовать с устройством Apple: UxPlay только дублирует экран; вы не можете управлять своим телефоном или планшетом с помощью мыши или клавиатуры на принимающем компьютере.
  • Не работает с контентом, защищенным DRM: Просмотр сериалов, фильмов и приложений, таких как Apple TV, Amazon Prime и Netflix, невозможен из-за юридических и технических ограничений.
  • Зависимость от локальной сети и mDNS: Все устройства должны быть правильно подключены, а сетевые порты должны быть открыты на случай наличия брандмауэров.
  • Рекурсивный прием: На старых компьютерах или Raspberry Pi рекомендуется настроить разрешение и режимы декодирования, чтобы избежать узких мест.

Эти ограничения особенно важны для тех, кто ищет полную замену фирменным решениям, таким как AirServer, или оборудованию, такому как Apple TV. Для большинства стандартных задач (презентации, обмен фотографиями, демонстрации или личные видеоролики) UxPlay более чем оправдывает ожидания.

Кроссплатформенная поддержка и совместимое оборудование

UxPlay — проект, призванный быть универсальным и адаптируемым. Некоторые ключевые моменты их совместимости:

  • Linux: Встроенная поддержка основных дистрибутивов и сред рабочего стола (GNOME, KDE, XFCE и т. д.)
  • Raspberry Pi: Оптимизировано как для последних (Pi 4, Pi 5), так и для более старых (Zero 2W, 3B+) моделей. Использует Broadcom GPU для декодирования h264/h265.
  • Windows: Есть uxplay-windows с интеграцией иконок в трей и простым визуальным управлением.
  • MacOS: Он работает как альтернатива собственному серверу AirPlay, что особенно полезно на компьютерах, не поддерживаемых Monterey, или со старым оборудованием.

Использование GStreamer упрощает использование ускоренного оборудования (Intel VAAPI, AMD, Nvidia, V4L2 на Raspberry Pi) и позволяет выбирать между аппаратным и программным декодированием в зависимости от контекста.

Варианты использования и практические сценарии

UxPlay и UxPlay Control можно использовать во множестве контекстов. Вот несколько практических примеров:

  • Профессиональные презентации: Просматривайте слайды с iPhone в конференц-зале, используя ПК с Linux, подключенный к проектору.
  • Преподавательская работа: Демонстрируйте примеры или контент с планшета на очных занятиях или в учебных записях.
  • Запись и трансляция: Используйте плавающее окно, созданное UxPlay, для демонстрации экрана вашего мобильного устройства через OBS Studio, Discord или другие приложения для видеоконференций.
  • Домашние развлечения: Наслаждайтесь фотографиями, видео и музыкой с устройств Apple на ПК или Raspberry Pi, подключенном к телевизору.

Во всех случаях единственным требованием является то, чтобы устройства находились в одной локальной сети и были правильно настроены.

Сравнение с другими альтернативами для совместного использования экрана в Linux

В сфере зеркалирования экрана и удаленного управления существует несколько конкурирующих приложений с UxPlay, каждое из которых имеет свои преимущества и недостатки.

AirDroid Каст

AirDroid Cast позволяет вам делиться экраном iPhone на Ubuntu (или Windows/Mac), даже с удаленным управлением, если вы используете его вне Linux. Он предлагает веб-версию для управления без установки дополнительных приложений, но обычно для этого требуется создание учетной записи, а интеграция с AirPlay менее прямая, чем в UxPlay.

TeamViewer

TeamViewer известен удаленной поддержкой, передачей файлов и многопользовательским управлением. Вы можете дублировать экран своего iPhone в Ubuntu, но его основная задача — удаленный доступ, и взаимодействие ограничено.

AnyDesk

AnyDesk отличается скоростью и простотой. Он позволяет вам дублировать свой экран с помощью уникальной кодовой системы, что полезно для быстрого и простого подключения, но пользовательский интерфейс не так интегрирован с AirPlay, как с UxPlay.

Хотя эти альтернативы вполне жизнеспособны, UxPlay превосходит все ожидания, когда приоритетом является использование собственных функций AirPlay в Linux, не полагаясь на внешние серверы или проприетарные учетные записи.

Конкретные параметры для Raspberry Pi

Raspberry Pi — одно из устройств, где UxPlay раскрывается во всей красе благодаря оптимизации и использованию графического оборудования. Чтобы получить максимальную пользу:

  • Аппаратное декодирование h264/h265: Последние модели, такие как Pi 4 и Pi 5, поддерживают видео высокого разрешения, хотя у Pi 5 нет аппаратного декодера h264, и необходимо использовать программное декодирование (достаточное, учитывая дополнительную мощность модели).
  • Пользовательские настройки: Рекомендуется настроить память, выделенную для графического процессора (в ОС Pi, используя «raspi-config» или изменив /boot/config.txt).
  • Монитор не требуется: UxPlay может работать в автономном режиме, в режиме «только аудио» или в качестве медиа-приемника.

Гибкость Raspberry Pi позволяет создавать все: от домашних мультимедийных систем до цифровых вывесок или интерактивных киосков, управляемых с устройств Apple через AirPlay.

Безопасность и контроль доступа

UxPlay объединяет несколько уровней безопасности для предотвращения нежелательных подключений. Можно установить:

  • Аутентификация по PIN-коду: Генерирует случайный код, который может ввести на устройство Apple только тот пользователь, который видит его на терминале.
  • Фиксированный пароль (через -pw): Заставляет инициировать сеанс AirPlay только тех, кто знает ключ.
  • Регистрация «доверенных» устройств: При желании вы можете вести учет устройств, которые успешно прошли аутентификацию с помощью PIN-кода, чтобы вам не приходилось запрашивать его каждый раз при входе в систему.
  • Ограничение по DeviceID: Позволяет создавать белые или черные списки устройств, разрешенных или заблокированных по их уникальному идентификатору (MAC).

Эти варианты идеально подходят для открытых сетей, общественных пространств или сред совместной работы, где требуется определенный контроль над тем, кто просматривает или транслирует контент на экране.

Возможности настройки видео- и аудиопотока

Движок GStreamer от UxPlay обеспечивает полный контроль над качеством потоковой передачи. Среди наиболее продвинутых конфигураций:

  • Пользовательские приемники видео и аудио: Вручную выберите наиболее подходящий плагин GStreamer для вашего оборудования, например vaapisink для Intel, glimagesink для OpenGL или alsasink/pipewiresink/pulsesink для звука.
  • Разрешение и частота кадров: Отрегулируйте размер и максимальную частоту обновления (30 кадров в секунду, 60 кадров в секунду…), чтобы оптимизировать производительность и задержку.
  • Время и задержка: Выберите синхронизацию на основе временных меток (по умолчанию используется зеркальный режим для выравнивания звука и видео) или режим потоковой передачи в реальном времени, чтобы отдать приоритет плавности при мощных соединениях.
  • Регулятор громкости и усиления: Изменение уровня децибел для адаптации выходного звука к окружающей среде.

Эти функции делают UxPlay профессиональным инструментом для создателей контента, музыкантов и всех, кто ищет мультимедийные возможности высочайшего качества.

Обновления и разработки: задел на будущее

UxPlay — динамичный проект с активным сообществом. Некоторые из последних улучшений и новых функций включают в себя:

  • Поддержка HLS Live Streaming (YouTube и другие сервисы): Разрешено с версии 1.71 и выше.
  • Улучшенная поддержка 4K (h265): Начиная с версии 1.70 идеально подходит для контента высокой четкости на мощных устройствах.
  • Расширенное управление пользователями, безопасность и настройка: Новые параметры белого/черного списка, настройка каждого файла, улучшенная система регистрации и улучшенные сообщения об ошибках.
  • Улучшения в интеграции systemd: UxPlay можно управлять как пользовательской службой (демоном) для автоматического запуска и остановки по требованию.

Проект постоянно получает обновления, которые исправляют ошибки, улучшают совместимость и добавляют новые функции, гарантируя, что инструмент останется конкурентоспособным по сравнению с фирменными решениями.

Устранение распространенных проблем

Как и в случае с любым современным программным обеспечением, при настройке UxPlay могут иногда возникать проблемы. Вот несколько решений распространенных проблем:

  • Устройство Apple не видит сервер UxPlay: Проверьте, что все компьютеры находятся в одной сети, что служба avahi-daemon активна и что ни один брандмауэр не блокирует UDP-порты 5353 и TCP/UDP-порты 7000, 7001, 7011 и т. д.
  • Отсутствующие плагины GStreamer: Установите или переустановите соответствующие пакеты (например, gstreamer1.0-plugins-bad, gstreamer1.0-libav или gst-plugins-good/bad/libav в Arch/Manjaro).
  • Проблемы с задержкой или пропаданием звука/видео: Отрегулируйте разрешение, частоту кадров и попробуйте разные видеоприемники (например: glimagesink, ximagesink, vaapisink).
  • В зеркальном режиме отсутствует звук: Некоторые системы требуют установки дополнительных плагинов для декодирования AAC (avdec_aac).
  • Ошибки на Raspberry Pi: Проверьте доступность модуля bcm2835-codec и/или используйте программное декодирование (-avdec).

Инструменты gst-inspect-1.0 и avahi-browse полезны для диагностики установок плагинов и служб соответственно.

История и сообщество UxPlay

UxPlay — это результат обширного сотрудничества в рамках экосистемы с открытым исходным кодом. Его разработка развивалась на основе предыдущих проектов, таких как RPiPlay, ShairPlay или PlayFair, включая технические усовершенствования, оптимизацию для архитектур ARM и улучшенную поддержку графики через GStreamer.

Сообщество поддерживает проект живым посредством постоянных обновлений, документации на GitHub, исправлений для новых версий GStreamer и восприимчивого отношения к ошибкам, предложениям и внешним вкладам.

Это гарантирует, что UxPlay продолжит адаптироваться к изменениям в протоколе AirPlay и требованиям все более требовательных пользователей.

Законность и лицензии

UxPlay распространяется по лицензии GPLv3, разрешающей его свободное использование, модификацию и распространение. Однако при реализации проприетарных протоколов, таких как AirPlay, существуют юридические нюансы, касающиеся распространения двоичных файлов, связанных с определенными библиотеками (например, OpenSSL) в некоторых дистрибутивах.

Проект использует только общедоступную информацию и ресурсы, доступные в Интернете, и предназначен для образовательного и личного использования. Ответственность за соблюдение местного законодательства лежит на конечном пользователе.

Это делает его этичной и безопасной альтернативой многочисленным закрытым коммерческим приемникам AirPlay на рынке.

Краткое изложение передового опыта и заключительные советы

Если вы хотите максимально эффективно использовать UxPlay и его расширение UxPlay Control, помните:

  • Всегда обновляйте операционную систему до последней возможной версии и поддерживайте ее в актуальном состоянии, устанавливая все исправления безопасности.
  • Попробуйте различные комбинации настроек, чтобы адаптировать игру к вашему оборудованию и потребностям.
  • Используйте аутентификацию и списки разрешенных устройств, если вы используете UxPlay в публичных средах.
  • Пожалуйста, ознакомьтесь с официальной документацией и свяжитесь с сообществом, если возникнут какие-либо конкретные вопросы.

Проявив немного терпения и поэкспериментировав, вы откроете для себя весь потенциал UxPlay, позволяющий разрушить барьеры между экосистемой Apple и программным обеспечением с открытым исходным кодом, наслаждаясь бесшовной, профессиональной и настраиваемой интеграцией, которая идеально подходит для любого коммерческого решения.