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

Вы также можете настроить локальный исходный сервер на nginx и reprepro:

Установить пакеты debian
sudo apt-get install reprepro nginx 
сделать каталоги для reprepro и отредактировать его
sudo mkdir -p /srv/reprepro/ubuntu/{conf,dists,incoming,indices,logs,pool,project,tmp}

$ cd /srv/reprepro/ubuntu/
$ sudo chown -R `whoami` . # changes the repository owner to the current user
/ srv / reprepro / ubuntu / conf / distribution / srv / reprepro / ubuntu / conf / options
ask-passphrase
basedir .
Включить его в reprepro, создать его
$ reprepro includedeb karmic /path/to/my-package_0.1-1.deb \
# change /path/to/my-package_0.1-1.deb to the path to your package
Config nginx: /etc/nginx/sites-available/vhost-packages.conf
server {
  listen 80;
  server_name packages.internal;

  access_log /var/log/nginx/packages-access.log;
  error_log /var/log/nginx/packages-error.log;

  location / {
    root /srv/reprepro;
    index index.html;
  }

  location ~ /(.*)/conf {
    deny all;
  }

  location ~ /(.*)/db {
    deny all;
  }
}
Оптимизировать размер ковша: / etc /nginx/conf.d/server_names_hash_bucket_size.conf
server_names_hash_bucket_size 64;

Ссылка на ссылку для установки Ссылка

54
задан 1 March 2011 в 21:58

129 ответов

Спасибо за ребята, я расскажу, что сработало для меня на 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
ответ дан 6 August 2018 в 03:58
  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
ответ дан 6 August 2018 в 03:58

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

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
ответ дан 6 August 2018 в 03:58

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

Для сервера 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
ответ дан 6 August 2018 в 03:58

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

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 в 21:56

Я сделал простой сценарий 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 в 21:56
[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 в 21:56

Для тех, кто все еще интересуется этой темой: клип 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 в 21:56

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

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

0
ответ дан 7 August 2018 в 21:56

Это возможно в принципе, используя 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 в 21:56

Я использую драйвер 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 в 21:56

Спасибо за ребята, я расскажу, что сработало для меня на 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 в 21:56
  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 в 21:56

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

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 в 21:56

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

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

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
ответ дан 10 August 2018 в 10:10

Я сделал простой сценарий 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
ответ дан 10 August 2018 в 10:10
[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
ответ дан 10 August 2018 в 10:10

Для тех, кто все еще интересуется этой темой: клип 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
ответ дан 10 August 2018 в 10:10

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

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

0
ответ дан 10 August 2018 в 10:10

Это возможно в принципе, используя 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
ответ дан 10 August 2018 в 10:10

Я использую драйвер 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
ответ дан 10 August 2018 в 10:10

Спасибо за ребята, я расскажу, что сработало для меня на 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
ответ дан 10 August 2018 в 10:10
  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
ответ дан 10 August 2018 в 10:10

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

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
ответ дан 10 August 2018 в 10:10

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

Для сервера 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
ответ дан 10 August 2018 в 10:10

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
ответ дан 13 August 2018 в 16:32

Я сделал простой сценарий 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
ответ дан 13 August 2018 в 16:32
  • 1
    У вас есть имя для скрипта / приложения или любой альтернативной ссылки, которую вы можете опубликовать, чтобы избежать ссылки на гниль? Здесь мы обычно стараемся быть максимально самоуверенными, чтобы не полагаться на другие сайты, которые не спаслись, особенно если эти сайты содержат большую часть информации, которая будет иметь отношение к ответу, когда эта информация фактически не помещается в ответ , – sbergeron 17 April 2018 в 20:30
  • 2
    Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - Из обзора – anonymous2 17 April 2018 в 21:36
  • 3
    @sbergeron, я вижу. Здесь я включаю исходный код. – Bumsik Kim 17 April 2018 в 22:42
  • 4
    @ anonymous2 Ты прав. Я включил здесь код bash. – Bumsik Kim 17 April 2018 в 22:43
  • 5
    Ах, намного лучше. Я думаю, что это должно быть в состоянии придерживаться так. – anonymous2 17 April 2018 в 22:44
[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
ответ дан 13 August 2018 в 16:32
  • 1
    Это похоже на путь более простой способ сделать это, чем трюк Synergy, хорошо! Мне любопытно, как дополнительное виртуальное пространство будет взаимодействовать с моим менеджером оконных панелей. Немножко даст этот снимок и отчитается. – Ibrahim 24 January 2013 в 05:49
  • 2
    Побег вырвался из челюстей победы. Указателю мыши не разрешается покидать основной экран. :( – Gringo Suave 25 October 2013 в 11:18
  • 3
    Кажется интересным. На самом деле у меня есть двойной экран, но, к сожалению, команда xrandr -fb 2560x1024 , похоже, не имеет никакого эффекта. Это означает, что у меня не может быть больше экрана, чем у моего основного размера монитора ... :( – Augustin Riedinger 10 February 2016 в 19:02
  • 4
    Я читал об этом . Получил ошибку X сбойного запроса: BadMatch (недопустимые атрибуты параметра) Основной код операции неудачного запроса: 140 (RANDR) Незначительный код операции неудачного запроса: 18 (RRAddOutputMode) Серийный номер отказавшего запроса: 29 Текущий серийный номер в выходном потоке : 30 ошибка. Я предполагаю, что мой ноутбук не поддерживает более высокое разрешение, чем native 1600 * 900 . Это решение не может работать. Вместо этого я должен найти решение с двойным экраном. – Augustin Riedinger 10 February 2016 в 19:38
  • 5
    Я, наконец, сделал это благодаря этому сообщению , выполнив: sudo xrandr --fb 2732x768 - выход LVDS1 --panning 2732x768 + 0 + 0 / 2732x768 + 0 + 0 (Мне не хватало опции - panning ) – Augustin Riedinger 10 February 2016 в 23:39

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

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