Я заметил людей, использующих продукт для Windows и Mac под названием iDisplay, который позволяет вам использовать ваш Android или iPad в качестве дополнительного дисплея. Это кажется отличной идеей, и то, что можно сделать в Ubuntu. К сожалению, я понятия не имею, с чего начать.
Как вы можете воссоздать эту настройку в Ubuntu?
multiple-monitors
android
Марк Б
источник
источник
Ответы:
Получите VNC-клиент для Android, запустите новый сеанс VNC-сервера на вашем компьютере (не просто делитесь текущим дисплеем - используйте vnc4server, а не x11vnc), подключитесь к нему с помощью VNC-клиента Android и (умный бит) поделитесь ПК клавиатура и мышь между двумя сеансами с помощью синергии.
Все необходимое программное обеспечение для этого доступно в стандартных репозиториях для Ubuntu, и на рынке доступно несколько бесплатных VNC-клиентов для Android.
Вы не сможете перетаскивать окна через дисплеи, используя этот метод. Для этого, я думаю, вам нужно использовать Xdmx для связи двух сессий. Это намного сложнее и, вероятно, приведет к потере 3D-ускорения.
Также имейте в виду, что synergy и vnc не используют шифрование по умолчанию, поэтому вам нужно туннелировать соединения, если вы не в доверенной сети.
источник
ТЛ; Доктор:
xrandr --fb
иx11vnc --clip
вместе сделать убийственную комбо.В теме, связанной с узнаваемостью, есть очень интересная идея, не уверен, имел ли он в виду это, потому что я не смог найти автора, которого он указал, а также потому, что я следил за сообщением на форуме, я буду публиковать это отдельно, а не как редактирование. :
Во-первых, давайте предположим, что основной компьютер имеет разрешение экрана 1280x800, а дополнительный компьютер, на который вы хотите расширить рабочий стол до VNC, имеет разрешение экрана 1280x1024, и вы хотите, чтобы расширенный экран находился справа от основного экрана. Виртуальный экран должен быть
1280x800 + 1280x1024 = 2560x1024
. (вытяните его горизонтально и сделайте вертикальное разрешение больше)xrandr --fb 2560x1024
.Теперь, когда экран больше, чем ваш основной монитор, вы должны убедиться, что нет панорамирования или любой другой нежелательной «функции», а также что координаты верхнего левого угла вашего основного монитора равны 0x0.
x11vnc -clip 1280x1024+1281+0
плюс добавить любые другие варианты x11vnc по вкусу :)Это должно быть так.
источник
xrandr --fb 2560x1024
, похоже, не имеет никакого эффекта. Это означает, что у меня не может быть экрана большего размера, чем мой основной размер монитора ... :(X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 29 Current serial number in output stream: 30
ошибку. Я предполагаю, что мой ноутбук не поддерживает более высокое разрешение, чем родное1600*900
. Это означает, что это решение не может работать. Вместо этого мне придется найти решение с двойным экраном.sudo xrandr --fb 2732x768 --output LVDS1 --panning 2732x768+0+0/2732x768+0+0
(мне не хватало--panning
опции)Не могли заставить другие ответы работать, кроме этого , что связано без нареканий.
Это позволяет использовать Android в качестве второго монитора, совместно использовать мышь, перетаскивать окна между планшетом и компьютером.
Вот пошаговое руководство, запрошенное в комментариях.
А. Учебное пособие
1. Создайте новый виртуальный монитор
Разрешение моего планшета 1280х1024. (Вы можете изменить
1280
и1024
везде в командах, если ваш планшет имеет другое разрешение. Вам также может потребоваться изменить,LVDS1
если имя монитора по умолчанию другое).Запустите в терминале:
gtf 1280 1024 60
.В выводе есть строка, аналогичная
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
. Скопируйте все после словаModeline
(исключите его) в следующую команду.xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
xrandr --addmode VIRTUAL1 1280x1024_60.00
xrandr --output VIRTUAL1 --mode 1280x1024_60.00 --left-of LVDS1
2. Запустите VNC
x11vnc -clip 1280x1024+0+0
3. Подключите с помощью Android (LAN (Wi-Fi) или USB (кабель))
Найдите IP вашего компьютера с помощью
ifconfig
(при подключении из локальной сети).Загрузите приложение VNC и подключитесь к компьютеру, используя его IP-адрес (и выбрав порт
5900
) в приложении.Извещения
-listen <IP_ADDR>
возможность добавления интерфейсаx11vnc
(где<IP_ADDR>
находится адрес компьютера в сети, к которому вы хотите предоставить эксклюзивный доступ))Б. Сценарий
Учебник реализован в виде скрипта (измените IP для использования с USB-кабелем ИЛИ удалите его и раскомментируйте строку для использования с Wi-Fi).
источник
x11vnc -clip 1280x1024+0+0
можно заменить наx11vnc -clip xinerama1
. Кроме того,--left-of LVDS1
это не является строго необходимым, если вы в последний раз собираетесь использоватьMonitors
приложение настроек, чтобы расположить дополнительный монитор в любом месте.xrandr: cannot find output "VIRTUAL1"
был возвращен, когда я наберу номер 3. Есть идеи?xrandr: cannot find output "VIRTUAL1"
вернулся изxrandr --addmode VIRTUAL1 1280x800_60.00
VIRTUAL1
кажется заполнителем для такого вывода, а не чем-то присутствующим в типичной системе.vnc4server
иx2x
.Затем настройте
.vnc/xstartup
файл конфигурации. Моя выглядит такОн запускает рабочий стол gnome-fallback (я не знаю, как запустить gnome 3 в vnc).
vnc4server -geometry 800x480
команду. Конечно, вместо 800x480 вы должны установить разрешение вашего планшета.x2x -east -to :1
. Эта команда говорит, что ваш компьютер работает так, как если бы дисплей: 1 был справа от экрана (используйте-west
опцию, если вы хотите, чтобы он был слева). Вы не сможете перемещать приложения с одного дисплея на другой, но вы можете использовать одну мышь и одну клавиатуру для управления ими обоими.vnc4server
вашем планшете (номер порта 5900 + номер дисплея (например, для дисплея: 1 номер порта будет 5901) (номер дисплея отображается вvnc4server
выходных данных).x2x
нажмитеCtrl-C
. Кроме того, вы можете запустить его в фоновом режиме (x2x -east -to :1 &
). Затем вам сначала нужно переместить его на передний план (fg
) или убить егоkill $!
(будьте осторожны, это убивает последний процесс, запущенный в фоновом режиме).vnc4server -kill :1
, где вместо:1
вас можно установить номер вашего нового дисплея.источник
x2x
, найти этот пост с помощью поиска x2x Android на Google ... Но +1 для.vnc/xstartup
, особенно дляunset DBUS_SESSION_BUS_ADDRESS
!! Небольшой, но богатый и очень полезный пост, спасибо!Это в принципе возможно при использовании xdmx (распределенная мультиголовка X), которая позволяет создавать один рабочий стол с использованием двух X-серверов, работающих на разных компьютерах.
в принципе возможны три сценария, но ни один из них не является таким же плавным, как iDisplay, поскольку все они требуют как минимум перезапуска X-сессии. Я не смог заставить их работать идеально, но я использую Ubuntu 10.10 и не могу выполнить обновление по разным причинам. Три из них:
1: запустите X-сервер на Android (в магазине приложений доступно два) и используйте xdmx для объединения с дисплеем вашего компьютера или ноутбука. - у меня не сработало, потому что xdmx упал, когда указатель переместился на планшетную часть рабочего стола.
2. Запустите второй X-сервер с бэкэндом vnc на своем компьютере, используйте xdmx, чтобы объединить его в один рабочий стол с экраном вашего компьютера, затем посмотрите на виртуальную часть с помощью средства просмотра vnc на планшете - у меня не получилось, потому что xdmx требует, чтобы все x-серверы имели одинаковые цветовые изображения, что не относится к vncserver и реальному дисплею, и я не смог убедить vncserver измениться.
3: запустите два vncservers, по одному для каждого экрана, затем соедините их с xdmx и посмотрите на каждую часть с vncviewer на соответствующем компьютере. - Это было ближе всего к работе у меня, к сожалению, ввод был испорчен. это было также довольно медленно в истинном цвете по Wi-Fi. Я использовал этот скрипт для запуска xdmx и vncs:
YMMV
источник
Я сделал простой bash-скрипт, чтобы сделать планшет вторым дисплеем. Скопируйте
ipad_monitor.sh
(не волнуйтесь. Это также работает с Android) в моем блоге .Что отличается от другого поста, так это то, что вы можете очень легко установить положение второго экрана с дополнительным аргументом.
Изменить: я включил оригинал
ipad_monitor.sh
здесь. выполните эту команду как:./ipad_monitor.sh --right
или же./ipad_monitor.sh --left
./ipad_monitor.sh --right --portrait
./ipad_monitor.sh --right --portrait --hidpi
Основная идея этого сценария такой же , как и другие, бег
xrandr
и ,x11vnc
но я включил опции , как , с какой стороны вы хотели бы, чтобы прикрепить экран.источник
Я использую фиктивный драйвер xorg и x11vnc -clip. Точка мыши не застряла на краю.
На
/etc/X11/xorg.conf
втором экране есть драйвер для фиктивного драйвера:Затем войдите в X сессию и запустите:
источник
Эти инструкции предназначены для создания «дополнительного» экрана для вашей машины linux с помощью планшета или любого компьютера через клиент VNC.
Я сделал эти шаги в Mageia3 32Bit (не пробовал 64bit), но должен быть похожим и для других дистрибутивов (например, Ubuntu).
Убедитесь, что у вас есть все необходимые пакеты с помощью следующей команды терминала:
Когда у вас есть все вышеперечисленные пакеты, выполните следующие команды:
Если вы не получили никаких ошибок, исправьте Xdmx (проще говоря, он «сломался» в течение некоторого времени):
открыть
/usr/share/x11-server-sources/hw/dmx/input/dmxevents.c
и изменить строку 730: изменить это:к этому:
Если строка 730 отличается, используйте этот раздел, чтобы найти правильную строку: Orginal section - строка для изменения, помеченная *
Проверьте свою версию Xdmx, запустив
./configure --version
in/usr/share/x11-server-source/
, для Xdmx 1.13 и старше вы также должны внести эти изменения (для 1.14 и новее вы можете перейти к шагу «make» ниже):открыть
/usr/share/x11-server-sources/dix/getevents.c
, строка 1395: изменить это:К этому:
(Исходный раздел - строка для изменения отмечена *)
открыть
/usr/share/x11-server-sources/Xext/xtest.c
, строка 311: изменить это:к этому:
(оригинальный раздел - строка для изменения отмечена *)
/usr/share/x11-server-sources/include/input.h
, строка 73: добавьте эту строку после строки, начинающейся с#define POINTER_EMULATED
:После внесения вышеуказанных изменений, повторно выполните (в
/usr/share/x11-server-sources/
):У вас должен быть новый файл Xdmx
/usr/share/x11-server-sources/hw/dmx/
. Нам нужно установить его глобально для простоты, поэтому я рекомендую переименовать существующий:и скопируйте новый вместо него:
Теперь вы готовы выполнить свою первую пробную версию. Следующие команды позволяют вам поддерживать основной / существующий дисплей (
:0
) в рабочем состоянии и открывать новый дисплей с поддержкой нескольких мониторов. Я использую icewm с этими командами, чтобы сделать его немного более легким (я использую KDE на своем главном дисплее:0
и открываю любое приложение с большим количеством мониторов на новом дисплее с несколькими головками). Вы можете определенно написать эти команды для простоты использования (это то, что я сделал). Любая из этих команд может быть выполнена в окне консоли и / или терминала любого дисплея, единственное требование - чтобы они выполнялись по порядку.Эта команда создает ваш новый дисплей как буфер кадров для вашего дисплея VNC
:2
(отрегулируйте размер экрана по желанию):Это запускает новый легкий сеанс X на вашем физическом дисплее как дисплей
:1
(есть разные способы сделать это):Эта команда запускает мультидисплей между вашим физическим экраном и виртуальным экраном и запускает icewm для оконного менеджера:
Теперь откройте окно терминала и запустите сервер vnc (измените пароль по желанию):
Теперь остается только запустить клиент VNC и подключиться к нему - вам может потребоваться отключить или добавить исключение для брандмауэра для порта 5900, чтобы вы могли подключиться к нему. Следует также помнить, что некоторые клиенты VNC не отображают положение удаленного курсора. Я подтверждаю, что Mocha VNC для iOS прекрасно работает, если вы отключите опцию «локальная мышь».
Наслаждайтесь перетаскиванием окон между вашим основным монитором и вашим новым виртуальным вторым монитором (при этом вы также можете использовать планшет, чтобы нажимать / печатать на вещах на втором мониторе).
Чтобы закрыть Xdmx, нажмите Ctrl+ Alt+ Backspaceдважды.
Автоматизация:
Я использую этот bash-скрипт для запуска всего процесса (также убивает Xvfb при выходе):
Тогда у меня есть пользовательский
~/.xinitrc
файл с этим:Поиск неисправностей:
При запуске Xdmx, если вы получили сообщение об ошибке
sh: /usr/local/bin/xkbcomp: No such file or directory
, возможно, вам нужно выполнить execute:, аcd /usr/local/bin" and "ln -s /bin/xkbcomp
затем попробуйте снова Xdmx.Ctrl+ Alt+ F1сквозной F7режим должен работать в Xdmx для переключения на другие консоли / xsessions, но по какой-то причине он не работает, я просто выполняю
sudo chvt X
команду (где X - номер консоли / xsession), чтобы переключиться на мой основной дисплей. Также, когда вы переключаетесь обратно на Xdmx, вы можете столкнуться с некоторыми проблемами при рисовании в любых открытых окнах, я просто нажимаю на панели задач, чтобы скрыть / показать окно снова, вызывая перерисовку.источник
Спасибо за уроки, ребята, я поделюсь с вами тем, что сработало для меня в Ubuntu 14.04.
Загрузите AndroidVNC здесь для своего планшета
Получите x11vnc для вашего компьютера с Ubuntu, запустив
Я должен был использовать метод Xorg Dummy Driver. Вот как выглядит мой файл /etc/X11/xorg.conf:
Вам, вероятно, там не нужно все, просто запустите X -configure, чтобы получить автоматическую настройку системы и добавить фиктивные разделы (между звездочками) в ваш файл. Разрешение для фиктивного экрана в xorg.conf должно соответствовать ширине вашего основного монитора + разрешающей способности вашего планшета, в моем случае 1680 + 1024 = 2704, сохраняйте высоту основного монитора, в моем случае 1050. Перезапустите X server / Reboot / Pull power plug, что угодно подходит вам больше :).
Запустите x11vnc, выполнив
Здесь разрешением должна быть ширина вашего планшета х высота планшета + ширина основного дисплея + 0
Подключитесь к своему ПК с помощью клиента androidVNC, обязательно включите опцию localmouse. Так и должно быть, теперь почувствуй странность запуска linux на Android :)
источник
У меня было много проблем с другими методами, перечисленными здесь. Хотелось бы, чтобы у меня было лучшее решение, но мое медленное и простое решение - хорошая отправная точка.
Для VNC-сервера я попробовал
vncserver
пакет, но экран стал бы черным, и мне пришлось бы перезагрузить компьютер,gdm
чтобы все снова заработало. Я переключился на,tightvncserver
и он работал в первый раз без конфигурации.Чтобы разделить мышь / клавиатуру между экранами, я использовал x2vnc . Это также можно использовать с win2vnc для совместного использования мыши / клавиатуры с ПК с Windows рядом с ПК с Linux.
Финальные команды:
На этом этапе вы сможете открыть второй экран в программе VNC, подключившись к
YOUR_IP_ADDRESS:1
. Чтобы запустить программу на экране VNC, откройте терминал, установитеDISPLAY
и запустите команду. Например, чтобы открытьxterm
на VNC «экран», запустите:При таком подходе второй экран довольно медленный. Тем не менее, многие другие варианты, которые я пробовал, зашли в тупик, и этот работал вообще без конфигурации.
источник
Для тех, кто все еще интересуется этой темой: клип xrandr и x11vnc работает; чтобы включить мышь, вам нужно использовать аргумент панорамирования, чтобы установить область отслеживания мыши:
Тогда при запуске xvnc используйте:
Это останавливает VNC от попытки использовать собственное отслеживание курсора и рисует курсор как часть изображения на экране.
Я сделал заметки здесь http://mikescodeoddities.blogspot.ae/2015/04/android-tablet-as-second-ubuntu-screen.html
источник
TL; DR :
Теперь просто нажмите на окно, которым вы хотите поделиться.
ПОЛНЫЙ :
У меня есть IPad и Chromebook , и я хотел бы использовать их в качестве своих мониторов, просто УСО некоторые терминальные команды
htop
,iptstate
,nmon
и т.д.. Итак, я ленивый парень и сделал это с помощью:sudo apt-get install x11vnc
Откройте какой-нибудь терминал и
xwininfo | awk '/Window.id/{print $4}'
вставьте его в окно, которым вы хотите поделиться. Результат будет примерно таким:Теперь вы можете начать
x11vnc
сеанс:Измените размер окна (0x4402f34), чтобы получить максимально возможное изображение.
Имейте в виду соответствующий порт вашей сессии :
5900 -> :0
,5901 -:1
,5902 -> :2
...Кроме того, отлично работает с приложениями X11: Firefox, OpenOffice и т. Д.
источник
Использовать vnc_virtual_display_linker
Инструмент настраивает второй виртуальный монитор для соединения с VNC, как описано во многих предыдущих ответах. Он даже поддерживает подключения устройств Android с помощью USB-кабеля.
источник