Qt программа + xinit

yasha

New member
Сообщения
8
#1
ОС - astra linux se 1.5, Qt с диска разработчика. Не используется окружение рабочего стола. При запуске запускаю xinit потом в ней графическую программу. Она кооректно работает. Но при переключении в консоль <Ctrl> + <Alt> + <F1>, выполнение программы прекращается(например не пишуться данные в базу данных, на принимаются данные с COM порта) и при обратном переходе в xinit программа "оживает".
 

Olej

New member
Сообщения
1 010
#2
Не используется окружение рабочего стола. При запуске запускаю xinit потом в ней графическую программу. Она кооректно работает. Но при переключении в консоль <Ctrl> + <Alt> + <F1>, выполнение программы прекращается
Вы как запускаете xinit "при запуске"? Из другой консоми при загрузке? Из какого-то стартового скрипта? (какого?)
Как вы потом осуществляете "обратный переход в xinit"?
Чтобы лучше понимать что вы там намудрили...

P.S. На вскидку:
Ваша система на старте инициализируется systemd, и делает большие инициализации в зависимости от затребованного level старта, см.:
Код:
olej@astra:/lib/systemd/system$ cd /lib/systemd/system

olej@astra:/lib/systemd/system$ ls runlevel*.target
runlevel0.target  runlevel1.target  runlevel2.target  runlevel3.target  runlevel4.target  runlevel5.target  runlevel6.target
Старт в графическом режиме 5 - это совсем не то, что старт на консольном уровне 3 + xinit (и уж тем более на rescue level 1).
При таком как у вас запуске: level 3 + xinit, возможно, происходит недостаточно полная инициализация системы X11...
Нужно смотреть, в 1-ю очередь, тщательно документацию по systemd.
 

yasha

New member
Сообщения
8
#3
Вы как запускаете xinit "при запуске"?
Система запускается без графики. Ввожу логин и пароль. Запускаю sudo xinit, потом в консоле программу.
Как вы потом осуществляете "обратный переход в xinit"?
<Ctrl> + <Alt> + <F7>. Переход в графическую консоль где запущена программа.
 

AFilippov

New member
Сообщения
171
#4
ОС - astra linux se 1.5, Qt с диска разработчика. Не используется окружение рабочего стола. При запуске запускаю xinit потом в ней графическую программу. Она кооректно работает. Но при переключении в консоль <Ctrl> + <Alt> + <F1>, выполнение программы прекращается(например не пишуться данные в базу данных, на принимаются данные с COM порта) и при обратном переходе в xinit программа "оживает".
Как варианты на быструю руку:
1 Проверить у программы параметры запуска без GUI и, если есть, использовать.
2 Из того, что сразу вспоминается: запуск через tmux, screen. Или примерно так - nohup program > /dev/null &
3 Возможно устроит вариант с пробросом Х-сов на другую машину.
4 Не переключаться в текстовую консоль.
5 Поставить полностью DE, проверить, как программа себя ведет.
 

yasha

New member
Сообщения
8
#7
Я еще не решил вопрос. Думал что глюк в астре, но в дебиане также работает. Счас гуглить буду(
 

AFilippov

New member
Сообщения
171
#8
Я еще не решил вопрос. Думал что глюк в астре, но в дебиане также работает. Счас гуглить буду(
В Wiki сразу предупреждают, что подобный способ запуска графических приложений чреват любыми глюками.
Еще вариант, если этот ПК не подключен к сети, и вам необходимо периодически мониторить работу приложения или взаимодействовать с ним через GUI-интерфейс. Установите полностью DE (пакет fly-all-main). Чтобы пользователи не лезли шаловливыми ручками, включите режим киоска, пропишите свою программу. То есть, получится то же, что сейчас у вас есть. Но так правильнее будет. Накладные расходы в ОЗУ +200Мб, по CPU практически нет.
Из вики Астры - Режим киоска.
Или, если сеть есть, пробросить Х-ы, окно приложения переместить на 2-3-й рабочий стол, чтобы на глаза не лезло.
 
Последнее редактирование: