Вывод веб страницы на экран без графической оболочки

Автор AleksandrTravkin, 07 декабря 2024, 00:58:38

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

AleksandrTravkin

Всем здравствуйте!
Начну с короткого вступления. Я занимаюсь проектированием и созданием станков с ЧПУ управлением таких как фрезеры, лазерные резаки, 3D принтеры, с linux сталкиваюсь в разрезе следующих задач: 1. установить и настроить на управляющую плату дистрибутив, как правило я выбираю debian подобные, 2. установить и настроить управляющую программу на данную плату, настроить работу железа (в основном этот шаговые двигатели, нагреватели, моторы, лазеры, концевики, теперь еще и экраны добавились(твою медь)), но с экранами слава богу справился(SPI,I2C,HDMI). В общем времена меняются, заказчикам сейчас не достаточно просто рядом стоящего монитора с мышкой и клавиатурой, сделай так чтобы сразу загружался интерфейс управления станком на экранчике красиво встроенном в станок, да еще и свистоперделок добавь (круговые статусбары, кнопки как "на том сайте", на фон добавь логотип (да с анимацией), короче изгаляются как могут) Я умею python, js, css, короче то что они просят сделал, но в виде web, а мозги в платах компов слабые как правило, самые мощные были что-то типа raspbery 3b, а так обычно orangepi 2w, иногда вообще esp32 (но они лесом идут). В общем чтобы показать интерфейс пользователю нужен браузер, чтобы его показать графическое окружение, на что часто не хватает ресурсов (если хватает ставлю mate, а интерфейс как бы масштабирую чтобы контролов сверху не было видно). Вопрос можно ли как-то запустить браузер без графического окружения, на весь экран, без кнопок закрыть и свернуть (короче только web страничку)?

Лия

#1
Цитата: AleksandrTravkin от 07 декабря 2024, 00:58:38Вопрос можно ли как-то запустить браузер без графического окружения, на весь экран, без кнопок закрыть и свернуть (короче только web страничку)?
Смотрите в сторону kiosk mode
https://www.scalzotto.nl/posts/raspberry-pi-kiosk/

AleksandrTravkin

А при загрузке дистрибутива будет показываться служебная информация или сразу страничка?

Лия

#3
Цитата: AleksandrTravkin от 07 декабря 2024, 01:01:21А при загрузке дистрибутива будет показываться служебная информация или сразу страничка?
Будет показываться
Если интересует тихая загрузка: https://wiki.archlinux.org/title/Silent_boot

07 декабря 2024, 01:08:12
Ещё хороший вариант - QWebEngineView
Устанавливаем зависимости:
sudo apt update
sudo apt install qt6-webengine-dev qmake6 qt6-tools-dev make build-essential
Сохраняем как viewer.pro:
QT += core gui webenginewidgets

greaterThan(QT_MAJOR_VERSION, 5): QT += widgets

TARGET = Viewer
TEMPLATE = app

SOURCES += main.cpp
Как main.cpp:
#include <QApplication>
#include <QMainWindow>
#include <QWebEngineView>
#include <QWebEngineProfile>
#include <QWebEnginePage>

class MainWindow : public QMainWindow {
public:
    MainWindow() {
        // Create the QWebEngineView
        QWebEngineView *view = new QWebEngineView(this);

        // Set the URL to Google's homepage
        view->setUrl(QUrl("https://www.google.com"));

        // Set the view as the central widget of the main window
        setCentralWidget(view);

        // Set the window title
        setWindowTitle("Viewer");

        // Set the application window to fullscreen
        showFullScreen();
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    // Create and show the main window
    MainWindow window;
    window.showFullScreen();

    return app.exec();
}
Компилируем:
qmake6
make
Запускаем:
./Viewer

07 декабря 2024, 01:17:31
Также можно попробовать запуск без X11:
export QT_QPA_PLATFORM=eglfs
./Viewer

AleksandrTravkin

Я пробовал QT, есть проблема в том, что в QT плохо работает энкодер (Я пробовал на каждый signal -> tab,  но дребезг контактов делает своё дело (хотя у меня нормально работало, у заказчика перескакивали кнопки) в браузере нормально работает.

Лия

Цитата: AleksandrTravkin от 07 декабря 2024, 01:31:59в браузере нормально работает
ОК, тогда kiosk mode.
Кстати, DE вроде MATE не обязательно, голых иксов будет достаточно :)

AleksandrTravkin

Попробую) Спасибо) Главное чтобы на "Миландре" не заставили linux запускать, импортозамещения ска!

Лия

Цитата: AleksandrTravkin от 07 декабря 2024, 01:38:37Главное чтобы на "Миландре" не заставили linux запускать, импортозамещения ска!
А что у них там? RISC-V? Ну, если что, пишите, поможем :)