Как вы используете планшет Android в качестве второго дисплея?

51

Я заметил, что люди, использующие продукт для Windows и Mac, называли iDisplay , который позволяет использовать ваш Android или iPad в качестве дополнительного дисплея. Это кажется отличной идеей и что-то, что можно сделать на Ubuntu. К сожалению, я не знаю, как начать.

Как вы могли воссоздать эту настройку на Ubuntu?

    
задан Mark B 01.03.2011 в 18:55
источник

12 ответов

27

Получите клиент VNC для Android, запустите новый сеанс сервера VNC на своем компьютере (не просто обменивайтесь текущим дисплеем - используйте vnc4server, а не x11vnc), подключитесь к нему с клиентом Android VNC и (умный бит ) совместно используйте клавиатуру и мышь ПК между двумя сеансами, используя синергию.

Все необходимое программное обеспечение для этого доступно в стандартных репозиториях для Ubuntu, и есть несколько бесплатных VNC-клиентов, доступных для Android на рынке.

Вы не сможете перетаскивать окна через дисплеи с помощью этого метода. Для этого я думаю, вам нужно будет использовать Xdmx для соединения двух сеансов. Это намного сложнее и, вероятно, приведет к потере 3D-ускорения.

Также имейте в виду, что synergy и vnc по умолчанию не используют шифрование, поэтому вам нужно туннелировать соединения, если вы не находитесь в доверенной сети.

    
ответ дан Alistair Buxton 18.03.2011 в 05:11
источник
12

TL; dr: xrandr --fb и x11vnc --clip вместе создают комбайн-убийцу.

Нить, связанная с распознаванием, имеет действительно интересную идею, не уверен, имел ли он в виду это, потому что я не мог найти автора, которого он указал, а также потому, что я следил за ним на форуме, я отправлю это отдельно, а не как редактирование:

  1. Во-первых, предположим, что основная машина имеет разрешение экрана 1280x800, а вторичная машина, на которой вы хотите расширить рабочий стол до более VNC, имеет разрешение экрана 1280x1024 и вы хотите, чтобы расширенный экран был справа от вашего основной экран. Виртуальный экран должен быть 1280x800 + 1280x1024 = 2560x1024 . (растяните его горизонтально и сделайте вертикальное разрешение больше из двух). Итак, запустите xrandr --fb 2560x1024 .

  2. Теперь, когда экран больше вашего основного монитора, вы должны убедиться, что нет панорамирования или какой-либо другой нежелательной «функции», а также, что координаты верхнего левого угла вашего основного монитора равны 0x0.

  3. x11vnc -clip 1280x1024+1281+0 плюс добавить любые другие параметры x11vnc по вкусу:)

Это должно быть.

    
ответ дан chx 13.01.2013 в 01:34
11
  1. Установите vnc4server и x2x .
  2. Затем настройте файл конфигурации .vnc/xstartup . Моя выглядит так

    #!/bin/sh
    # Uncomment the following two lines for normal desktop:
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    # exec /etc/X11/xinit/xinitrc
    
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    #vncconfig -iconic &
    #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
    #x-window-manager &
    exec gnome-session
    

    Он запускает gnome-fallback desktop (я не знаю, как сделать запуск gnome 3 в vnc).

  3. Чтобы запустить сервер vnc, используйте команду vnc4server -geometry 800x480 . Конечно, вместо 800x480 вам нужно установить разрешение планшета.
  4. Запустить x2x -east -to :1 . Эта команда говорит, что ваш компьютер действует как дисплей: 1 был справа от экрана (используйте параметр -west , если вы хотите, чтобы он находился слева). Вы не сможете перемещать приложения с одного дисплея на другой, но вы можете использовать одну мышь и одну клавиатуру для управления ими обоими.
  5. Подключитесь к дисплею, созданному с помощью vnc4server с вашего планшета (номер порта - 5900 + номер дисплея (например, для отображения: 1 номер порта будет 5901) (номер дисплея отображается на выходе vnc4server ) ).
  6. Чтобы выйти из x2x , нажмите Ctrl-C . Кроме того, вы можете запустить его в фоновом режиме ( x2x -east -to :1 & ). Затем вам нужно будет перенести его на передний план ( fg ) или убить его kill $! (будьте осторожны, он убивает последний процесс, запущенный в фоновом режиме).
  7. Чтобы удалить созданный экран, вызовите vnc4server -kill :1 , где вместо :1 вы можете установить номер нового дисплея.
ответ дан passick 11.06.2013 в 09:19
7

Это в принципе возможно с помощью xdmx (распределенного multihead X), который позволяет вам создать один рабочий стол с использованием двух X-серверов, работающих на разных машинах.

в принципе возможны три сценария, но ни один из них не является таким же простым, как iDisplay, потому что все они требуют перезапуска X-сессии по крайней мере. Мне не удалось нормально работать, но я запускаю Ubuntu 10.10 и не могу обновляться по разным причинам. Эти три:

1: запустите X-сервер на андроиде (теперь есть два доступных в магазине приложений) и используйте xdmx для объединения с дисплеем вашего рабочего стола или ноутбука. - не работал для меня, потому что xdmx разбился, когда указатель переместился на планшетную часть рабочего стола.

2: запустите второй X-сервер с vnc-файлом на вашем компьютере, используйте xdmx, чтобы объединить его в один рабочий стол с экраном вашего компьютера, а затем посмотрите на виртуальную часть с помощью vnc-просмотра на планшете - не работали потому что xdmx требует, чтобы все x-серверы имели одни и те же цветные изображения, что не относится к vncserver и реальному дисплею, и я не смог убедить vncserver измениться.

3: запустите два vncservers, по одному для каждого экрана, затем подключите их к xdmx и посмотрите на каждую часть с помощью vncviewer на соответствующей машине. - Это было ближе всего к работе для меня, к сожалению inpout был испорчен. он также был довольно медленным в истинном цвете по Wi-Fi. Я использовал этот скрипт для запуска xdmx и vncs:

#!/bin/sh 
vncserver :2 -geometry 1024x768 -depth 24 && \
vncserver :3 -geometry 1920x1120 -depth 24 && \
startx -- \
/usr/bin/X11/Xdmx :1 \
-input :2 \
-display :2 \
-display :3 \
-ignorebadfontpaths \
-norender \
-noglxproxy \
+xinerama \
-nomulticursor
vncserver -kill :2 
vncserver -kill :3

YMMV     

ответ дан Felix 16.09.2012 в 21:41
7

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

A. Учебник

1. Создать монитор

(Обратите внимание: измените 1280 и 1024 , чтобы изменить настройку разрешения по умолчанию 1280x1024. Вам также может потребоваться изменить LVDS1 , если имя монитора по умолчанию отличается).

Запустить в терминале:

  1. $ gtf 1280 1024 60 .

На выходе есть строка, аналогичная Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync . Скопируйте все после слова Modeline (исключите его) в следующую команду.

  1. <р> xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
  2. <р> xrandr --addmode VIRTUAL1 1280x1024_60.00
  3. <р> xrandr --output VIRTUAL1 --mode 1280x1024_60.00 --left-of LVDS1

2. Запустить VNC

  1. x11vnc -clip 1280x1024+0+0

3. Подключение к Android (LAN (Wi-Fi) или USB (кабель))

  1. Найдите IP-адрес вашего компьютера, используя ifconfig (при подключении к локальной сети).

  2. Загрузите приложение VNC и подключитесь к компьютеру, используя его IP (и выбрав порт 5900 ) в приложении.

Уведомления

  • Кредиты: kjans , содержимое отредактировано.
  • ПРЕДУПРЕЖДЕНИЕ : данные не зашифрованы! (Релевантно для использования Wi-Fi и не LAN)
  • ПРЕДУПРЕЖДЕНИЕ . Любая подключенная к сети сеть, к которой вы можете подключиться, может подключиться к вашему монитору! (Не проблема при использовании USB и ограничение интерфейса, добавив -listen <IP_ADDR> к x11vnc (где <IP_ADDR> - адрес компьютера в сети, который вы хотите предоставить эксклюзивный доступ))
  • Запуск любого из 1 - 4 шагов в два раза может привести к ошибкам.
  • После успешного использования, 5. шаг должен быть повторен для другого соединения.

В. Сценарий

Учебник реализован как сценарий (измените IP-адрес для использования с USB-кабелем или удалите его и раскомментируйте линию, используемую с Wi-Fi).

#!/bin/bash
W=1280
H=800
O=VIRTUAL1
if [ "" == "create" ]; then
    gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | xargs xrandr --newmode
    # sed: get third line, delete 'Modeline', get first word, remove first and last characters
    gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print ;}' | sed 's/^.\(.*\).$//' | xargs xrandr --addmode $O
    gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print ;}' | sed 's/^.\(.*\).$//' | xargs xrandr --output $O --left-of LVDS1 --mode
elif [ "" == "on" ]; then
    x11vnc -listen 192.168.42.149 -clip ${W}x${H}+0+0
    # For use in Wi-Fi LAN.
    #x11vnc -clip ${W}x${H}+0+0 #**WARNING** Unencrypted stream. VNC accessible without password through port 5900 in all internet interfaces.
else
    echo "missing argument: [create | on]"
fi
    
ответ дан Prometheus 26.03.2016 в 19:53
2

Я использую драйвер xorg dummy и x11vnc -clip. Точка мыши не застревает на краю.

sudo apt-get install xserver-xorg-video-dummy

На втором экране есть /etc/X11/xorg.conf для фиктивного драйвера:

Section "Device"
        Identifier      "Configured Video Device"
    Driver "radeon"         #CHANGE THIS
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection


##Xdummy:##
Section "Device"
  Identifier "Videocard0"
  Driver "dummy"
  #VideoRam 4096000
  VideoRam 256000
EndSection

##Xdummy:##
Section "Monitor"
  Identifier "Monitor0"
#  HorizSync   10.0 - 300.0
#  VertRefresh 10.0 - 200.0
#  DisplaySize 4335 1084
EndSection

##Xdummy:##
Section "Screen"
  Identifier "Screen0"
  Device "Videocard0"
  Monitor "Monitor0"
EndSection



Section "ServerLayout"
  Identifier   "dummy_layout"
  Screen       0 "Default Screen"
  Screen       1 "screen0" rightof "Default Screen"
    Option         "Xinerama" "1"
EndSection

Затем войдите в X-сеанс и запустите:

x11vnc -clip 1024x768+1280+0
    
ответ дан mirage 08.02.2013 в 22:25
1

Эти инструкции предназначены для создания «дополнительного» экрана для вашей Linux-машины с помощью планшета или любого компьютера через клиента VNC.

Я сделал эти шаги в Mageia3 32Bit (не пробовал 64-битный), но должен быть аналогичным для других дистрибутивов (т. е. Ubuntu).

Убедитесь, что у вас есть все необходимые пакеты со следующей командой терминала:

sudo apt-get install gcc autoconf automake x11-font-util libtool libxi-devel ibopenssl-devel libxfont1-devel libpam-devel x11-util-macros x11-xtrans-devel x11-server-xvfb x11-server-xdmx x11-server-devel x11-server-source

После того, как у вас есть все вышеперечисленные пакеты, выполните следующие команды:

cd /usr/share/x11-server-sources/
./autogen.sh
./configure --with-fontrootdir=/usr/share/fonts --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/usr/share/X11/xkb/compiled --enable-dmx
make

Если вы не получите никаких ошибок, исправьте Xdmx (просто положите, он был «сломан» в течение некоторого времени):

откройте /usr/share/x11-server-sources/hw/dmx/input/dmxevents.c и измените строку 730:  измените это:

POINTER_ABSOLUTE | POINTER_SCREEN, &mask);

:

POINTER_RELATIVE | POINTER_DESKTOP, &mask);

IF линия 730 используется в этом разделе для поиска правильной строки: Orginal section - строка для изменения, отмеченная *

    case ButtonPress:
    case ButtonRelease:
        detail = dmxGetButtonMapping(dmxLocal, detail);
        valuator_mask_zero(&mask);
        QueuePointerEvents(p, type, detail,
 *                         POINTER_RELATIVE | POINTER_DESKTOP, &mask);
        return;

Проверьте свою версию Xdmx, запустив ./configure --version в /usr/share/x11-server-source/ , для Xdmx 1.13 и старше вам также придется внести эти изменения (для версии 1.14 и более поздней версии вы можете перейти к "make" шаг ниже):

открыть /usr/share/x11-server-sources/dix/getevents.c , строка 1395:     измените это:

if (flags & POINTER_SCREEN ) {    /* valuators are in screen coords */

Для этого:

if (flags & ( POINTER_SCREEN | POINTER_DESKTOP) ) {    /* valuators are in screen coords */

(Исходный раздел - строка для изменения отмечена *)

    /* valuators are in driver-native format (rel or abs) */

    if (flags & POINTER_ABSOLUTE) {
*       if (flags & POINTER_SCREEN ) {    /* valuators are in screen coords */
            sx = valuator_mask_get(&mask, 0);
            sy = valuator_mask_get(&mask, 1);

открыть /usr/share/x11-server-sources/Xext/xtest.c , строка 311:     измените это:

flags = POINTER_ABSOLUTE | POINTER_SCREEN;

:

flags = POINTER_ABSOLUTE | POINTER_DESKTOP;

(исходный раздел - строка для изменения отмечена *)

       case MotionNotify:
            dev = PickPointer(client);
            valuators[0] = ev->u.keyButtonPointer.rootX;
            valuators[1] = ev->u.keyButtonPointer.rootY;
            numValuators = 2;
            firstValuator = 0;
            if (ev->u.u.detail == xFalse)
*               flags = POINTER_ABSOLUTE | POINTER_DESKTOP;
            break;

/usr/share/x11-server-sources/include/input.h , строка 73: Добавьте эту строку после строки, начинающейся с #define POINTER_EMULATED :

#define POINTER_DESKTOP         (1 << 7)

После внесения вышеуказанных изменений заново выполните (в /usr/share/x11-server-sources/ ):

make

У вас должен быть новый файл Xdmx в /usr/share/x11-server-sources/hw/dmx/ . Нам нужно установить это глобально для удобства, поэтому я рекомендую переименовать существующий:

sudo mv /bin/Xdmx /bin/Xdmx-old

и скопируйте новый вместо него:

cp /usr/share/x11-server-sources/hw/dmx/Xdmx /bin

Теперь вы готовы выполнить первую пробную версию, следующие команды позволяют сохранить ваш основной / существующий дисплей ( :0 ) и открыть новый дисплей с поддержкой нескольких мониторов. Я использую icewm с этими командами, чтобы сделать его немного более легким (я использую KDE на моем основном дисплее :0 и открываю любое приложение с большим количеством мониторов на новом многостраничном дисплее). Вы можете определенно списать эти команды для удобства использования (это то, что я сделал). Любая из этих команд может быть выполнена в окне консоли и / или терминала любого дисплея, единственное требование состоит в том, чтобы они выполнялись в порядке.

Эта команда создает новый дисплей в качестве буфера кадров для вашего VNC-дисплея :2 (при необходимости отрегулируйте размер экрана):

Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &

Это начинает новый легкий X-сеанс на вашем физическом дисплее в виде отображения :1 (есть разные способы сделать это):

startx 'icewm' -- :1

Эта команда запускает мультидисплей между вашим физическим экраном и виртуальным экраном и запускает icewm для диспетчера окон:

Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm

Теперь откройте окно терминала и запустите сервер vnc (смените пароль по желанию):

x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe &

Единственное, что осталось сделать - это запустить ваш клиент VNC и подключиться к VNC - , вам может потребоваться отключить или добавить исключение в ваш брандмауэр на порт 5900, чтобы вы могли подключиться к нему. Еще одна вещь, о которой следует помнить, это то, что некоторые клиенты VNC не отображают позицию удаленного курсора, я подтверждаю, что «Mocha VNC» для iOS отлично работает, если вы отключите опцию «локальная мышь».

Наслаждайтесь перетаскиванием окон между вашим основным монитором и вашим новым виртуальным вторым монитором (в то же время имея возможность использовать планшет, чтобы щелкнуть / ввести что-то на втором мониторе).

Чтобы закрыть Xdmx, нажмите Ctrl + Alt + Backspace дважды.

Автоматизация:

Я использую этот скрипт bash для запуска всего процесса (также убивает Xvfb при выходе):

Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &
xinit dual -- :1
ps | grep Xvfb | awk '{print }' | xargs kill

Затем у меня есть пользовательский файл ~/.xinitrc с этим:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [[  == "" ]]
then
  exec startkde 
elif [[  == "xterm" ]]
then
  exec xterm
elif [[  == "dual" ]]
then
  exec Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm & x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe
else
  exec 
fi

Устранение неполадок:

  • При запуске Xdmx, если вы получите сообщение об ошибке sh: /usr/local/bin/xkbcomp: No such file or directory , вам может потребоваться выполнить: cd /usr/local/bin" and "ln -s /bin/xkbcomp , а затем снова попробовать Xdmx.

  • Ctrl + Alt + F1 через F7 должен работать в Xdmx для переключения на другие консоли / xsessions, но по какой-то причине это не работает, я просто выполняю sudo chvt X (где X - номер консоли / xsession), чтобы переключиться на мой основной экран. Также, когда вы переключаетесь обратно на Xdmx, вы можете получить некоторые проблемы с рисунком в любых открытых окнах, я просто нажимаю на панель задач, чтобы скрыть / показать окно, снова заставляя перерисовать.

ответ дан LinuxNewb 10.01.2014 в 02:01
0

Спасибо за ребята, я расскажу, что сработало для меня на Ubuntu 14.04

Получите AndroidVNC здесь для своего планшета

Получите x11vnc для вашего компьютера Ubuntu, запустив

sudo apt-get install x11vnc

Мне пришлось использовать метод драйвера Dummy Xorg. Вот как выглядит мой файл /etc/X11/xorg.conf:

Section "ServerLayout"
Identifier     "X.org Configured"
Screen      0  "Screen0" 0 0
**Screen        1  "Screen1" rightof "Screen0"**
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Keyboard0" "CoreKeyboard"
**Option         "Xinerama" "1"**
EndSection

Section "Files"
ModulePath   "/usr/lib/xorg/modules"
FontPath     "/usr/share/fonts/X11/misc"
FontPath     "/usr/share/fonts/X11/cyrillic"
FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/Type1"
FontPath     "/usr/share/fonts/X11/100dpi"
FontPath     "/usr/share/fonts/X11/75dpi"
FontPath     "built-ins"
EndSection

Section "Module"
Load  "glx"
EndSection

Section "InputDevice"
Identifier  "Keyboard0"
Driver      "kbd"
EndSection

Section "InputDevice"
Identifier  "Mouse0"
Driver      "mouse"
Option      "Protocol" "auto"
Option      "Device" "/dev/input/mice"
Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier   "Monitor0"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
DisplaySize 1680 1050
EndSection

**Section "Monitor"
Identifier "Monitor1"
VendorName "Dummy"
ModelName "Dummy"
DisplaySize 2704 1050
EndSection**

Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
    ### <percent>: "<f>%"
    ### [arg]: arg optional
    #Option     "NoAccel"               # [<bool>]
    #Option     "SWcursor"              # [<bool>]
    #Option     "EnablePageFlip"        # [<bool>]
    #Option     "ColorTiling"           # [<bool>]
    #Option     "ColorTiling2D"         # [<bool>]
    #Option     "RenderAccel"           # [<bool>]
    #Option     "SubPixelOrder"         # [<str>]
    #Option     "AccelMethod"           # <str>
    #Option     "EXAVSync"              # [<bool>]
    #Option     "EXAPixmaps"            # [<bool>]
    #Option     "ZaphodHeads"           # <str>
    #Option     "EnablePageFlip"        # [<bool>]
    #Option     "SwapbuffersWait"       # [<bool>]
Identifier  "Card0"
Driver      "radeon"
BusID       "PCI:1:0:0"
EndSection

**Section "Device"
  Identifier "Dummy"
  Driver "dummy"
EndSection**

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
SubSection "Display"
    Viewport   0 0
    Depth     1
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     4
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     8
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     15
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     16
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     24
EndSubSection
EndSection

**Section "Screen"
Identifier "Screen1"
Device "Dummy"
Monitor "Monitor1
EndSection**

Вам, вероятно, не понадобится все, просто запустите X -configure, чтобы получить системный автозапуск и добавьте фиктивные разделы (вещи между звездочками) в ваш файл. Разрешение для фиктивного экрана в xorg.conf должно быть вашей основной шириной монитора + шириной разрешения вашего планшета, в моем случае 1680 + 1024 = 2704 сохранить основную высоту монитора, 1050 в моем случае. Перезапустить X-сервер / перезагрузить / вытащить вилку питания, что угодно подходит вам больше:).

Запустите x11vnc, выполнив

x11vnc -rfbauth ~/.vnc/passwd -clip 1024x550+1680+0

Здесь разрешение должно быть шириной планшета x высота планшета + ширина основного экрана + 0

Подключитесь к своему компьютеру с помощью клиента androidVNC, убедитесь, что включена опция localmouse. Это должно быть, теперь чувствуйте странность, когда Linux запускается через android:)

    
ответ дан Mathieu Grenier 18.08.2015 в 23:58
0

У меня было много проблем с другими методами, перечисленными здесь. Хотелось бы, чтобы у меня было лучшее решение, но мое медленное и простое решение - хорошее начало.

Для сервера VNC я попробовал пакет vncserver , но экран будет черным, и мне придется перезапустить gdm , чтобы снова активировать что-либо. Я переключился на tightvncserver , и он работал впервые без конфигурации.

Чтобы поделиться мышью / клавиатурой между экранами, я использовал x2vnc . Это также можно использовать с win2vnc , чтобы поделиться мышью / клавиатурой с ПК с ОС Windows рядом с вашим ПК с Linux.

Конечные команды:

sudo apt-get install tightvncserver
tightvncserver
sudo apt-get install x2vnc
x2vnc -east localhost:1

На этом этапе вы сможете открыть второй экран в программе VNC, подключившись к YOUR_IP_ADDRESS:1 . Чтобы запустить программу на экране VNC, откройте терминал, установите DISPLAY и запустите команду. Например, чтобы открыть xterm на экране VNC, запустите:

export DISPLAY=:1
xterm

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

    
ответ дан thirdender 24.11.2016 в 21:30
0

Для тех, кто все еще интересуется этой темой: клип xrandr и x11vnc работает; чтобы мышь могла туда попасть, вам нужно использовать аргумент панорамирования для установки области отслеживания мыши:

xrandr --fb 2560x1024 --output LVDS1 --panning 1280x1024+0+0/2560x1024+0+0

Затем при запуске xvnc используйте:

x11vnc -clip 1280x1024+1281+0 -nocursorshape -nocursorpos

Это останавливает VNC от попыток использовать собственное отслеживание курсора и рисует курсор как часть изображения на экране.

Я сделал заметки здесь Ссылка

    
ответ дан Mike Dawson 24.04.2015 в 14:56
0

TL; DR :

    $ sudo apt-get install x11vnc
    $ WINDOW_ID=$(xwininfo | awk '/Window.id/{print }') && x11vnc -viewonly -nopw -avahi -id $WINDOW_ID >/dev/null 2>&1 &

Теперь просто щелкните в окне, которое вы хотите разделить.

ПОЛНЫЙ

У меня есть iPad и Chromebook, и я бы хотел использовать их в качестве своих мониторов, просто для некоторых команд терминала htop , iptstate , nmon и т. д. Итак, я ленивый парень и сделал это, используя:

  1. Установка пакета: sudo apt-get install x11vnc
  2. Откройте некоторый терминал и поместите xwininfo | awk '/Window.id/{print }' и щелкните в окне, которое вы хотите разделить. Результат будет примерно таким:

    $ xwininfo | awk '/Window.id/{print }'
    0x4402f34
    
  3. Теперь вы можете начать свой сеанс x11vnc :

    $ x11vnc -viewonly -nopw -avahi -id 0x4402f34 >/dev/null 2>&1 &
    
  4. Измените размер окна (0x4402f34), чтобы получить наилучшее изображение.

Обратите внимание на связанный порт вашего сеанса : 5900 -> :0 , 5901 -:1 , 5902 -> :2 ...

Кроме того, отлично работает с приложениями X11: Firefox, OpenOffice и т. д.

    
ответ дан Antonio Feitosa 28.02.2017 в 20:40
0

Используйте vnc_virtual_display_linker

Инструмент устанавливает второй виртуальный монитор для подключения к VNC, как описано во многих предыдущих ответах. Он даже поддерживает соединения с Android-устройствами с помощью USB-кабеля.

    
ответ дан Falko Menge 04.07.2017 в 19:33