Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: AlexEx от Апрель 24, 2019, 10:53



Название: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 24, 2019, 10:53
На форуме Astra Linux мне не ответили, так что попробую спросить здесь.
Портирую несколько приложений с Windows 7 Qt 5.7 на Astra Linux (пока CE) Qt 5.11. Требуется полностью запретить пользователю закрывать и перемещать некоторые окна (не имеющие X или заголовка), а также запретить завершение приложений. Желательно вообще убрать системное меню и иконки из панели задач. Это ж надо было догадаться дать даже нерутовоному пользователю возможность грохнуть свое приложение из практически пользовательского интерфейса! И это ОС, разрешенная МО РФ! Сейчас под Windows все это делается платформенно зависимым способом. Как я понимаю, всё это надо делать через API fly-wm, а не через X11, или я ошибаюсь? Просьба подсказать, как это реализовать.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: qate от Апрель 24, 2019, 13:25
необходимо запретить даже killall my_app_ran_by_me ?
что такое делает приложение, что его нельзя прибить ? )


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: zhbr от Апрель 24, 2019, 14:19
всё это надо делать через API fly-wm, а не через X11, или я ошибаюсь? Просьба подсказать, как это реализовать.
может нужно вобще тогда вместо запуска wm, запускать это приложение?

Это ж надо было догадаться дать даже нерутовоному пользователю возможность грохнуть свое приложение из практически пользовательского интерфейса! И это ОС, разрешенная МО РФ!
странные нападки...


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 24, 2019, 15:16
Приложение отображает мнемосхемы технологического процесса. Убив приложение оператор может пропустить много важного и не выполнить вовремя то, что положено. От wm врядли можно избавиться (хотя такая идея и приходила мне в голову, а другая бредовая идея была попробовать OpenGl :-) - но тут я не специалист), так как в перспективе переход на SE версию.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: ssoft от Апрель 24, 2019, 15:17
Требуется полностью запретить пользователю закрывать и перемещать некоторые окна (не имеющие X или заголовка), а также запретить завершение приложений.

Это можно запретить с помощью перехвата событий QCloseEvent, QMoveEvent и др. Возврат по ним false и/или задание фиксированной геометрии даст желаемый результат.

Желательно вообще убрать системное меню и иконки из панели задач. Это ж надо было догадаться дать даже нерутовоному пользователю возможность грохнуть свое приложение из практически пользовательского интерфейса!

Это делается через системные настройки.
Не отображать окно в системном меню можно, например, задав ему свойство Qt::Tool.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 24, 2019, 15:47
Собственно так сейчас все и сделано - closeevent игнорируется, на move посажен свой обработчик. Засада в том, что moveevent происходит только в начале и конце перемещения окна (и то уже после перемещения), так что окно все-таки перемещается и если не завершать процесс перемещения, окно может быть оставлено где угодно (почти). Qt::Tool и так есть и прекрасно работает под Windows, но вот Астре он пофигу. Ну и самый криминал - возможность посылки SIGKILL. Похоже, надо будет все-таки решать проблему работы без wm.



Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: ssoft от Апрель 24, 2019, 15:59
В Астре, как и любом другом линуксе, много разных оконных менеджеров. У многих из них обширный набор опций для управления окнами. Разные политики могут устанавливаться даже по названию окна. Можете даже свой менеджер написать на базе какого-нибудь opensource.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: qate от Апрель 24, 2019, 16:15
Ну и самый криминал - возможность посылки SIGKILL.

Так ведь и в венде есть taskkill

Можно написать скрипт перезапуска приложения по завершению
Там же использую xdotool периодически открывать окно на полный экран )


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 24, 2019, 16:23
В Винде надо еще добраться до taskkill, а Ctrl-Alt-Del (и многое другое) можно ведь и запретить, а тут SIGKILL в системном меню прямо рядом с пунктом закрытия окна.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: qate от Апрель 24, 2019, 16:30
Конечно открыть командную строку не всем под силам в венде )
Но такие решения не надежны

Для надежности стоит писать сервис, работающий от рута или другого пользователя
А обычному юзеру - морду-клиент с перезапуском. При важном сигнале от сервера клиент можно выводить поверх всех окон.
Тут конечно придется сильно доработать приложение.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Old от Апрель 24, 2019, 16:45
2AlexEx Вы бы рассказали, чего вы хотите достичь в конце концов. Для чего такие ограничения пользователя?
Что будет доступно пользователю (мышь и клавиатура или только мышь)? Если у пользователя будет клавиатура, то любое окно он сможет закрыть через Ctrl-Alt-Esc (эта функция самих иксов) - вместо курсора появиться череп, наводите его на нужное окно и кликаете. Приложение уже ничего с этим не сделает. Эту возможность также нужно как-то отключать.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 25, 2019, 10:55
Попробую объяснить, что и для чего. Есть самописная SCADA система 1999-го года рождения. Технологический процесс неважен. Все в ней работает как надо, что много раз проверено. Вот только весь пользовательский интерфейс рабочих мест операторов сделан под Windows (сначала NT 4.0, потом XP, потом Windows 7). Теперь у нас импортозамещение и в список разрешенных ОС Windows больше не входит (а ведь NT 4.0 когда-то входила), а вот Astra Linux SE входит. И показалось, что она наиболее вменяемая, так что надо портировать. Ошибки оператора могут стоить ну очень дорого. Отсюда и весь наезд.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Old от Апрель 25, 2019, 11:03
Попробую объяснить, что и для чего. Есть самописная SCADA система 1999-го года рождения. Технологический процесс неважен. Все в ней работает как надо, что много раз проверено. Вот только весь пользовательский интерфейс рабочих мест операторов сделан под Windows (сначала NT 4.0, потом XP, потом Windows 7). Теперь у нас импортозамещение и в список разрешенных ОС Windows больше не входит (а ведь NT 4.0 когда-то входила), а вот Astra Linux SE входит. И показалось, что она наиболее вменяемая, так что надо портировать. Ошибки оператора могут стоить ну очень дорого. Отсюда и весь наезд.
По моему опыту, такие системы необходимо реализовывать следующим образом: есть ядро системы управления, реализованное как набор демонов (служб), которые и реализуют весь техпроцесс. И есть отдельно графический клиент, который может корректировать работу ядра. Даже если на время графический клиент будет закрыт, то на работе всей системы это никак не отразиться.
Ядро должно быть максимально надежным, с возможностью автоматического перезапуска подсистем демонов, а GUI является лишь средством просмотра телеметрии и корректировки параметров ядра. Тут можно ничего не блокировать, закрыл оператор GUI ну и ладно, захочет посмотреть/откорректировать параметры - запустит сам.

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

IMHO, это чисто вендовый подход, когда один бинарник и техпроцессом управляет и GUI отображает, и кино показывает. Когда все разделено, можно из "кубиков" собирать более сложные и надежные системы.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 25, 2019, 11:23
Мы же не на облаке живем, на разработку нового правильного ПО никто денег не даст, тем более что все и так работает. Да и дело не в надежности самого ПО, все строировано и зарезервировано. Дело в том, что при случайном закрытии пользовательского интерфейса оператор может проморгать важное событие. Прокурор-то его потом в архиве найдет :-). Так что возможность ошибки оператора должна быть сведена к минимуму. Речь идет именно об ошибке, целенаправленные действия не рассматриваем.
Кстати, по Ctrl-Alt-Esc ничего не происходит - сейчас проверил.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 25, 2019, 11:27
PS
To Old.
Техпроцессом управляют совсем другие вычислительные средства, эти машины АРМ - только GUI.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Old от Апрель 25, 2019, 11:30
Дело в том, что при случайном закрытии пользовательского интерфейса оператор может проморгать важное событие. Прокурор-то его потом в архиве найдет :-). Так что возможность ошибки оператора должна быть сведена к минимуму.
Тогда просто добавьте диалог с запросом подтверждения, если пользователь пытается закрыть окно (выйти из приложения) и запрашивайте два раза, если он это делает при работающем техпроцессе.
Все это делается в обработчике QCloseEvent, в пару строк кода. В документации даже пример такой был.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Old от Апрель 25, 2019, 11:33
PS
To Old.
Техпроцессом управляют совсем другие вычислительные средства, эти машины АРМ - только GUI.
Тогда можно принудительно перезапускать GUI при получении важного сообщения, если он был закрыт. Или сигнализировать об этом, например, открытием отдельного диалога или всплывающим сообщением SystemTray + звуковое оповещение. Тогда оператор сможет сам открывать GUI и разобраться с проблемой.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 25, 2019, 11:40
Да CloseEvent и так заблокирован, а перемещение почти тоже - см. выше. А вот соседствующие в меню пункты Закрыть окно и Убить приложение - это жесть. Конечно, последнее с подверждением, но все мы знаем, как на автомате жмется OK.
Звук в свое время тоже был опробован, специфика не позволила использовать.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Old от Апрель 25, 2019, 12:02
Да CloseEvent и так заблокирован, а перемещение почти тоже - см. выше. А вот соседствующие в меню пункты Закрыть окно и Убить приложение - это жесть. Конечно, последнее с подверждением, но все мы знаем, как на автомате жмется OK.
Звук в свое время тоже был опробован, специфика не позволила использовать.

Ну еще как вариант, можно открывать главное окно в fullscreen (QWidget::showFullScreen), тогда заголовка окна не будет вообще.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 25, 2019, 12:15
А заголовка главного окна и так нет, меню присутствует в иконке окна из панели инструментов. Окон много и некоторые должны иметь заголовки. Идея убрать системные заголовки и написать свои тоже была, но поскольку это не решает проблемы меню из панели инструментов, пока отложена.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 25, 2019, 13:07
Итого, похоже варианта всего два:
1. Повесить демона, перезапускающего UI при его закрытии (самое простое, но не очень красивое).
2. Взять готовый простейший WM и допилить его до нужного состояния (тут могут быть проблемы с сертификацией под SE).
Я, честно говоря, рассчитывал, что найдутся люди, поработавшие с библиотеками libflycore, libflyui, может в них что есть. Никакого описания их я пока не нашел :-(.
Спасибо за обсуждение.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: qate от Апрель 25, 2019, 13:21
1. Повесить демона, перезапускающего UI при его закрытии (самое простое, но не очень красивое).

не нужен демон, достаточно bash скрипта - просто цикл перезапуска
это полезно и при падениях программы
я так и делаю


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 25, 2019, 13:31
Ну это дело вкуса :-) Мне проще написать программу на C-ях. Да и все, что описано - это лишь вершина айсберга. Надо будет отслеживать много еще чего.



Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Dimas от Апрель 25, 2019, 18:48
Попробую объяснить, что и для чего. Есть самописная SCADA система 1999-го года рождения. Технологический процесс неважен. Все в ней работает как надо, что много раз проверено. Вот только весь пользовательский интерфейс рабочих мест операторов сделан под Windows (сначала NT 4.0, потом XP, потом Windows 7). Теперь у нас импортозамещение и в список разрешенных ОС Windows больше не входит (а ведь NT 4.0 когда-то входила), а вот Astra Linux SE входит. И показалось, что она наиболее вменяемая, так что надо портировать. Ошибки оператора могут стоить ну очень дорого. Отсюда и весь наезд.

Установите wine и запускайте старые исполняемые файлы. Мега-костыль, зато заново не надо переписывать и отлаживать код. Есть товарищи, которые на AstraLinux также запускают боевую программу, только тсс. Они об этом стесняются говорить военным.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Igors от Апрель 26, 2019, 08:10
Дело в том, что при случайном закрытии пользовательского интерфейса оператор может проморгать важное событие. Прокурор-то его потом в архиве найдет :-).
И отсюда вывод - не позволять закрывать! И начинается "борьба с ОС" - куча хлопот "зато" сомнительный результат. Думается такой подход бесперспективен. В конце-концов оператор может и насвистеть типа "да ничего я не проморгал, это свет рубанули!".

Стоит поискать др пути обеспечения (необходимой) надежности. Напр при следующем запуске вываливать окно что, мол, прощелкал, или даже восстанавливаться. Словом, не позволять просто так вернуться к нормальной работе пока проблема не решена. А "держать не пущать" - дело тухлое.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: vic57 от Апрель 26, 2019, 09:16
Итого, похоже варианта всего два:
1. Повесить демона, перезапускающего UI при его закрытии (самое простое, но не очень красивое).
2. Взять готовый простейший WM и допилить его до нужного состояния (тут могут быть проблемы с сертификацией под SE).
Я, честно говоря, рассчитывал, что найдутся люди, поработавшие с библиотеками libflycore, libflyui, может в них что есть. Никакого описания их я пока не нашел :-(.
Спасибо за обсуждение.

я делал такие вещи в тайловых WM. попробуйте dwm - самый простой


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: qate от Апрель 26, 2019, 11:08
попробуйте dwm - самый простой

интересно как к этому отнесутся сами пользователи программы ? )
им будет неудобно, все же привыкли к обычным проведениям окон, мозг вынесут разработчику
если только не предполагается использовать комп для одной программы ТС


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 26, 2019, 11:19
Все это - не замена существующего ПО, это - новые системы для той же технологии. Про "свет рубанули" - все питается от двух независимых сетей при УПС величиной с гору. А оператор, к сожалению, активно участвует в тех процессе. Так свыше предопределено.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 26, 2019, 11:21
ЗЫ как всегда
У Астры обнаружился kiosk-mode. Вроде-бы для таких вот случаев. Буду смотреть.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: vic57 от Апрель 26, 2019, 12:14
попробуйте dwm - самый простой

интересно как к этому отнесутся сами пользователи программы ? )
им будет неудобно, все же привыкли к обычным проведениям окон, мозг вынесут разработчику
если только не предполагается использовать комп для одной программы ТС

именно так и делается в серьезных системах - все, что не разрешено - запрещено


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: kuzulis от Апрель 26, 2019, 12:25
[offtop]
Плюс, еще и резервирование АРМ операторов делают обычно... Если на одном АРМ-е какой-то кирдык со скадой, то на резервном (или одном из резервных АРМ-ов) запускается "виу-виу-виу" чтобы привлечь внимание оператора. Также все события логируются в базу, как все действия оператора, так и прочее... И если в логе видно, что оператор закрыл главное окошко - то он ССЗБ, т.к. никогда в операторы не берут идиотов, все операторы технически грамотные и подкованные (да и расписываются в журнале, о том что ознакомлены с особенностями скады и пр.) и дадут фору любому программисту.. :)

Плюс ко всему, в каждой отрасти есть свои очень жесткие требования к СКАДАМ и пр. фишки (алгоритм дейстий и реакции оператора и/или СКАДЫ на то или иное событие)... Если таких требований нет - и программист сам придумывает всякие штучки-дрючки (а вот, запрещу ка я закрытие окошек) - то тут у меня нет слов (а в этой теме именно такая дичь).
[/offtop]


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 26, 2019, 12:36
Да все так и есть, все пульты и прочие вычислительные средства резервированно-троированные, локальная сеть дублированная. Вот оператор только живой и не может он смотреть на три экрана одновременно. Звук не прижился от слова совсем.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: vic57 от Апрель 26, 2019, 17:23
можно перезапускать приложение без потери данных
mainwindow.h
Код:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
mainwindow.cpp
Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
main.cpp
Код:
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    while (1) {
        w.show();
        a.exec();
    }
    return 0;
}
mainwindow.ui
Код
XML
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
 <property name="geometry">
  <rect>
   <x>0</x>
   <y>0</y>
   <width>287</width>
   <height>265</height>
  </rect>
 </property>
 <property name="windowTitle">
  <string>MainWindow</string>
 </property>
 <widget class="QWidget" name="centralWidget">
  <layout class="QGridLayout" name="gridLayout">
   <item row="0" column="0">
    <widget class="QLineEdit" name="lineEdit"/>
   </item>
   <item row="1" column="0">
    <widget class="QSpinBox" name="spinBox"/>
   </item>
  </layout>
 </widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>
 


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: vic57 от Апрель 27, 2019, 13:18
Требуется полностью запретить пользователю закрывать и перемещать некоторые окна (не имеющие X или заголовка), а также запретить завершение приложений.
ну вот как вариант - неубираемое, незакрываемое и не перемещаемое окно
Код:
//respawn.cpp
#include <QApplication>
#include <QWidget>
#include <QString>

int main(int argc, char** argv) {
    QApplication app(argc,argv);
    QWidget w;
    int ax=100,ay=100,aw=400,ah=300;
    if (argc == 5) {
        ax = QString::fromLocal8Bit(argv[1]).toInt();
        ay = QString::fromLocal8Bit(argv[2]).toInt();
        aw = QString::fromLocal8Bit(argv[3]).toInt();
        ah = QString::fromLocal8Bit(argv[4]).toInt();
    }
    w.setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
    w.setGeometry(ax,ay,aw,ah);
    while (1) {
        w.show();
        app.exec();
    }
}
запуск
Код
Bash
#!/bin/sh
 
./respawn &
./respawn 100 450 500 400 &
 
останов
Код
Bash
#!/bin/sh
 
pkill respawn
 


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 27, 2019, 13:40
Я, все-таки, кое-чего нашел: во-первых - настройки, при которых окна не попадают в панель инструментов (соответственно, нет и меню), может, есть и еще чего-нибудь хорошее; во-вторых - kiosk-mode для организации разных терминалов, позволяет запускать приложение вообще без рабочего стола либо организовывать песочницу. Не устраивает ведь не весь WM, а только DE.
У перезапуска есть побочный эффект - если приложение падает по сбою железа или от программной ошибки, может получиться циклический перезапуск. Тут надо думать.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: vic57 от Апрель 28, 2019, 11:00
Код:
#include <QApplication>
#include <QWidget>
#include <QString>
//#include <QDebug>
#include <QMessageBox>

int main(int argc, char** argv) {
    QApplication app(argc,argv);
    QWidget w;
    int ax=100,ay=100,aw=400,ah=300;
    if (argc == 5) {
        ax = QString::fromLocal8Bit(argv[1]).toInt();
        ay = QString::fromLocal8Bit(argv[2]).toInt();
        aw = QString::fromLocal8Bit(argv[3]).toInt();
        ah = QString::fromLocal8Bit(argv[4]).toInt();
    }
    //w.setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
    w.setGeometry(ax,ay,aw,ah);
    while (1) {
        w.show();
        app.exec();
        QMessageBox box;
        box.setIcon(QMessageBox::Warning);
        box.setText("<font color=red>Приложение остановлено<br>Перезапустить?</font>");
        box.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
        box.setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
        int ok = box.exec();
        if (ok != QMessageBox::Ok) break;
    }
}
перезапуск с сообщением например. но по моему опыту - если комп нужен для контроля технологических процессов - ничего лишнего быть не должно. я бы максимум Openbox поставил как WM, без всяких Fly-kiosk


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 28, 2019, 19:33
OpenBox тоже рассматривался. Здесь, скорее всего будут проблемы с сертификацией под версию Special Edition, надо выяснять. /offtop Ну и кой-какой опыт я тоже накопил, заничвясь разработкой этого сорта ПО с 1983 г. :-) offtop/


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: qate от Апрель 29, 2019, 08:57
У перезапуска есть побочный эффект - если приложение падает по сбою железа или от программной ошибки, может получиться циклический перезапуск. Тут надо думать.

делать перезапуск при сбое ограниченное число раз, например 5
и всегда выжидать паузу между перезапусками 5 сек



Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: qate от Апрель 29, 2019, 08:59
останов
Код
Bash
pkill respawn
 

от этого тоже можно защититься, если это не SIGKILL


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: vic57 от Апрель 29, 2019, 10:44
OpenBox тоже рассматривался. Здесь, скорее всего будут проблемы с сертификацией под версию Special Edition, надо выяснять. /offtop Ну и кой-какой опыт я тоже накопил, заничвясь разработкой этого сорта ПО с 1983 г. :-) offtop/
вангую вы с линухами мало знакомы.
у астры есть свой сертифицированный репозиторий, можете из него скачать все что нужно.
по факту - тот же дебиан тока рабочий стол перепиленый
посмотрел на LiveCD с mirror.yandex.ru - опенбокс там есть по дефолту, можно выбрать при входе в выборе типа сессии, при подключении репы с яндекса ставится qtcreator







Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Igors от Апрель 29, 2019, 13:29
никогда в операторы не берут идиотов, все операторы технически грамотные и подкованные (да и расписываются в журнале, о том что ознакомлены с особенностями скады и пр.) и дадут фору любому программисту.. :)
"Портовому мальчонке" - возможно и дадут :), а за всех программистов расписываться не надо. Но в целом офф весьма здравый - такие проблемы не решаются дизайблом кнопок. По меньшей мере нужно фиксировать факт ошибки, и неплохо бы уточнить - а что это? Что значит невнятное "оператор может проморгать"? Закрыл приложение (или оно само закрылось по объективным причинам), и важный запрос не был принят и ...утерян, так что ли? Значит недопустимо терять, нужно сохранять запрос и факт  "неответа" и предъявлять это при след запуске.

Видимо это кажется слишком банальным, нужно нагородить что-нибудь "эдакое"  :)


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: AlexEx от Апрель 29, 2019, 13:31
Не спорю, с Linuxaми мало знаком. Последний раз имел дело с Mandriva 2007. Ну а общее направление действий в общем-то прояснилось.


Название: Re: Как запретить закрытие окон под Astra Linux
Отправлено: Fregloin от Май 07, 2019, 15:40
Только собирался сказать про kiosk-mode. Уже один раз сталкивался - то что вам нужно. По поводу падения софта, напишите демон, который остлеживает жизнеспособность вашего GUI приложения, и по таймауту или вачдогу перезапускает его.