FAQ SERVER x86

Невозможно выбрать разрешение 1920×1080 на Full HD мониторе

  1. Открыть терминал на x86
  2. Ввести следующее:
    xrandr 
    # и нажать ENTER
    

    3.Запомнить название монитора (обычно VGA-1, HDMI-1 или DP-1)

  3. Ввести следующее:
    cvt 1920 1080 
    # (to get the --newmode args for the next step) and ENTER
    
  4. Ввести:
    sudo xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync and 
    # ENTER
    
  5. Ввести:
    sudo xrandr --addmode VGA-1 "1920x1080_60.00" 
    # and ENTER (replace VGA-1 with your display type (step 3) like HDMI-1 or DP-1)
    
  6. Через GUI перейти в менеджер дисплеев System -> Preferences -> Hardware -> Displays и поменять разрешение у нужного монитора на 1920x1080.

  7. Ввести в терминале следующее:
    nano ~/external-monitor.sh
    
  8. Вписать в редактор следующее:
    #!/usr/bin/env bash
    xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    xrandr --addmode VGA-1 "1920x1080_60.00"
    # Ctrl + o, Ctrl + x для сохранения и закрытия редактора
    
  9. Вписать:
    cd ~/.config/autostart
    cp screen.desktop external.desktop
    nano external.desktop
    # изменить поле:
    Exec=/home/pi/external-monitor.sh
    

Ошибка в pm2 log при нажатии на кнопку

Ошибка возникает только на Node 2. Связана она с тем, что при дребезге кнопки звук вызывается на проигрывание несколько раз, при этом ресурсы сервера, выделенные на проигрывание предыдущего звука еще не освобождены. Таким образом нагружается процессор и заполняется оперативная память из-за чего в pm2 log отображается ошибка, говорящая о том, что не хватает ресурсов для воспроизведения звука.

В Node 3 данная ошибка исправлена. В Node 2 же она не приводит к каким-либо критическим последствиям.

Если слетело расширение firefox

Открыть firefox-esr и набрать в строке: my.stronglaser.ru/keys/mkiosk.xpi

Настроить адрес, fullscreen, убрать во второй вкладке все галочки. Убрать idle. Инструкция есть тут: https://docs.google.com/document/d/1d8Wdaij_kJANQXEMP2u6LPmPqHrtNbUiRIn15JxxlYQ/edit#

2 монитора Firefox

Это работает!

Первый монитор:

firefox-esr -p 1

Создать новый профиль назвать его 1.

Снова:

firefox-esr -p 1

Запуститься новый firefox-esr. Зайти в раздел Addons. Там в Plugins. У Vlc сделать always activate.

После перейти по ссылке: my.stronglaser.ru/keys/mkiosk.xpi

Со всем согласится и установить.

Вписать страницу (скорее всего http://192.168.50.2:1856/beta/hd).

Настроить браузер до конца, есть тут: https://docs.google.com/document/d/1d8Wdaij_kJANQXEMP2u6LPmPqHrtNbUiRIn15JxxlYQ/edit#

Второй монитор:

firefox-esr -p 2

Создать новый профиль назвать его 2.

Снова:

firefox-esr -p 2

Запуститься новый firefox-esr. Зайти в раздел Addons. Там в Plugins. У Vlc сделать always activate.

После перейти по ссылке: my.stronglaser.ru/keys/mkiosk.xpi

Со всем согласится и установить.

Вписать страницу (скорее всего http://192.168.50.2:1856/beta/).

Настроить браузер до конца, есть тут: https://docs.google.com/document/d/1d8Wdaij_kJANQXEMP2u6LPmPqHrtNbUiRIn15JxxlYQ/edit#

Скачать скрипты для двух мониторов:

cd /home/pi
sudo apt-get install wmctrl
wget my.stronglaser.ru/keys/two-monitors.sh
sudo chmod +x two-monitors.sh

Протестируем, что работает:

./two-monitors.sh

Если все ок меняем команду в автозагрузке:

cd /home/pi/.config/autostart/
nano firefox-esr.desktop # может быть другое название, действуйте по ситуации.

Редактируем строчку exec на:

/home/pi/two-monitors.sh

Главный монитор

Primary

~/.config/monitors.xml

Отменить оповещения об обновлениях

nano /etc/apt/apt.conf.d/99update-notifier

Закомеенитить (поставить # перед строкой) строку, которая должна выглядить так:

#DPkg::Post-Invoke {"if [ -d /var/lib/update-notifier ]; then touch /var/lib/update-notifier/dpkg-run-stamp; fi; if [ -e /var/lib/update-notifier/updates-available ]; then echo > /var/lib/update-notifier/updates-available; fi "; };

Готово!

###Отключение Screensaver (Deem screen to save power) через терминал

gsettings set org.gnome.settings-daemon.plugins.power idle-dim false

Альтернативно:

gsettings set org.gnome.settings-daemon.plugins.power active false

###Установка Turn off After на Never

gsettings set org.gnome.desktop.session idle-delay 0

Альтернативно:

gsettings set org.gnome.desktop.screensaver idle-activation-enabled false

###Вывод сигнала с тачскрина

В лабиринтах, где два экрана, и один при этом - сенсорный, если не менять настройки, то сигнал от сенсора будет выводиться на оба экрана (потому что компьютером создается один виртуальный экран, отображение которого разбивается на два физических).
Просто xinput-calibrator не сработает в этом случае. Необходимо указать на какой имено экран выводить сигнал от сенсора. Общий синтаксис для этого такой: xinput map-to-output <device> <output> Для этого надо сначала узнать какой экран обладает сенсором касаний:

xinput

В терминал будет выведена такая таблица:

user@user-hpEnvy:~$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:401b   id=10   [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:4016   id=11   [slave  pointer  (2)]
⎜   ↳ ELAN20E7:00 04F3:20E7                     id=13   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ HP Truevision HD                          id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ HP Wireless hotkeys                       id=16   [slave  keyboard (3)]
    ↳ HP WMI hotkeys    

В секции Virtual Core pointer необходимо найти свой сенсорный монитор и запомнить его id.

(Допустим, наш экран называется SynPS/2 Synaptics TouchPad, тогда его id=15. Запомним это)

Далее необходимо узнать в какой видео порт подключен экран. Для этого воодим команду:

xrandr

В окно терминала будет выведена такая таблица:

user@user-hpEnvy:~$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
   1920x1080      60.0*+   59.9     40.0  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
HDMI1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 600mm x 340mm
   1920x1080      60.0*+   50.0     59.9  
   1680x1050      59.9  
   1600x900       60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x720       60.0     50.0     59.9  
   1024x768       60.0  
   800x600        60.3  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        60.0     59.9  
   720x400        70.1  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Необходимо в ней найти название порта, к которому подключен наш экран

(Например мы знаем, что экран подключен по кабелю HDMI и в таблице мы видим HDMI1 connected, тогда становится понятно, что наш экран занимает порт HDMI1)

Теперь можно вводить в терминале команду, опираясь на общий синтаксис, приведенный выше, и используя данные об экране, полученные ранее, как опции к команде. В нашем случае получится:

xinput map-to-output 15 HDMI1

После этого можно пробовать работу сенсора

НО!!!

Эти настройки будут работать ТОЛЬКО во время нынешней сессии.

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

(однако, внесение команды на последнюю строчку файла /etc/rc.local, скорей всего не поможет, надо действовать иным путем)

Необходимо зайти в startup Applications и добавить туда эту команду (имя не имеет значения, в поле Command необходимо ввести нашу команду со всеми аргументами, как в Терминале) и сохранить изменения.
Перезапустить сервер и проверить работоспособность.

Posts

subscribe via RSS