Экранное сообщение Необходимо подключиться к терминалу при использовании опции -D -R SessionName

У меня есть скрипт в bash, который проверяет файл mp4, и если он находит более одного файла, он начинает воспроизводить их один за другим.

Скрипт работает из командной строки, когда я вхожу в систему по ssh.

Но когда я перезагружаю rpi, он не запускается с автозапуском в rc.local, говоря:

"Должен быть подключен к терминалу"

Это часть сценария

    if [ "$count_dir_video" -gt "1"  ] ;then
 53 
 54                 # make background black to hide wallpaper between videos
 55                 DISPLAY=:0 screen -dmS "black_background" feh -FxYqZ /opt/scripts/black_background.jpg
 56                 echo "przed sleep"
 57                 #screen -dmS "$1" sleep 5
 58                 echo "po sleep"
 59 
 60                         while :
 61                         do
 62                                 for entry in $root_dir_video
 63                                 do
 64 
 65                                 # multiple files
 66                                 echo "przed omx"
 67                                 screen -D -R "$1" omxplayer -o hdmi -p -b --no-osd --vol 100 "$entry" >> /var/log/sds.log
 68                                 echo "po omx"
 69                                 done
 70                         done
 71                 else
 72 
 73                         # single file
 74 
 75                         screen -dmS "$1" omxplayer -o hdmi -p -b --loop --no-osd --vol 100 "$root_dir_video"
 76                 fi

Проблема в строке 67, и я не могу заставить ее работать.

Я пробовал другую комбинацию параметров экрана, но всегда одно и то же.

Идея состоит в том, что он будет запускать каждую запись в одном сеансе именованного экрана.


person Paweł Glica    schedule 08.11.2016    source источник


Ответы (1)


мужской экран

   -D -R   Attach here and now. In detail this means: If a session is run‐
           ning, then reattach. If necessary detach  and  logout  remotely
           first.   If  it  was not running create it and notify the user.
           This is the author's favorite.

Используйте строчные буквы -d с -m.

person Ipor Sircer    schedule 08.11.2016
comment
Я пробовал это, но с этой комбинацией будет создано несколько сеансов с именем, например, с параметром $1, и, как я уже сказал, мне нужен один сеанс, который будет повторно подключен во время цикла. - person Paweł Glica; 08.11.2016
comment
Извините, но я не понимаю, как поместить команды в одну строку, можете ли вы указать это немного яснее? - person Paweł Glica; 08.11.2016