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