Данное сочинение навеяно вот этой публикацией за 2012 год, в которой изложен отличный способ избежать покупки пока единственного существующего в мире usb-монитора на жидких чернилах очень высокой стоимости. Марку, модель и цену озвучивать не буду, да и времени добавление звукового файла к статье много отнимет. Если читать историю ночных экспериментов желания нет, то в конце страницы есть видео с результатом.

image


Сама идея


Мне давно было интересно, как можно попытаться использовать e-ink reader в качестве второго монитора. Чтобы ничего не разбирать, не брать в руки паяльник и не пугать соседей запахом колофонской смолы, пришлось некоторое время побороздить по просторам Интернета в поисках возможных решений. И решение нашлось, хотя и не такое привлекательное, как подключение электронной книги напрямую. И это решение в принципе уже довольно давно известно — это связка программ, позволяющая управлять рабочим столом через брузер.

Суповой набор


1) x11vnc — сервер удаленного рабочего стола
2) apache веб-сербвер
3) tomcat — «контейнер сервлетов с открытым исходным кодом, разрабатываемый Apache Software Foundation. Реализует спецификацию сервлетов и спецификацию JavaServer Pages (JSP) и JavaServer Faces (JSF)». Источник: Википедия
4) guacamole — программа для обеспечения удалённого доступа к рабочему столу с использованием в качестве клиента обычного web-браузера. «Написан на языках Си, Java и JavaScript, и реализует прослойку, позволяющую организовать управление рабочим столом из web-браузера. Для присоединения к рабочему столу в прослойке поддерживаются штатные протоколы VNC, RDP и SSH». Источник: Opennet.
Стоит добавить: в репозитариях есть две программы guacamole-server и guacamole.

Для тех, кто не в теме:
**Все программы устанавливаются на ноутбук, нетбук и т.д.
***На саму элекронную книгу ничего устанавливать не требуется.

Как делать, как делалось, что получилось, а что не совсем


1) Установку tomcat можно осуществить с помощью пакетного менеджера вашего дистрибутива или скачать прямо с официального сайта.
Я воспользовался следующим руководством и распаковал архива в /usr/local/share, путь у меня получился такой:
/usr/local/share/apache-tomcat-7.0.82

2) Далее можно настроить файл /usr/local/share/apache-tomcat-7.0.82/conf/server.xml.
At your option! Я не стал ничего менять.

3) /usr/local/share/apache-tomcat-7.0.82/conf/tomcat-users.xml. Сюда можно только добавить пользователя. Я добавил строки, которые мне были предложены в качестве примера на странице с ошибкой авторизации, примерно так (читателю предлгается действовать, опираясь на собственный уровень понимания):

<role rolename="manager-gui"/>
 <user username="user" password="123" roles="tomcat, manager-gui, manager-scrip$
</tomcat-users>

4) Далее идем в /usr/local/share/apache-tomcat-7.0.82/webapps. Сюда нужно добавить файл guacamole.war.

Где его взять?

Ответ: здесь. И здесь же лежит инструкция по обращению с этим файлом. Кратко: его нужно скопировать в директорию /usr/local/share/apache-tomcat-7.0.82/webapps

Важно! Если файл имеет другое название, переименовать в guacamole.war
Важно! guacamole.war должен соответствовать версии guacamole-server.

Помимо сказанного выше я клонировал эту ветку:

clone git://github.com/apache/incubator-guacamole-client.git

5) В этом пункте предлагаю отредактировать файл:
nano /etc/guacamole/user-mapping.xml
На ваше усмотрение. Я просто удалил логин и пароль в первой записи:

<user-mapping>
    <!-- Per-user authentication and config information -->
    <authorize username="" password="">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">5900</param>
        <param name="password"></param>
    </authorize>

Старт


6) Теперь можно запустить x11vnc
Я запускал так, от обычного пользователя:
x11vnc -notruecolor -forever

Последний флаг, чтобы сервер не останавливался при разрывах связи с клиентом. Порт по умолчанию 5900.

7) Запуск guacamole-server. Не знаю, как это осуществляется в других дистрибутивах, в Calculate Linux это делается так:
/etc/init.d/guacd start
Если все удачно, то получаем такой вывод:
guacd | * Starting guacd…
guacd |guacd[9345]: INFO: Guacamole proxy daemon (guacd) version 0.9.9 started

8) Запускаем tomcat:
/usr/local/share/apache-tomcat-7.0.82/bin/startup.sh
Выключается так:
/usr/local/share/apache-tomcat-7.0.82/bin/shutdown.sh

Если все удачно, то вывод имеем:

/usr/local/share/apache-tomcat-7.0.82/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/share/apache-tomcat-7.0.82
Using CATALINA_HOME:   /usr/local/share/apache-tomcat-7.0.82
Using CATALINA_TMPDIR: /usr/local/share/apache-tomcat-7.0.82/temp
Using JRE_HOME:        /etc/java-config-2/current-system-vm
Using CLASSPATH:       /usr/local/share/apache-tomcat-7.0.82/bin/bootstrap.jar:/usr/local/share/apache-tomcat-7.0.82/bin/tomcat-juli.jar
Tomcat started.

9) Набираем в браузере http://you_ip:8080/guacamole/
Если видим приглашение к вводу логина и пароля, то можно смело заходить. Но лучше со стороннего устройства, ибо есть вероятность схватить рекурсию.

10) Далее предполагается у читателя наличие электронной книги c WiFi-модулем и браузером, имеющим поддержку JavaScript, так как в guacamole используется либимый всеми Аjax, который и организует работу нашего псевдовторого дисплея. Для неспециалистов по веб-технологиям добавлю: способность Ajax автоматически с некоторым интервалом обновлять содержимое страницы выступает в роли основной технологии эмуляции второго монитора. Итак, В квартире автора нашлись две книжки: Sony PRS-T2 и PocketPro 612.
Оба устройства оказались пригоды для подключения к рабочему столу нетбука.

Результат на видео:

Что не получилось?


На PocketPro браузер периодически вполне предсказуемо падает. На Sony происходит разрыв соединения. Проблема частично решается автоматическим переподключением.

Заключение


В целом результат приемлем для чтения, просмотра чего-нибудь в браузере, набора текста (если совсем неспешно) и некоторых несложных операций на псевдоудаленной машине, но есть над чем подумать… ну и на прощание: «спасибо, что купили у нас телевизор и читаете эту инструкцию» (С) хоку из телепередачи «Городок».

Update


Время отклика при наборе текста: (нашел еще один ридер у родственников)

На всякий случай: нетбук и ридер подкючены по WiFi через маршрутизатор.

И велосипед стал трехколёсным


Чтобы было еще интересней, — при запуске x11vnc можно добавить флаг -shared,
тогда можно подключиться к компьютеру с нескольких устройств, включая смартфон.
Теперь возможно основной экран не задействовать совсем, перемещение курсора и все
действия мышью можно выполнять, поглядывая на экран смартфона.

image

Комментарии (39)


  1. MihailSolovjov
    06.11.2017 17:09

    e-ink, вероятно?


    1. dcc0 Автор
      06.11.2017 17:12

      Спасибо. Даже не могу объяснить свою ошибку.
      видимо, link где-то глубоко укоренился.


  1. dolovar
    06.11.2017 17:09

    Не появились ли с 2012 года в продаже USB мониторы с приемлемой ценой? Или цимус в чернилах?


    1. dcc0 Автор
      06.11.2017 17:13

      Искал недавно, пару неделель назад. Ничего нет пока или я не нашел.


      1. dolovar
        06.11.2017 17:36

        Гугл «usb monitor» сходу предложил E1649FWU за 120 уе на Амазоне. Не там не чернила, они дают серьезное преимущество в контексте задачи?


        1. dcc0 Автор
          06.11.2017 18:09

          Есть некоторый набор задач, который удобно выполнять именно под ink.
          Мониторы не на чернилах — другая тема, неважно usb или нет.


          1. dolovar
            06.11.2017 18:25

            Смог придумать три задачи: низкое потребление при работе ноутбука от аккумулятора, работа при ярком свете Солнца, экономия глаз при чтении длинных статей с экрана. Не для меня, но возможны. Поделитесь по возможности, какие задачи вы имели в виду?


            1. dcc0 Автор
              06.11.2017 18:32

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


              1. dolovar
                06.11.2017 18:53

                То есть, практически вся основная работа с текстом — и читать, и писать. В таком случае, можно предположить, почему спрос на рынке оказался не настолько высоким, чтобы породить предложение — задержка с отображением вводимого. Одно дело — отрисовка дежурных графиков или неспешное перелистывание страниц. Другое — децисекунды между нажатием на клавиши и отображением введенного на экране плюс задержки при постоянном переключении окон. Слепая печать в хорошем темпе без мгновенного подтверждения раздражает, по опыту работы на медленных компах. Удобней будет делать на основном мониторе.


                1. dcc0 Автор
                  06.11.2017 19:06

                  В целом правда за вами. По собственному опыту, в свое время наловчился набирать которкие письма, запросы к поисковику и еще некоторые вещи на читалке. Набирать в Word вряд ли, хотя если при наборе больше человек смотрит на клавиатуру, а не на экран, то может быть, и не критично.
                  Будут за скунду сразу целые слова появляться, а не отдельные буквы.


              1. iig
                06.11.2017 19:10

                Все, что не сверстано специально под маленький дисплей, будет выглядеть ужасно. Комфортно будет читать художественную литературу, вот собственно и все.


            1. monah_tuk
              07.11.2017 05:03

              Моя читалка на ярком солнце "выгорает"


        1. mental3d
          08.11.2017 22:13

          Как вариант но где купить не знаю.


    1. igrblkv
      08.11.2017 22:13

      USB не видел, а вот с HDMI есть:
      DASUNG Paperlike Pro (2-е поколение):
      — 13.3'' E-Ink Carta
      — 1600*1200
      — HDMI
      — встроенная ножка-подставка, плюс отдельная подставка типа мониторной
      — поддержка Windows / Mac / Linux Ubuntu; Surface / iPhone / iPad
      — от $799
      Подробнее: www.indiegogo.com/projects/e-ink-monitor-with-hdmi-paperlike-pro#


  1. iig
    06.11.2017 18:23
    +1

    буханка-троллейбус.jpg ?


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


    1. dcc0 Автор
      06.11.2017 18:34

      Да. И не стоит, имхо, с читалки смотреть видео. Demo есть demo.


    1. dlinyj
      07.11.2017 10:49

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


      1. iig
        07.11.2017 11:46

        В интернетах есть описание менее вычурного велосипеда с Pocketbook и VNC.


        1. dlinyj
          07.11.2017 11:49

          Ну тут знатный велосипед, да. Но результат есть


        1. Barafu
          07.11.2017 15:33

          Есть и бескостыльный вариант: берём Onyx, ставим любой клиент RDP с маркета официальным способом.


          1. iig
            07.11.2017 15:53

            По костыльности оба варианта одинаковы. Разница, откуда взять VNC — из маркета или из исходников — не принципиальна. Главное, что добавляется костыль стандартной формы, и только 1. Бескостыльный вариант — это если с одной стороны — дисплей, а с другой — VGA/HDMI.
            А так, основное (и единственное) преимущество читалки — малое энергопотребление — не используется. Постоянное соединение с WiFi батарею высадит за час.


            1. Sklott
              08.11.2017 10:06

              Я думаю самый безкостыльный вариант (для Linux-а) был-бы такой:
              1) Берем драйвер E-Ink дисплея и компилируем его под наше ядро на PC, при этом «на выход» конфигурируя на USB(если есть) или что-нибудь близкое типа SPI.
              2) Заворачиваем этот «выход» в физический USB.
              3) На читалке вместо родного драйвера пишем проксю которая командочки из USB кидает напрямую в контроллер (т.к. команды идут от PC-шного драйвера, то даже никаких преобразований не надо).

              И все. Но сложно это все.


              1. iig
                08.11.2017 11:46

                Все проще ;)
                На PC — драйвер типа DisplayLink (но без DisplayLink ;) ), редиректящий видео в USB.
                На читалке — программа, преобразующая команды из USB в команды eink драйвера.
                Тот, кто так умеет — тому это не нужно.


    1. igormich88
      07.11.2017 11:21

      А у меня возник вопрос какой у электронных чернил ресурс по смене состояния. В смысле не испортит ли воспроизведение видео дисплей существенно быстрее чем штатное использование?


      1. dcc0 Автор
        09.11.2017 11:05

        Вопрос хороший. Не знаю. На многих е-книгах есть достаточно сложные программы — игры с высокой скоростью вывода графики — на PocketPro есть игра «Змейка», в ней очень высокая скорость движения. Почти на всех ридерах есть программа для рисования на экране, которая также демонстрирует высокую скорость ответа. На Sony можно увеличивать масштаб иозображения двумя пальцами (как на телефоне), это тоже очень быстро просиходит.


  1. dcc0 Автор
    06.11.2017 18:54

    В общем, есть некоторое поле для творчества.


  1. third112
    07.11.2017 04:04

    Интересно, а с Виндами eBook можно использовать в качестве второго монитора? Обычно мне второй монитор не нужен, поэтому у меня два компа и два монитора по одному на каждый, и еще ТВ можно как монитор использовать, но он в другой комнате на стенке висит. Когда отлаживал игрового бота с игрой в полноэкранном режиме, подумал о втором мониторе, но поленился делать физические перестановки устройств, а вот знал бы, как с книжкой сделать — то сделал бы. В моем случае видео было не нужно, подошел бы вывод текстовых сообщений.


    1. dcc0 Автор
      09.11.2017 12:08

      Интересно, а с Виндами eBook можно использовать в качестве второго монитора?

      Так как под Windows есть vnc-сервер и apache-tomcat, то ответ — да, можно.
      А поскольку guacamole фактически — это набор скриптов JS — то решение кроссплатформенное.


  1. dlinyj
    07.11.2017 10:45

    Статья отличная, спасибо. У меня пару ремарок, что мне не хватило в ней (не воспринимайте как критику, это просто ИМХО). Видео надо было на весь экран запустить, чтобы было видно как и что происходит. Не очень понятно по статье для чего какие пакеты ставим, я с этим не сталкивался. Как я понял трансляция идёт через веб.

    Я автор той статьи из заголовка, и пробовал на соньке 505 гнать видео. Но частота обновления у неё совсем поганенькая. Раз в секунду примерно…


    1. dcc0 Автор
      07.11.2017 12:00

      Все достаточно прозрачно. У наст есть аякс, который поддерживается почти всеми браузерами. Это важно для читалки. И есть на сервере x11vnc, который предоставляет удаленный доступ.
      Клиент -читалка — отправляет запрос, его принимает веб-сервер — в данном случае apache-tomcat и условно говоря отдает фоновой программе (daemon-у) guacd, т.е. guacamole-serv — тот в свою очередь передает данные на x11vnc.
      Сейчас нарисую схему, для большей наглядности.

      P.S.
      Половина этого сообщения набрана на PocketPro, потом она разрядилась.



    1. dcc0 Автор
      07.11.2017 13:15

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


  1. Sklott
    07.11.2017 12:03

    Автор, статью внимательно не читал, просто видео глянул, и возможно на этих устройствах такого добиться в принципе не реально, просто хочу показать как должноможет выглядеть видео на e-ink когда все сделано правильно: www.youtube.com/watch?v=_KyJACCUXkE


  1. firk
    07.11.2017 14:48

    Несколько лет назад хотел сделать подобное, но методом перепрошивки читалки в специализированное устройство для показа картинки, присланной с компа. К сожалению, дальше покупки читалки тогда дело не пошло (лень стало разбираться с её устройством), а тут вот сделали, круто.


  1. UncleSamuel
    08.11.2017 22:13

    А почему не развернули видео на весь экран?


  1. asm679
    08.11.2017 22:13

    Хочу заметить, что при наличии e-ink читалки с Андроидом на борту, спектр возможных применений существенно расширяется. Я, например, давно использую такую в качестве дисплея автономного измерительного комплекса. И это, кстати, оказывается существенно дешевле, чем городить собственный e-ink огород сходного размера…


    1. iig
      09.11.2017 11:45

      оказывается существенно дешевле

      Хм. Навскидку. В розничной лавке http://uamper.com/eInk/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-e-ink-e-paper-%D0%B4%D0%B8%D1%81%D0%BF%D0%BB%D0%B5%D0%B9-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD-%D1%80%D0%B0%D1%81%D0%BF%D0%B1%D0%B5%D1%80%D1%80%D0%B8-raspberry (у китайцев, думаю, можно и дешевле найти).
      Новый Onyx Book у китайцев в 2 раза дороже.


  1. dcc0 Автор
    09.11.2017 11:27

    Вот у меня другой вопрос ко всем, кто интересуется темой: как решить проблему с мышью?
    Теоретически движения курсора синхронизированы, независимо от того, где происходит движение — на клиенте или сервере. Однако, на дисплее ридера движения курсора невидно. Определять позицию по нажатию правой кнопки как-то не очень удобно. Есть вариант подключить compiz и оставлять след при движении, но все это полумера.