Назад | Перейти на главную страницу

Как / какой уровень RC использовать для запуска экрана с прикрепленным дисплеем.

Иногда после перезагрузки некоторые из моих приложений с графическим интерфейсом закрывались. Эти приложения также имеют веб-интерфейс, но только если их графический интерфейс открыт. Если устройство физически доступно для меня, я могу запустить экран с помощью команды screen, отсоединиться от него, и если мне когда-нибудь понадобится открыть что-нибудь еще, для чего требуется графический интерфейс, я могу повторно подключиться к тому же экрану для выполнения задачи. IE> пока на сервере (физически)

screen -S display

тогда я могу быть на любом компьютере (удаленно через ssh)

screen -r display
transmission-gtk&

Приведенный выше код затем откроет передачу-gtk

но, если у меня нет экрана, подключенного к физической машине, передача-gtk выведет

error, no display attached.

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

Так вот в чем вопрос! Как создать этот "экран" при загрузке. В какой RC я его вставил.

Спасибо

Ладно. Прошло время, но вот «частичное» решение.

Если на рабочем столе, я запускаю сеанс терминала и запускаю screen. Этот недавно созданный сеанс терминала /screen имеет доступ к x11 прочее.

Поэтому я могу запустить transmission-gtk или что-то еще из командной строки, войдя и снова подключив экран.

Пожалуйста, добавьте к этому, если вы найдете способ запустить экран из графического интерфейса при загрузке.

Я думаю, что «ошибка, дисплей не подключен» возникает из-за того, что вы пытаетесь запустить программу с графическим интерфейсом пользователя из экран Терминал. Могу ошибаться, но насколько я знаю, экран не имеет связи с дисплеями графического интерфейса.

Но чтобы ответить на ваш вопрос, предложение @rlduffy об использовании rc.local - хорошее место для начала. Вам нужно будет добавить строку в rc.local, как показано ниже, которая запустит экран процесс в автономном режиме:

/bin/su --login -c "/usr/bin/screen -d -m -t myscreen /bin/sh -c command_you_want_to_run" preferred_useracct

Поскольку rc.local запускается после всех остальных процессов запуска, больше нет вопроса о том, какой уровень RC использовать. Ты можешь использовать экран -r myscreen присоединиться к вашему отстраненному экран процессы.

Моей отправной точкой будет rc.local.