Как использовать Android-устройство в качестве дополнительного дисплея в Linux

Кто-нибудь может подсказать, как использовать Android-устройство в качестве второго монитора для расширения дисплея?

Я нашел приложение под названием «spacedesk», но оно доступно только для Windows.

Может ли кто-нибудь предложить способ сделать это или установить приложение?

3
28.06.2020, 18:44
2 ответа

Есть три шага, чтобы сделать то, что вы хотите:

  1. Настройте один из неиспользуемых видеовыходов -для «отображения» части вашего рабочего стола.

  2. Запустите сервер VNC только на той части экрана, которая «отображается» на отсутствующем мониторе.

  3. Просмотрите сервер VNC на своем клиенте Android.

Я пройдусь по каждому из них по очереди. #1 является самым сложным, потому что это зависит от типа вашей видеокарты. У меня есть карта NVIDIA, поэтому для меня требуется следующее:

  • В разделе Section "Device"моего файла xorg.confя размещаю следующее:

    Option "ConnectedMonitor" "DP-0,DP-4"
    

    Документация предполагает, что вы также можете сделать это в разделе "Screen", но в действительности это не работает. Также обратите внимание, что имена DP-0и DP-4взяты из вывода xrandr. Похоже, что использование виртуального гирляндного -порта дисплея не работает, поэтому, если у вас есть проблемы с последовательным использованием DP-0и DP-1, просто попробуйте что-нибудь подальше. Имена DP-*являются псевдонимами, и вы можете найти канонические имена в вашем файле /var/tmp/Xorg.0.log. В моей системе каноническими именами являются DFP-1и DFP-5.

    Я читал, что это может быть даже проще с Intel Video , чем с NVIDIA, но у меня нет -опыта.

  • В разделе Section "Screen"ставлю:

    Option "nvidiaXineramaInfoOrder" "DP-0,DP-4"
    Option "metamodes" "DP-0: 2560x1440+0+0, DP-4: 2560x1440+2560+0"
    

Для #2 я успешно использовал два варианта:x11vnc и программу x0vncserver, поставляемую с tigervnc . В первом случае ваша команда может выглядеть так (после того, как вы установили пароль с помощью vncpasswd,который поставляется сtigervnc):

x11vnc -rfbauth "$HOME/.vnc/passwd" -N -xinerama -clip xinerama1 -display :0 -forever -bg

Примечание x11vncпредложит использовать опцию -ncache, что нормально, но каким-то образом мой VNC-клиент по умолчанию показывает кеш пикселей, что сбивает с толку. Вы можете масштабировать клиент, чтобы скрыть кеш пикселей, или просто не использовать -ncache. Для дополнительной безопасности также рассмотрите возможность добавления -viewonly. (Я не использую это, потому что я использую стилус для ввода на моем устройстве Android.)

Опция tigervnc означает выполнение такой команды:

x0vncserver -rfbauth "$HOME/.vnc/passwd" -Geometry 2560x1440+2560+0 -rfbport 5900 -display :0 &

Для #3 существует множество бесплатных/бесплатных и платных -клиентов VNC для Android. Для бесплатных вы можете проверить AndroidVNC и MultiVNC . Лично я использую проприетарный клиент Remotix VNC , потому что это единственный, который я нашел, -работающий со стилусом, но если вам просто нужен дисплей, я думаю, что бесплатные версии лучше.

3
18.03.2021, 23:24

Вы можете использовать Android-устройство (s )как (дополнительный )X -Сервер (s):

  • Установить, например. XSDL Xserver на устройстве Android (s )и запустите его.
  • Установите размер DPI/шрифта для этого X-сервера.
  • Необязательно, но лучше :Установите adb на свой компьютер
  • Необязательно, но лучше :Подключите устройство через USB, чтобы избежать передачи по Wi-Fi)
  • Необязательно, но лучше:adb forward tcp:6100 tcp:6000
    (Для дополнительных устройств увеличьте 6100до 6101и т. д.)
  • Задайте переменную отображения :
    • Если вы сделали необязательную часть:export DISPLAY=:100
    • Если нет:export DISPLAY=<Android-Wifi-IP>:0
  • Запустите приложение для отображения :, например. xterm+tmux или клиент emacs -
  • Теперь вы используете из вашего менеджера пакетов или из github для отправки событий ввода-вывода:x2x --to:100 --west. (Это «телепортирует» ваши устройства ввода на другой экран, как только вы нажмете на левую границу основного экрана,и обратно)

В отличие от другого ответа, это решение не ограничивает количество внешних дисплеев, которые вы можете использовать.

XSDL Xserver также включает сервер pulseaudio, который может использовать устройство Android в качестве дополнительных динамиков. Установите IPWEBCAM, если вы также хотите использовать свой планшет/телефон в качестве (n дополнительной )веб-камеры.

1
18.03.2021, 23:24

Теги

Похожие вопросы