Использование ноутбука в качестве второго монитора для планшета Ubuntu [dубликат]

В соответствии с руководством по началу работы для Aptana Studio 3:

Предварительные требования: перед установкой Release вы должны установить и правильно работать следующие инструменты: Sun / Oracle Java 1.5.x или более поздней версии Mac и Linux. OpenJDK пока не поддерживается. ...

Так что использование OpenJDK для запуска Aptana официально не поддерживается.

Лично, когда я использовал OpenJDK в прошлом для запуска Aptana, у меня были различные проблемы с ним. Поэтому я не рекомендую его.

Я бы рекомендовал установить последнюю версию Java 6.x для запуска Aptana. Я не могу найти какую-либо информацию о том, насколько хорошо поддерживается 7.x, но я не думаю, что он был бы так же поддержан как 6.x на данный момент.

Проблема в том, что Sun / Oracle Java 1.6 больше не доступен в репозитории партнеров Ubuntu для Ubuntu 11.10, как это было в предыдущих версиях. Альтернативы, которые я видел, предлагаемые для установки Java 6.x:

Как установить Java?
54
задан 1 March 2011 в 21:58

104 ответа

Эти инструкции предназначены для создания «дополнительного» экрана для вашей 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 и новее вы можете перейдите к шагу «сделать» ниже):

открыть /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 на вашем физическом /usr/share/x11-server-source/

startx 'icewm' -- :1

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

startx 'icewm' -- :1

g24]

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 $1}' | xargs kill

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

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

if [[ $1 == "" ]]
then
  exec startkde 
elif [[ $1 == "xterm" ]]
then
  exec xterm
elif [[ $1 == "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 $1
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, вы можете получить некоторые проблемы с рисунком в любых открытых окнах, я просто нажимаю на панель задач, чтобы скрыть / показать окно, снова заставляя перерисовать.
1
ответ дан 5 August 2018 в 13:06

Я использую драйвер xorg dummy и x11vnc -clip.

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

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

 Раздел «Устройство» Идентификатор «Настроенное видеоустройство» Драйвер «radeon» #CHANGE ЭТОТ Раздел EndSection «Монитор» Идентификатор «Настроен  Монитор «Экран« Секция EndSection »Экран« Идентификатор »Экран по умолчанию« Монитор «Конфигурированный монитор» Устройство «Конфигурированное видеоустройство» EndSection ## Xdummy: ## Раздел «Устройство» Идентификатор «Videocard0» Драйвер «манекен» #VideoRam 4096000 VideoRam 256000 EndSection ##  Xdummy: ## Раздел «Монитор» Идентификатор «Monitor0» # HorizSync 10.0 - 300.0 # VertRefresh 10.0 - 200.0 # DisplaySize 4335 1084 EndSection ## Xdummy: ## Раздел «Экран» Идентификатор «Screen0» Устройство «Videocard0» Монитор «Monitor0» EndSection  Раздел «ServerLayout» Идентификатор «dummy_layout» Экран 0 «Экран по умолчанию» Экран 1 «screen0» справа «Экран по умолчанию» Опция «Xinerama» «1» EndSection 

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

  x11vnc -clip 1024x768 + 1280 + 0  
2
ответ дан 5 August 2018 в 13:06

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

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

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

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

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

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

YMMV

7
ответ дан 5 August 2018 в 13:06

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

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

0
ответ дан 5 August 2018 в 13:06

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

  xrandr --fb 2560x1024 - выход LVDS1 --panning 1280x1024 + 0 + 0 /  2560x1024 + 0 + 0  

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

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

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

Я сделал заметки здесь http://mikescodeoddities.blogspot.ae /2015/04/android-tablet-as-second-ubuntu-screen.html

0
ответ дан 5 August 2018 в 13:06
[D9] TL; dr: xrandr --fb и x11vnc --clip вместе создают комбо-убийцу.

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

  1. , предположим, что основная машина имеет разрешение экрана 1280x800, а вторичная машина, на которую вы хотите расширить рабочий стол до более VNC, имеет разрешение экрана 1280x1024 и вы хотите, чтобы расширенный экран был прав вашего основного экрана. Виртуальный экран должен быть 1280x800 + 1280x1024 = 2560x1024 . (растяните его горизонтально и сделайте вертикальное разрешение большим из двух). Итак, запустите xrandr -fb 2560x1024 .
  2. Теперь, когда экран больше вашего основного монитора, вы необходимо убедиться, что нет панорамирования или какой-либо другой нежелательной «функции», а также, что координаты верхнего левого угла вашего основного монитора равны 0x0.
  3. x11vnc -clip 1280x1024 + 1281 + 0 [ ! d4] плюс добавить любые другие варианты x11vnc по вкусу:)

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

14
ответ дан 5 August 2018 в 13:06

Я сделал простой сценарий 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 [ ! d12]

Основная идея этого скрипта такая же, как и у других, запустив xrandr и x11vnc , но я включил варианты, как то, для прикрепления экрана.

  #! / bin / sh # ----------------------------  ------------------------------------------------ # "  ЛИЦЕНЗИЯ ПИВОЗАВОДА "(Редакция 42): # & lt; k.bumsik@gmail.com>  написал этот файл.  Пока вы сохраняете это уведомление, вы можете делать все, что захотите, с помощью этого материала.  Если мы когда-нибудь встретимся, и вы думаете, что это стоит того, вы можете купить мне пиво взамен.  - Bumsik Kim # ----------------------------------------------  ------------------------------ # Конфигурация WIDTH = 1024 # 1368 для iPad Pro HEIGHT = 768 # 1024 для iPad Pro MODE_NAME =  «mode_ipad» # Установите любое имя, которое вам нравится, вам может потребоваться изменить # это при изменении разрешения или просто перезагрузить компьютер.  DIS_NAME = "VIRTUAL1" # Не меняйте его, если вы не знаете, что такое RANDR_POS = "- справа от" # Установка позиции по умолчанию для команды xrandr # Аргументы анализа, когда ["$ #" -gt 0];  сделать случай $ 1 в -l | --left) RANDR_POS = "- left-of" ;;  -r | --right) RANDR_POS = "- right-of" ;;  -a | --выше) RANDR_POS = "- above" ;;  -b | - ниже) RANDR_POS = "- ниже" ;;  -p | --portrait) TMP = $ WIDTH;  WIDTH = $ ВЫСОТА;  HEIGHT = $ TMP MODE_NAME = "$ MODE_NAME" "_ port" ;;  -h | --hidpi) WIDTH = $ (($ WIDTH * 2));  HEIGHT = $ (($ HEIGHT * 2)) MODE_NAME = "$ MODE_NAME" "_ hidpi" ;;  *) echo "'$ 1' не может быть позицией монитора";  выход 1 ;;  esac shift # Определить первичный дисплей PRIMARY_DISPLAY = $ (xrandr | perl -ne 'print "$ 1" if / (\ w *) \ s * connected \ s * primary /') # Добавить режим отображения RANDR_MODE = $ (cvt "$  WIDTH "" $ HEIGHT "60 | sed '2s /^.* Modeline \ s * \". * \ "//; 2q; d') xrandr --addmode $ DIS_NAME $ MODE_NAME 2 & gt; / dev / null # Если  режим не существует, тогда выполните режим и повторите попытку, если!  [$?  -eq 0];  затем xrandr --newmode $ MODE_NAME $ RANDR_MODE xrandr --addmode $ DIS_NAME $ MODE_NAME fi # Показать отображение первого xrandr --output $ DIS_NAME --mode $ MODE_NAME # Затем переместить отображение сна 5 # Требуется короткая задержка.  В противном случае команда ниже игнорируется.  xrandr --output $ DIS_NAME $ RANDR_POS $ PRIMARY_DISPLAY # Очистка перед завершением функции завершения {xrandr --output $ DIS_NAME --off xrandr --delmode $ DIS_NAME $ MODE_NAME эхо "Второй монитор отключен".  } ловушка EXIT # Получить позицию отображения CLIP_POS = $ (xrandr | perl -ne 'print "$ 1", если /' $ DIS_NAME '\ s * connected \ s * (\ d * x \ d * \ + \ d * \  + \ d *) / ') echo $ CLIP_POS # Общий экран x11vnc -multiptr -repeat -clip $ CLIP_POS # Возможной альтернативой является x0vncserver, но он не отображает курсор мыши.  # x0vncserver -display: 0 -geometry $ DIS_NAME -overlaymode -passwordfile ~ / .vnc / passwd if!  [$?  -eq 0];  то echo x11vnc потерпел неудачу, не удалось ли вам установить x11vnc?  fi  
2
ответ дан 5 August 2018 в 13:06

TL; DR:

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

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


FULL:

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

  1. Установка пакета: sudo apt-get install x11vnc
  2. Откройте какой-нибудь терминал и поместите xwininfo | awk '/Window.id/{print $ 4}' и щелкните в окне, которое вы хотите разделить. Результат будет примерно таким: $ xwininfo | awk '/Window.id/{print $ 4}' 0x4402f34
  3. Теперь вы можете начать свой сеанс x11vnc : $ x11vnc -viewonly -nopw -avahi -id 0x4402f34 & gt; / dev / null 2 ​​& amp; 1 & amp;
  4. Измените размер окна (0x4402f34), чтобы получить наилучшее изображение.

Обратите внимание на соответствующий порт вашей сессии: 5900 - & gt; ; : 0 , 5901 -: 1 , 5902 - & gt; : 2 ...

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

0
ответ дан 5 August 2018 в 13:06

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

Для сервера 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  

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

0
ответ дан 7 August 2018 в 06:37

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

A. Учебное пособие

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

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

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

  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 - режим 1280x1024_60.00 - левый LVDS1

2. Начать VNC

  1. x11vnc -clip 1280x1024 + 0 + 0

3.

  1. Найдите IP-адрес вашего компьютера с помощью ifconfig (при подключении к локальной сети).
  2. Загрузите приложение VNC и подключитесь к компьютеру с помощью своего IP-адреса (и выберите порт 5900 ) в приложении.

Уведомления

  • Кредиты: kjans , содержимое отредактировано.
  • ВНИМАНИЕ: данные не зашифрованы! (Релевантно для использования Wi-Fi и не LAN)
  • ВНИМАНИЕ: Любая подключенная к сети сеть, к которой может подключиться порт 5900, может подключаться к вашему монитору! (Не проблема при использовании USB и ограничение добавления интерфейса -listen & lt; IP_ADDR & gt; к x11vnc (где & lt; IP_ADDR & gt; - это компьютер адрес в сети, которую вы хотите предоставить эксклюзивный доступ))
  • Выполнение любого из шагов 1 - 4 может привести к ошибкам.
  • После успешного использования 5. шаг необходимо повторить для другой подключение.

B. Скрипт

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

  #  ! / bin / bash W = 1280 H = 800 O = VIRTUAL1, если ["$ 1" == "create"];  затем gtf $ W $ H 60 |  sed '3q; d' |  sed 's / Modeline // g' |  xargs xrandr --newmode # sed: получить третью строку, удалить 'Modeline', получить первое слово, удалить первый и последний символы gtf $ W $ H 60 |  sed '3q; d' |  sed 's / Modeline // g' |  awk '{print $ 1;}' |  sed 's / ^. \ (. * \). $ / \ 1 /' |  xargs xrandr --addmode $ O gtf $ W $ H 60 |  sed '3q; d' |  sed 's / Modeline // g' |  awk '{print $ 1;}' |  sed 's / ^. \ (. * \). $ / \ 1 /' |  xargs xrandr --output $ O --left-of LVDS1 --mode elif ["$ 1" == "on"];  затем x11vnc -listen 192.168.42.149 -clip $ {W} x $ {H} + 0 + 0 # Для использования в сети Wi-Fi.  # x11vnc -clip $ {W} x $ {H} + 0 + 0 # ** ПРЕДУПРЕЖДЕНИЕ ** Нешифрованный поток.  VNC доступен без пароля через порт 5900 во всех интернет-интерфейсах.  else echo "отсутствующий аргумент: [create | on]" fi  
10
ответ дан 7 August 2018 в 06:37
  1. Установите vnc4server и x2x .
  2. Затем настройте файл конфигурации .vnc / xstartup , Mine выглядит так #! / Bin / sh # Раскомментируйте следующие две строки для обычного рабочего стола: unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # exec / etc / X11 / xinit / xinitrc [-x / etc / vnc / xstartup] & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp; ; exec / etc / vnc / xstartup [-r $ HOME / .Xresources] & amp; & amp; & amp; & amp; xrdb $ HOME / .Xresources xsetroot -solid grey #vncconfig -iconic & amp; # x-terminal-emulator -geometry 80x24 + 10 + 10 -ls -title "$ VNCDESKTOP Desktop" & amp; # x-window-manager & amp; exec gnome-session Он запускает дескриптор gnome-fallback (я не знаю, как сделать запуск 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 & amp; ). Затем вам нужно будет перенести его на передний план ( fg ) или убить его с помощью kill $! (будьте осторожны, он убивает последний процесс, запущенный в фоновом режиме).
  7. Чтобы удалить созданный экран, вызовите vnc4server -kill: 1 , где вместо : 1 вы можете установить номер вашего нового дисплея.
  8. [ ! d23]
12
ответ дан 7 August 2018 в 06:37

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

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

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

  sudo apt-get install x11vnc  

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

  Раздел «ServerLayout» Идентификатор «Конфигурированный X.org» Экран 0 «Экран0» 0 0 ** Экран 1 «Экран 1»  rightof «Screen0» ** InputDevice «Mouse0» «CorePointer» InputDevice «Keyboard0» «CoreKeyboard» ** Опция «Xinerama» «1» ** Секция EndSection «Файлы» 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" встроенные модули "  EndSection Раздел «Модуль» Загрузить «glx» Секция EndSection «InputDevice» Идентификатор «Keyboard0» Драйвер «kbd» Секция EndSection «InputDevice» Идентификатор «Mouse0» Драйвер «мышь» Опция «Протокол» «Авто» Опция «Устройство» / dev /  вход / мышь "Опция" ZAxisMapping "" 4 5 6 7 "Секция EndSection" Монитор "Идентификатор" Monitor0 "VendorName" Monitor Vendor "  ModelName «Модель монитора» DisplaySize 1680 1050 EndSection ** Раздел «Монитор» Идентификатор «Monitor1» VendorName «Dummy» ModelName «Dummy» DisplaySize 2704 1050 EndSection ** Раздел «Устройство» ### Доступные параметры драйвера: - ### Значения  : & lt; i & gt ;: integer, & lt; f & gt ;: float, & lt; bool & gt ;: "True" / "False", ### & lt; string & gt ;: "String", & lt; freq & gt ;: & lt; f & gt;  Гц / кГц / МГц ", ### & lt; percent & gt ;:" & lt; f & gt;% "### [arg]: arg optional #Option" NoAccel "# [& lt; bool & gt;] #Option" SWcursor "# [  & lt; bool & gt;] #Option "EnablePageFlip" # [& lt; bool & gt;] #Option "ColorTiling" # [& lt; bool & gt;] #Option "ColorTiling2D" # [& lt; bool & gt;] #Option "RenderAccel" # [& lt;  bool & gt;] #Option "SubPixelOrder" # [& lt; str & gt;] #Option "AccelMethod" # & lt; str & gt; #Option "EXAVSync" # [& lt; bool & gt;] #Option "EXAPixmaps" # [& lt; bool & gt;] #  Опция «ZaphodHeads» # & lt; str & gt; #Option «EnablePageFlip» # [& lt; bool & gt;] #Option «SwapbuffersWait» # [& lt; bool & gt;] Идентификатор «Card0» Драйвер «radeon» BusID «PCI: 1: 0: 0  «EndSection» Раздел «Устройство» Идентификатор «Dummy» Драйвер «фиктивный» EndSection ** Раздел «Экран» Идентификатор «Screen0» Устройство «Card0» Монитор «Monitor0» SubSection «Display» Viewport 0 0 Depth 1 EndSubSection SubSection «Display» Viewport  0 0 Глубина 4 EndSubSection SubSection "Display" Viewport 0 0 Depth 8 EndSubSection SubSection "Display" Viewport 0 0 Глубина 15 EndSubSection  SubSection «Display» Viewport 0 0 Depth 16 EndSubSection SubSection «Display» Viewport 0 0 Depth 24 EndSubSection EndSection ** Раздел «Экран» Идентификатор «Screen1» Устройство «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:)

0
ответ дан 7 August 2018 в 06:37

Эти инструкции предназначены для создания «дополнительного» экрана для вашей 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 и новее вы можете перейдите к шагу «сделать» ниже):

открыть /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 на вашем физическом /usr/share/x11-server-source/

startx 'icewm' -- :1

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

startx 'icewm' -- :1

g24]

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 $1}' | xargs kill

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

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

if [[ $1 == "" ]]
then
  exec startkde 
elif [[ $1 == "xterm" ]]
then
  exec xterm
elif [[ $1 == "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 $1
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, вы можете получить некоторые проблемы с рисунком в любых открытых окнах, я просто нажимаю на панель задач, чтобы скрыть / показать окно, снова заставляя перерисовать.
1
ответ дан 7 August 2018 в 06:37

Я использую драйвер xorg dummy и x11vnc -clip.

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

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

 Раздел «Устройство» Идентификатор «Настроенное видеоустройство» Драйвер «radeon» #CHANGE ЭТОТ Раздел EndSection «Монитор» Идентификатор «Настроен  Монитор «Экран« Секция EndSection »Экран« Идентификатор »Экран по умолчанию« Монитор «Конфигурированный монитор» Устройство «Конфигурированное видеоустройство» EndSection ## Xdummy: ## Раздел «Устройство» Идентификатор «Videocard0» Драйвер «манекен» #VideoRam 4096000 VideoRam 256000 EndSection ##  Xdummy: ## Раздел «Монитор» Идентификатор «Monitor0» # HorizSync 10.0 - 300.0 # VertRefresh 10.0 - 200.0 # DisplaySize 4335 1084 EndSection ## Xdummy: ## Раздел «Экран» Идентификатор «Screen0» Устройство «Videocard0» Монитор «Monitor0» EndSection  Раздел «ServerLayout» Идентификатор «dummy_layout» Экран 0 «Экран по умолчанию» Экран 1 «screen0» справа «Экран по умолчанию» Опция «Xinerama» «1» EndSection 

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

  x11vnc -clip 1024x768 + 1280 + 0  
2
ответ дан 7 August 2018 в 06:37

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

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

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

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

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

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

YMMV

7
ответ дан 7 August 2018 в 06:37

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

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

0
ответ дан 7 August 2018 в 06:37

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

  xrandr --fb 2560x1024 - выход LVDS1 --panning 1280x1024 + 0 + 0 /  2560x1024 + 0 + 0  

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

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

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

Я сделал заметки здесь http://mikescodeoddities.blogspot.ae /2015/04/android-tablet-as-second-ubuntu-screen.html

0
ответ дан 7 August 2018 в 06:37
[D9] TL; dr: xrandr --fb и x11vnc --clip вместе создают комбо-убийцу.

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

  1. , предположим, что основная машина имеет разрешение экрана 1280x800, а вторичная машина, на которую вы хотите расширить рабочий стол до более VNC, имеет разрешение экрана 1280x1024 и вы хотите, чтобы расширенный экран был прав вашего основного экрана. Виртуальный экран должен быть 1280x800 + 1280x1024 = 2560x1024 . (растяните его горизонтально и сделайте вертикальное разрешение большим из двух). Итак, запустите xrandr -fb 2560x1024 .
  2. Теперь, когда экран больше вашего основного монитора, вы необходимо убедиться, что нет панорамирования или какой-либо другой нежелательной «функции», а также, что координаты верхнего левого угла вашего основного монитора равны 0x0.
  3. x11vnc -clip 1280x1024 + 1281 + 0 [ ! d4] плюс добавить любые другие варианты x11vnc по вкусу:)

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

14
ответ дан 7 August 2018 в 06:37

Я сделал простой сценарий 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 [ ! d12]

Основная идея этого скрипта такая же, как и у других, запустив xrandr и x11vnc , но я включил варианты, как то, для прикрепления экрана.

  #! / bin / sh # ----------------------------  ------------------------------------------------ # "  ЛИЦЕНЗИЯ ПИВОЗАВОДА "(Редакция 42): # & lt; k.bumsik@gmail.com>  написал этот файл.  Пока вы сохраняете это уведомление, вы можете делать все, что захотите, с помощью этого материала.  Если мы когда-нибудь встретимся, и вы думаете, что это стоит того, вы можете купить мне пиво взамен.  - Bumsik Kim # ----------------------------------------------  ------------------------------ # Конфигурация WIDTH = 1024 # 1368 для iPad Pro HEIGHT = 768 # 1024 для iPad Pro MODE_NAME =  «mode_ipad» # Установите любое имя, которое вам нравится, вам может потребоваться изменить # это при изменении разрешения или просто перезагрузить компьютер.  DIS_NAME = "VIRTUAL1" # Не меняйте его, если вы не знаете, что такое RANDR_POS = "- справа от" # Установка позиции по умолчанию для команды xrandr # Аргументы анализа, когда ["$ #" -gt 0];  сделать случай $ 1 в -l | --left) RANDR_POS = "- left-of" ;;  -r | --right) RANDR_POS = "- right-of" ;;  -a | --выше) RANDR_POS = "- above" ;;  -b | - ниже) RANDR_POS = "- ниже" ;;  -p | --portrait) TMP = $ WIDTH;  WIDTH = $ ВЫСОТА;  HEIGHT = $ TMP MODE_NAME = "$ MODE_NAME" "_ port" ;;  -h | --hidpi) WIDTH = $ (($ WIDTH * 2));  HEIGHT = $ (($ HEIGHT * 2)) MODE_NAME = "$ MODE_NAME" "_ hidpi" ;;  *) echo "'$ 1' не может быть позицией монитора";  выход 1 ;;  esac shift # Определить первичный дисплей PRIMARY_DISPLAY = $ (xrandr | perl -ne 'print "$ 1" if / (\ w *) \ s * connected \ s * primary /') # Добавить режим отображения RANDR_MODE = $ (cvt "$  WIDTH "" $ HEIGHT "60 | sed '2s /^.* Modeline \ s * \". * \ "//; 2q; d') xrandr --addmode $ DIS_NAME $ MODE_NAME 2 & gt; / dev / null # Если  режим не существует, тогда выполните режим и повторите попытку, если!  [$?  -eq 0];  затем xrandr --newmode $ MODE_NAME $ RANDR_MODE xrandr --addmode $ DIS_NAME $ MODE_NAME fi # Показать отображение первого xrandr --output $ DIS_NAME --mode $ MODE_NAME # Затем переместить отображение сна 5 # Требуется короткая задержка.  В противном случае команда ниже игнорируется.  xrandr --output $ DIS_NAME $ RANDR_POS $ PRIMARY_DISPLAY # Очистка перед завершением функции завершения {xrandr --output $ DIS_NAME --off xrandr --delmode $ DIS_NAME $ MODE_NAME эхо "Второй монитор отключен".  } ловушка EXIT # Получить позицию отображения CLIP_POS = $ (xrandr | perl -ne 'print "$ 1", если /' $ DIS_NAME '\ s * connected \ s * (\ d * x \ d * \ + \ d * \  + \ d *) / ') echo $ CLIP_POS # Общий экран x11vnc -multiptr -repeat -clip $ CLIP_POS # Возможной альтернативой является x0vncserver, но он не отображает курсор мыши.  # x0vncserver -display: 0 -geometry $ DIS_NAME -overlaymode -passwordfile ~ / .vnc / passwd if!  [$?  -eq 0];  то echo x11vnc потерпел неудачу, не удалось ли вам установить x11vnc?  fi  
2
ответ дан 7 August 2018 в 06:37

TL; DR:

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

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


FULL:

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

  1. Установка пакета: sudo apt-get install x11vnc
  2. Откройте какой-нибудь терминал и поместите xwininfo | awk '/Window.id/{print $ 4}' и щелкните в окне, которое вы хотите разделить. Результат будет примерно таким: $ xwininfo | awk '/Window.id/{print $ 4}' 0x4402f34
  3. Теперь вы можете начать свой сеанс x11vnc : $ x11vnc -viewonly -nopw -avahi -id 0x4402f34 & gt; / dev / null 2 ​​& amp; 1 & amp;
  4. Измените размер окна (0x4402f34), чтобы получить наилучшее изображение.

Обратите внимание на соответствующий порт вашей сессии: 5900 - & gt; ; : 0 , 5901 -: 1 , 5902 - & gt; : 2 ...

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

0
ответ дан 7 August 2018 в 06:37

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

Для сервера 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  

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

0
ответ дан 9 August 2018 в 13:11

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

A. Учебное пособие

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

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

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

  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 - режим 1280x1024_60.00 - левый LVDS1

2. Начать VNC

  1. x11vnc -clip 1280x1024 + 0 + 0

3.

  1. Найдите IP-адрес вашего компьютера с помощью ifconfig (при подключении к локальной сети).
  2. Загрузите приложение VNC и подключитесь к компьютеру с помощью своего IP-адреса (и выберите порт 5900 ) в приложении.

Уведомления

  • Кредиты: kjans , содержимое отредактировано.
  • ВНИМАНИЕ: данные не зашифрованы! (Релевантно для использования Wi-Fi и не LAN)
  • ВНИМАНИЕ: Любая подключенная к сети сеть, к которой может подключиться порт 5900, может подключаться к вашему монитору! (Не проблема при использовании USB и ограничение добавления интерфейса -listen & lt; IP_ADDR & gt; к x11vnc (где & lt; IP_ADDR & gt; - это компьютер адрес в сети, которую вы хотите предоставить эксклюзивный доступ))
  • Выполнение любого из шагов 1 - 4 может привести к ошибкам.
  • После успешного использования 5. шаг необходимо повторить для другой подключение.

B. Скрипт

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

  #  ! / bin / bash W = 1280 H = 800 O = VIRTUAL1, если ["$ 1" == "create"];  затем gtf $ W $ H 60 |  sed '3q; d' |  sed 's / Modeline // g' |  xargs xrandr --newmode # sed: получить третью строку, удалить 'Modeline', получить первое слово, удалить первый и последний символы gtf $ W $ H 60 |  sed '3q; d' |  sed 's / Modeline // g' |  awk '{print $ 1;}' |  sed 's / ^. \ (. * \). $ / \ 1 /' |  xargs xrandr --addmode $ O gtf $ W $ H 60 |  sed '3q; d' |  sed 's / Modeline // g' |  awk '{print $ 1;}' |  sed 's / ^. \ (. * \). $ / \ 1 /' |  xargs xrandr --output $ O --left-of LVDS1 --mode elif ["$ 1" == "on"];  затем x11vnc -listen 192.168.42.149 -clip $ {W} x $ {H} + 0 + 0 # Для использования в сети Wi-Fi.  # x11vnc -clip $ {W} x $ {H} + 0 + 0 # ** ПРЕДУПРЕЖДЕНИЕ ** Нешифрованный поток.  VNC доступен без пароля через порт 5900 во всех интернет-интерфейсах.  else echo "отсутствующий аргумент: [create | on]" fi  
10
ответ дан 9 August 2018 в 13:11
  1. Установите vnc4server и x2x .
  2. Затем настройте файл конфигурации .vnc / xstartup , Mine выглядит так #! / Bin / sh # Раскомментируйте следующие две строки для обычного рабочего стола: unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # exec / etc / X11 / xinit / xinitrc [-x / etc / vnc / xstartup] & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp; ; exec / etc / vnc / xstartup [-r $ HOME / .Xresources] & amp; & amp; & amp; & amp; xrdb $ HOME / .Xresources xsetroot -solid grey #vncconfig -iconic & amp; # x-terminal-emulator -geometry 80x24 + 10 + 10 -ls -title "$ VNCDESKTOP Desktop" & amp; # x-window-manager & amp; exec gnome-session Он запускает дескриптор gnome-fallback (я не знаю, как сделать запуск 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 & amp; ). Затем вам нужно будет перенести его на передний план ( fg ) или убить его с помощью kill $! (будьте осторожны, он убивает последний процесс, запущенный в фоновом режиме).
  7. Чтобы удалить созданный экран, вызовите vnc4server -kill: 1 , где вместо : 1 вы можете установить номер вашего нового дисплея.
  8. [ ! d23]
12
ответ дан 9 August 2018 в 13:11

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

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

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

  sudo apt-get install x11vnc  

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

  Раздел «ServerLayout» Идентификатор «Конфигурированный X.org» Экран 0 «Экран0» 0 0 ** Экран 1 «Экран 1»  rightof «Screen0» ** InputDevice «Mouse0» «CorePointer» InputDevice «Keyboard0» «CoreKeyboard» ** Опция «Xinerama» «1» ** Секция EndSection «Файлы» 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" встроенные модули "  EndSection Раздел «Модуль» Загрузить «glx» Секция EndSection «InputDevice» Идентификатор «Keyboard0» Драйвер «kbd» Секция EndSection «InputDevice» Идентификатор «Mouse0» Драйвер «мышь» Опция «Протокол» «Авто» Опция «Устройство» / dev /  вход / мышь "Опция" ZAxisMapping "" 4 5 6 7 "Секция EndSection" Монитор "Идентификатор" Monitor0 "VendorName" Monitor Vendor "  ModelName «Модель монитора» DisplaySize 1680 1050 EndSection ** Раздел «Монитор» Идентификатор «Monitor1» VendorName «Dummy» ModelName «Dummy» DisplaySize 2704 1050 EndSection ** Раздел «Устройство» ### Доступные параметры драйвера: - ### Значения  : & lt; i & gt ;: integer, & lt; f & gt ;: float, & lt; bool & gt ;: "True" / "False", ### & lt; string & gt ;: "String", & lt; freq & gt ;: & lt; f & gt;  Гц / кГц / МГц ", ### & lt; percent & gt ;:" & lt; f & gt;% "### [arg]: arg optional #Option" NoAccel "# [& lt; bool & gt;] #Option" SWcursor "# [  & lt; bool & gt;] #Option "EnablePageFlip" # [& lt; bool & gt;] #Option "ColorTiling" # [& lt; bool & gt;] #Option "ColorTiling2D" # [& lt; bool & gt;] #Option "RenderAccel" # [& lt;  bool & gt;] #Option "SubPixelOrder" # [& lt; str & gt;] #Option "AccelMethod" # & lt; str & gt; #Option "EXAVSync" # [& lt; bool & gt;] #Option "EXAPixmaps" # [& lt; bool & gt;] #  Опция «ZaphodHeads» # & lt; str & gt; #Option «EnablePageFlip» # [& lt; bool & gt;] #Option «SwapbuffersWait» # [& lt; bool & gt;] Идентификатор «Card0» Драйвер «radeon» BusID «PCI: 1: 0: 0  «EndSection» Раздел «Устройство» Идентификатор «Dummy» Драйвер «фиктивный» EndSection ** Раздел «Экран» Идентификатор «Screen0» Устройство «Card0» Монитор «Monitor0» SubSection «Display» Viewport 0 0 Depth 1 EndSubSection SubSection «Display» Viewport  0 0 Глубина 4 EndSubSection SubSection "Display" Viewport 0 0 Depth 8 EndSubSection SubSection "Display" Viewport 0 0 Глубина 15 EndSubSection  SubSection «Display» Viewport 0 0 Depth 16 EndSubSection SubSection «Display» Viewport 0 0 Depth 24 EndSubSection EndSection ** Раздел «Экран» Идентификатор «Screen1» Устройство «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:)

0
ответ дан 9 August 2018 в 13:11

Эти инструкции предназначены для создания «дополнительного» экрана для вашей 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 и новее вы можете перейдите к шагу «сделать» ниже):

открыть /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 на вашем физическом /usr/share/x11-server-source/

startx 'icewm' -- :1

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

startx 'icewm' -- :1

g24]

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 $1}' | xargs kill

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

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

if [[ $1 == "" ]]
then
  exec startkde 
elif [[ $1 == "xterm" ]]
then
  exec xterm
elif [[ $1 == "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 $1
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, вы можете получить некоторые проблемы с рисунком в любых открытых окнах, я просто нажимаю на панель задач, чтобы скрыть / показать окно, снова заставляя перерисовать.
1
ответ дан 9 August 2018 в 13:11

Я использую драйвер xorg dummy и x11vnc -clip.

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

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

 Раздел «Устройство» Идентификатор «Настроенное видеоустройство» Драйвер «radeon» #CHANGE ЭТОТ Раздел EndSection «Монитор» Идентификатор «Настроен  Монитор «Экран« Секция EndSection »Экран« Идентификатор »Экран по умолчанию« Монитор «Конфигурированный монитор» Устройство «Конфигурированное видеоустройство» EndSection ## Xdummy: ## Раздел «Устройство» Идентификатор «Videocard0» Драйвер «манекен» #VideoRam 4096000 VideoRam 256000 EndSection ##  Xdummy: ## Раздел «Монитор» Идентификатор «Monitor0» # HorizSync 10.0 - 300.0 # VertRefresh 10.0 - 200.0 # DisplaySize 4335 1084 EndSection ## Xdummy: ## Раздел «Экран» Идентификатор «Screen0» Устройство «Videocard0» Монитор «Monitor0» EndSection  Раздел «ServerLayout» Идентификатор «dummy_layout» Экран 0 «Экран по умолчанию» Экран 1 «screen0» справа «Экран по умолчанию» Опция «Xinerama» «1» EndSection 

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

  x11vnc -clip 1024x768 + 1280 + 0  
2
ответ дан 9 August 2018 в 13:11

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

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

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

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

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

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

YMMV

7
ответ дан 9 August 2018 в 13:11

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

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

0
ответ дан 9 August 2018 в 13:11

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

  xrandr --fb 2560x1024 - выход LVDS1 --panning 1280x1024 + 0 + 0 /  2560x1024 + 0 + 0  

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

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

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

Я сделал заметки здесь http://mikescodeoddities.blogspot.ae /2015/04/android-tablet-as-second-ubuntu-screen.html

0
ответ дан 9 August 2018 в 13:11
[D9] TL; dr: xrandr --fb и x11vnc --clip вместе создают комбо-убийцу.

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

  1. , предположим, что основная машина имеет разрешение экрана 1280x800, а вторичная машина, на которую вы хотите расширить рабочий стол до более VNC, имеет разрешение экрана 1280x1024 и вы хотите, чтобы расширенный экран был прав вашего основного экрана. Виртуальный экран должен быть 1280x800 + 1280x1024 = 2560x1024 . (растяните его горизонтально и сделайте вертикальное разрешение большим из двух). Итак, запустите xrandr -fb 2560x1024 .
  2. Теперь, когда экран больше вашего основного монитора, вы необходимо убедиться, что нет панорамирования или какой-либо другой нежелательной «функции», а также, что координаты верхнего левого угла вашего основного монитора равны 0x0.
  3. x11vnc -clip 1280x1024 + 1281 + 0 [ ! d4] плюс добавить любые другие варианты x11vnc по вкусу:)

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

14
ответ дан 9 August 2018 в 13:11

Другие вопросы по тегам:

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