Отправка команд в другой терминал на Raspbian: ttyecho не работает должным образом - PullRequest
0 голосов
/ 17 июня 2019

Теоретически, ретро-игровое приложение RetroPie не может работать вместе со средой рабочего стола Raspbian PIXELS. Я нашел следующее руководство онлайн, которое теоретически работает вокруг этого:

http://www.aoakley.com/articles/2016-12-29-raspberry-pi-retropie-pixel-desktop.php

Согласно статье, я пытаюсь настроить команду терминала для выхода из среды рабочего стола, снова войти в систему на tty1, а затем запустить RetroPie. Вот соответствующая строка кода, которая запускается из файла конфигурации .desktop, доступ к которому осуществляется через «меню Пуск»:

sudo su -c "systemctl stop lightdm ; ttyecho -n /dev/tty1 \"username\" ; ttyecho -n /dev/tty1 \"password\" ; ttyecho -n /dev/tty1 \"emulationstation ; sudo systemctl start lightdm ; exit\""

Я ожидаю, что это выгрузит PIXELS, а затем войдите в систему на tty1, введя имя пользователя в одной строке, а затем пароль в следующей и запустите команду 'emulationstation'.

Вместо этого вся команда вводится в поле имени пользователя (флаг -n запрашивает новую строку, но она просто рассматривается как возврат каретки, а не как нажатие клавиши «Enter» на клавиатуре). Выход:

raspberrypi login: username
password
emulationstation ; sudo systemctl start lightdm ; exit
password: ___ # expecting a password...

НЕ

raspberrypi login: username
password: password
next command: emulation station
next command: sudo systemctl start lightdm
next command: exit

Итак, терминал просто зависает, ожидая пароля. Я попытался добавить разрывы строк с помощью \r (они просто печатаются как "\ r"), изменив -n на -ne, и ничего не помогло.

Я новичок в Linux, поэтому вся помощь с благодарностью получена!

...