Видео на электронной книжке. Попытка использовать е-ink reader в качестве второго монитора в linux

в 10:11, , рубрики: e-ink as monitor, второй монитор, Настройка Linux, Разработка для интернета вещей, системное администрирование, электорнная книга

Данное сочинение навеяно вот этой публикацией за 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 происходит разрыв соединения. Проблема частично решается автоматическим переподключением.

Заключение

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

Автор: dcc0

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js