HOWTO: блокировка клавиш в Chrome

Как он работает в WTware без терминального сервера
Ответить
aka
Разработчик
Разработчик
Сообщения: 9664
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

HOWTO: блокировка клавиш в Chrome

Сообщение aka » Ср май 23, 2018 9:37 pm

1. Создаем текстовый файл. Название: runme. Без расширения. Только так, это название файла важно. В файл пишем:

Код: Выделить всё

#!/bin/sh

export DISPLAY=:0.0

xmodmap -e "keycode 37 ="       #L-ctrl
xmodmap -e "keycode 105 ="      #R-ctrl

xmodmap -e "keycode 95 =x x x"       #F11
xmodmap -e "keycode 96 =F18 F18 F18" #F12
2. Кладем файл runme в zip архив. Так надо. Получается например файл myfile.zip, здесь название зипа не важно. Внутри зипа один текстовый файл runme.

3. Файл myfile.zip записываем в каталог Everyone на TFTP.

4. В конфиг терминала пишем:

Код: Выделить всё

extra = myfile.zip
Такая настройка отключит в локальном Хроме клавиши Ctrl, F11 и F12, чтобы в режиме киоска пользователю было сложнее испортить браузер. Google подскажет, какие ещё клавиши целесообразно запрещать в Хроме.

Как это устроено. Строки:

Код: Выделить всё

xmodmap -e "keycode 37 ="       #L-ctrl
xmodmap -e "keycode 105 ="      #R-ctrl
Отключаюют клавишу Ctrl и все Ctrl-шоткаты.

С функциональными клавишами сложнее. Хром не позволяет просто отключить F1..F12. Если написать:

Код: Выделить всё

xmodmap -e "keycode 95 ="
То клавиша F11 продолжит работать. Приходится выкручиваться. Первый вариант:

Код: Выделить всё

xmodmap -e "keycode 95 =x x x"       #F11
Печатает букву x вместо F11. Второй вариант:

Код: Выделить всё

xmodmap -e "keycode 96 =F18 F18 F18" #F12
Нажимает клавишу F18 вместо F12. Сейчас F18 ничего не делает, и этот вариант выглядит предпочтительнее.

tobestik
Сообщения: 13
Зарегистрирован: Ср май 23, 2018 8:17 am

Re: HOWTO: блокировка клавиш в Chrome

Сообщение tobestik » Чт май 24, 2018 3:30 pm

Добрый день! Ура!
Но что то не получилось. :(
Содержимое runme - скопировано из первого поста.
Что я делаю не так? Файл лога прикрепляю как вложение.
Как я понимаю проблема где то тут:

Код: Выделить всё

[            gm] [   20.175979] [HTTP] Download config file /wtware/Everyone/myfile.zip from 10.43.2.87.
[            gm] [   20.178576] +--- Executing "/bin/unzip -n -d / /tmp/extra-myfile.zip"
[            gm] [   20.179255] +- Errorlevel: 0, output:
| Archive:  /tmp/extra-myfile.zip
|   inflating: runme
[          pfac] [   20.179397] Run /bin/sh /runme.
[            gm] [   20.179410] +------------------------
[          pfac] [   20.179421] Ok, PID 1105.
[            gm] [   20.179426] Run '/bin/sh /runme', log '/tmp/extra.out', env '', pid ''.
[         EXTRA] [   20.179774] /runme: line 2: 
: not found
[         EXTRA] [   20.179785] /runme: line 4: 
: not found
[            gm] [   20.180075] Swap device: /dev/sdb2.
[         EXTRA] [   20.180591] xmodmap:  unable to open display ':0.0
'
[            gm] [   20.181036]                       swap.cpp (   27): -- ERROR -- INTERNAL ERROR. Please, contact WTware tech support.
[            gm] [   20.181060]                    gm-main.cpp (  676): -- ERROR -- INTERNAL ERROR. Please, contact WTware tech support.
[            gm] [   20.181074] Unpack /bootmedia/packages/alsa.
[         EXTRA] [   20.181450] xmodmap:  unable to open display ':0.0
'
[         EXTRA] [   20.181565] /runme: line 7: 
: not found
[         EXTRA] [   20.182247] xmodmap:  unable to open display ':0.0
'
[         EXTRA] [   20.183003] xmodmap:  unable to open display ':0.0
'
[          pfac] [   20.183206] Process pid 1105 terminated, status 00000100.
[EXTRA] close kotopipe (n = 0, errno 0).
Вложения
logfile_24-05-2018_xmodmap.txt
(97.12 КБ) 136 скачиваний

aka
Разработчик
Разработчик
Сообщения: 9664
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: HOWTO: блокировка клавиш в Chrome

Сообщение aka » Чт май 24, 2018 3:41 pm

zip покажи.

tobestik
Сообщения: 13
Зарегистрирован: Ср май 23, 2018 8:17 am

Re: HOWTO: блокировка клавиш в Chrome

Сообщение tobestik » Чт май 24, 2018 3:43 pm

Показываю.
Вложения
myfile.zip
(218 байт) 12 скачиваний

aka
Разработчик
Разработчик
Сообщения: 9664
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: HOWTO: блокировка клавиш в Chrome

Сообщение aka » Сб май 26, 2018 10:59 pm

Поперхнулось об виндовые переносы строк. Попробуй это с тем же зипом: http://wtware.com/testing/201805261957.zip

tobestik
Сообщения: 13
Зарегистрирован: Ср май 23, 2018 8:17 am

Re: HOWTO: блокировка клавиш в Chrome

Сообщение tobestik » Пн май 28, 2018 4:00 pm

Работает, спасибо!

tobestik
Сообщения: 13
Зарегистрирован: Ср май 23, 2018 8:17 am

Re: HOWTO: блокировка клавиш в Chrome

Сообщение tobestik » Ср авг 08, 2018 12:56 pm

В случае использования RaspBerry(3) - как быть? Как я понимаю файл нужно скачать с сервера, и по HTTP, а такая загрузка с распбери невозможна. Можно реализовать блокировку без использования загрузки по сети? Чтобы и конфиг и архив был локально
Спасибо.

aka
Разработчик
Разработчик
Сообщения: 9664
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: HOWTO: блокировка клавиш в Chrome

Сообщение aka » Чт авг 09, 2018 7:47 am

Файл лежит там же, где и конфиг.

Если конфиг на локальной SD - зайди браузером и в веб-интерфейсе залей файл в каталог /configs. Или достань SD и руками запиши, тоже в каталог /configs

Если конфиги качаются по TFTP/HTTP, то файл на сервер должен лежать в каталоге Everyone.

Ответить