Intereting Posts
Загрузка общих объектов относительно исполняемого пути Выполнение простой математики в командной строке с использованием функций bash: $ 1, деленная на $ 2 (используя, возможно, bc) Мой ISO загружен как Tar.Gz? Установите переменные среды для gnome на wayland и bash на виртуальных терминалах (или ssh) Как защитить от сканеров портов? Каковы цели различных типов шрифтов XWindows? Почему файл exec генерирует 4 процесса в Linux? ошибка переустановки httpd на CentOS 7, как я могу ее решить? nginx php-fpm index.php не загружается Мой компьютер не может просматривать подключение только к определенной точке беспроводной связи, но другие работают Преобразование двух строк в два столбца Ядро Linux 3.3 регрессия мощности Активация Wi-Fi в Fedora Многопользовательская система Linux: домашний раздел каждого пользователя на собственном жестком диске Установка языкового стандарта в контейнере systemd-nswnwn (debian jessie)

почему команда запускается в приглашении, а не в скрипте?

У меня RPi работает raspbian jessie, который я использую в режиме киоска: я начинаю в /etc/rc.local

 /usr/bin/xinit /opt/domotique/xinitrc > /root/xinitrc-errors 2>&1 

и /opt/domotique/xinitrc является

 date > /tmp/date.txt export DISPLAY=':0' xset s off xset -dpms xset s noblank setxkbmap fr /usr/bin/matchbox-window-manager -use_titlebar no -use_cursor no & # wait for the window manager to start sleep 10 rm -fr /root/.config /root/.cache /usr/bin/firefox http://127.0.0.1:8081/infoscreen/infoscreen.html & # let the browser start sleep 10 /usr/bin/xte 'mousemove 10000 10000' sleep 2 /usr/bin/xdotool key F11 date >> /tmp/date.txt sleep 40000000 

Идея состоит в том, чтобы запустить минимальный оконный менеджер, затем firefox, а затем программно переместить мышь и нажать F11 чтобы перейти в полноэкранный режим.

Все работает отлично, за исключением того, что клавиша F11 не нажата – я остался с firefox вместе с его хромом.

Если я ssh на хост и запускаю в корневой строке

 export DISPLAY=':0' /usr/bin/xdotool key F11 

то firefox правильно переключается на полный экран. То же самое, если я использую xte . Файл управления /tmp/date.txt имеет две строки дат и ошибок в /root/xinitrc-errors .

Что может быть причиной такого странного поведения?

Из xdotool (1) :

ключ [опции] нажатие клавиши [ клавиша …]

Опции:

– окно окна

Отправьте нажатия клавиш на конкретный идентификатор окна. Вы можете использовать ссылки “ WINDOW STACK '', такие как “% 1 '' и “% @ ''. Если есть стек окна, то “% 1 '' является значением по умолчанию, иначе используется текущее окно.

В вашем тесте ssh вы уже сфокусировали окно Firefox, так что оно получило нажатие клавиши. В скрипте xte mousemove ... оставил его не сфокусированным.

Вы можете xdotool search с другими командами. Поиск firefox может возвращать несколько окон. В manpage используется пример --classname Navigator , который работает для тестируемой версии (47.0.1). В противном случае вы можете использовать xprop для поиска какой-либо другой строки, относящейся к соответствующему окну.

  xdotool search --classname Navigator windowfocus key F11 

В первой строке вашего скрипта вы можете попробовать положить shebang

 #!/usr/bin/env bash