logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 10-12-2021 10:19:04

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

[Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Bonjour,
Je souhaite réaliser une application qui lance automatiquement au démarrage un navigateur en plein écran, en utilisant l'affichage framebuffer (sans X)

Actuellement, j'ai une solution qui fonctionne en deux étapes
- autologin en mode console
- lancement du navigateur depuis le fichier .bashrc

Je voudrai remplacer la deuxième étape par un service systemd :

$ cat /etc/systemd/system/links2.service



[Unit]
Description=Navigateur internet dans framebuffer
After=network-online.target

[Service]
ExecStart=/usb/bin/links2 -g http://google.com

[Install]
WantedBy=multi-user.target



Lorsque je teste le service, rien ne s'affiche. Dans les logs s'affiche une erreur d'affichage

sytemctl status links2.service


xxxx debian systemd[1] ....x:
.....Can'"t open default display
....fb:
.... Could not jet VT mode



Si je remplace, dans linsk2.service, le lancement de links2 par /usr/bin/echo "ceci est un test avec echo", aucun message ne s'affiche dans la console non plus.

Par contre si je remplace dans links2.service, le lancement de links2 par /usr/bin/wall "ceci est un test avec wall", le message s'affiche correctement dans la console (wall envoie un message à tous les utilisateurs connectés) ....

Quelqu'un peut-il m'aider?

Merci

PS J'effectue les tests dans une machine virtuelle qemu debian11

Dernière modification par papy-tux (16-12-2021 09:45:08)

Hors ligne

#2 10-12-2021 11:21:17

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Hello,

Quand ton service est démarré, il n'est pas lancé depuis la console. Donc pas d'echo dedans, normal.

Pour links2, le message est assez clair : Ne peux pas ouvrir l'affichage par défaut.
Il te faut un affichage valide ! Du style DISPLAY=:0
Ou alors tu fais ouvrir une autre console dans laquelle tu lances links2.

Dernière modification par Tawal (10-12-2021 11:22:13)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#3 10-12-2021 12:32:59

anonyme-15
Invité

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Je ne crois pas que links2 avec l'option graphique (-g) puisse fonctionner avec le framebuffer.

Dernière modification par anonyme-15 (10-12-2021 12:33:34)

#4 10-12-2021 22:38:55

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Tawal a écrit :

Hello,

Quand ton service est démarré, il n'est pas lancé depuis la console. Donc pas d'echo dedans, normAL



Bonsoir,

Effectivement par défaut les messages vont dans le journal. Il est possible de rediriger les sorties, avec

StandardOutput=tty



Par contre, j'ai essayé

StandardOutpout=/dev/fb


ça n'a pas marché.

Si qqn a une idée!

Hors ligne

#5 10-12-2021 22:47:02

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Anonyme-15 a écrit :

Je ne crois pas que links2 avec l'option graphique (-g) puisse fonctionner avec le framebuffer.



Bonsoir, pour info je n'ai pas rencontré de problème à utiliser links2 avec l'option graphique en framebuffer.

Hors ligne

#6 10-12-2021 22:49:28

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Anonyme-15 a écrit :

Je ne crois pas que links2 avec l'option graphique (-g) puisse fonctionner avec le framebuffer.



Bonsoir, pour info je n'ai pas rencontré de problème à utiliser links2 avec l'option graphique en framebuffer.

Hors ligne

#7 10-12-2021 23:02:14

anonyme-15
Invité

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Erreur de mémoire de ma part, désolé, je viens de tester et ça marche très bien en effet...
N'utilisant pas systemd, je ne peux pas indiquer de solution sur ce point là.

#8 11-12-2021 10:44:07

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

papy-tux a écrit :

Par contre, j'ai essayé

StandardOutpout=/dev/fb


ça n'a pas marché.

Si qqn a une idée!



Peut-être plutôt :

StandardOutpout=/dev/fb0


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#9 11-12-2021 12:17:45

raleur
Membre
Inscription : 03-10-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

J'aurais plutôt mis "StandardOutput". Mais je me demande si on peut utiliser directement un périphérique /dev/fb* comme tty.

Il vaut mieux montrer que raconter.

Hors ligne

#10 11-12-2021 12:22:50

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Ouch, bien vu raleur, ça m'avais échappé wink

Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#11 11-12-2021 18:51:37

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

raleur a écrit :

J'aurais plutôt mis "StandardOutput". Mais je me demande si on peut utiliser directement un périphérique /dev/fb* comme tty.



Effectivement, c'est plus mieux StandardOutput=/dev/fdb0 que StandardOutpout=/dev/fdb!

Mais la doc laissait peu d'espoir https://www.freedesktop.org/software/sy … rdOutput=:

StandardOutput=
Controls where file descriptor 1 (stdout) of the executed processes is connected to. Takes one of inherit, null, tty, journal, kmsg, journal+console, kmsg+console, file:path, append:path, truncate:path, socket or fd:name.



A moins qu'il soit possible d'utiliser une socket ... mais ça dépasse complètement mon champ de compétence

Hors ligne

#12 12-12-2021 02:38:02

anonyme
Invité

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Bonjour
une commande


systemctl --user status
 


tu lis la doc de systemd , tu va trouver la réponse (ou un bon wiki)
tu veut ouvrir une application graphique en root  hmm 
il y a plusieurs endroit
dans /etc/systemd/user/
ou /home/#USER/.conf/systemd/
ou /usr/lib/systemd/user/    fournit par les paquets (installation)

donc il faut utiliser "--user" pour les commandes et créer une règle  "user" de systemd  pour ce que tu veut faire

#13 12-12-2021 12:09:46

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

+1

Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#14 12-12-2021 17:31:58

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

anonyme a écrit :

Bonjour
une commande


systemctl --user status
 


tu lis la doc de systemd , tu va trouver la réponse (ou un bon wiki)
tu veut ouvrir une application graphique en root  hmm 
il y a plusieurs endroit
dans /etc/systemd/user/
ou /home/#USER/.conf/systemd/
ou /usr/lib/systemd/user/    fournit par les paquets (installation)
donc il faut utiliser "--user" pour les commandes et créer une règle  "user" de systemd  pour ce que tu veut faire



Bonsoir, ce que j'ai compris ....

Dans le cas de l'affichage avec framebuffer, il n'est pas nécessaire d'avoir les droits root. Le lancement de links2 depuis une console utilisateur se fait directement

Le problème c'est que lorsque l'on lance la commande depuis un service systemd, on n'est pas "dans une console", c'est comme s'i manquait un "login" qui permette à links de savoir qu'il est dans tty1 par exemple

Suite à ta suggestion, j'ai essayé dans la mesure de mes (faibles !) compétences en systemd, d'utiliser un service --user, le problème reste le même .... Ca devient vite compliqué.

Merci à tous pour votre aide:)

Hors ligne

#15 13-12-2021 14:08:08

phlinux
Membre
Distrib. : Buster
Noyau : 5.10
(G)UI : Openbox (+Rox+Feh)
Inscription : 09-05-2009

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Bjr,

Il y a une option pour links2 que tu peux essayer sur la ligne de commande de links2.service

/usb/bin/links2 -g -driver fb http://google.com

Regarde le man pour la syntaxe et les autres valeurs


Pages perso : feh, omegat, udisks, passerelle, schroot vraiment transparent

Hors ligne

#16 13-12-2021 19:30:39

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

phlinux a écrit :

Bjr,

Il y a une option pour links2 que tu peux essayer sur la ligne de commande de links2.service

/usb/bin/links2 -g -driver fb http://google.com

Regarde le man pour la syntaxe et les autres valeurs



Ca progresse! Je viens de tester l'option -driver fb, toujours échec de lancement du navigateur, mais désormais il n'y a plus (!) qu'une erreur au lieu de deux. L'erreur restante est :

systemctl --user status kiosk.service


... debian links2[660]: Could not get VT mode



Je suppose que VT est l'abréviation de Virtual Terminal .... Mais pour le mode ??? Je n'ai rien vu dans les options de links2 dans le manuel qui s'y rapporte

Hors ligne

#17 14-12-2021 18:30:56

anonyme
Invité

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Bonjour
je l'ai installé sur Mate
un programme  graphique
ajouté  dans mon menu "internet"
il suffit de faire une option dans "application au démarrage " avec les bonnes options (voir le man )
par contre il ne fonctionne pas a partir d'une console pure ( avec Ctrl+Alt+F3 par exemple )
ton bureau xfwm4 ne te permet pas de faire cela avec l'option "framebuffer" (fb) ?
en console graphique il se lance sans problème
pourquoi systemd ?
tu veut bien le lancer a partir de ton bureau ? ( a priori non  tongue   )
de ton #1


Je souhaite réaliser une application qui lance automatiquement au démarrage un navigateur en plein écran,
 en utilisant l'affichage framebuffer (sans X)
 


lancer une application fenestré dans une console texte (console pure ) c'est possible ?
peut être raleur a la réponse  roll

#18 15-12-2021 00:28:50

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

anonyme a écrit :

Bonjour
je l'ai installé sur Mate
un programme  graphique
ajouté  dans mon menu "internet"
il suffit de faire une option dans "application au démarrage " avec les bonnes options (voir le man )
par contre il ne fonctionne pas a partir d'une console pure ( avec Ctrl+Alt+F3 par exemple )
ton bureau xfwm4 ne te permet pas de faire cela avec l'option "framebuffer" (fb) ?
en console graphique il se lance sans problème
pourquoi systemd ?
tu veut bien le lancer a partir de ton bureau ? ( a priori non  tongue   )
de ton #1


Je souhaite réaliser une application qui lance automatiquement au démarrage un navigateur en plein écran,
 en utilisant l'affichage framebuffer (sans X)
 


lancer une application fenestré dans une console texte (console pure ) c'est possible ?
peut être raleur a la réponse  roll



Bonsoir,
Mon objectif c'est une solution qui soit légère car c'est pour utiliser sur un raspberrypi (une application audio avec un navigateur qui démarre toute seule à la mise sous tension). Voilà pourquoi je regarde  la solution framebuffer pour l'affichage (pas de serveur X, pas de gestionnaire de session, pas de fenêtre, pas de bureau smile)

Normalement tu ne devrais pas avoir de problème à faire le test de links2 en framebuffer depuis une console (une vraie tty). Il faut juste s'assurer qu'il n'y a pas de session X en cours (sudo systemctl stop lightdm, sudo pkill Xorg, ...). et lancer links2 avec l'option -driver fb

links2 -g -driver fb debian.org


Dès que la commande est lancée, le navigateur s'affiche plein écran en mode graphique

Pourquoi le lancer avec systemd? Aujourd'hui je le lance via .bashrc (ça marche bien ...) mais je voudrai comparer avec une solution systemd que je connais mal
Ceci dit j'ai l'impression que systemd n'est pas fait pour les écritures / lectures sur les consoles et ce n'est peut-être pas une bonne idée!

Hors ligne

#19 15-12-2021 02:12:50

anonyme
Invité

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

testé , oui ça fonctionne parfaitement , juste fermer la session et un stop lightdm  smile

#20 15-12-2021 12:46:30

phlinux
Membre
Distrib. : Buster
Noyau : 5.10
(G)UI : Openbox (+Rox+Feh)
Inscription : 09-05-2009

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Sinon, "Could not get VT mode" veut peut être dire que tu dois fournir une résolution, ce qui peut être dans le genre

/usb/bin/links2 -g -driver fb -mode 800x600x16 http://google.com


Pages perso : feh, omegat, udisks, passerelle, schroot vraiment transparent

Hors ligne

#21 16-12-2021 09:42:49

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

phlinux a écrit :

Sinon, "Could not get VT mode" veut peut être dire que tu dois fournir une résolution, ce qui peut être dans le genre

/usb/bin/links2 -g -driver fb -mode 800x600x16 http://google.com



J'ai essayé sans plus de succès ... La commande répond (comme prévu dans le manuel) que lorsque le framebuffer est sélectionné, l'option mode est destiné au paramétrage de la bordure de la fenêtre ...

Étant donné que de la même façon en remplaçant links2 par echo ou fbi, la commande échoue, j'en déduis qu'il y a un problème "plus profond".

Je passe le problème en contourné au profit de la solution d'inclure la commande dans le .bashrc .

Merci à tous pour vos contributions

Hors ligne

#22 16-12-2021 18:03:07

phlinux
Membre
Distrib. : Buster
Noyau : 5.10
(G)UI : Openbox (+Rox+Feh)
Inscription : 09-05-2009

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

En utilisant "directfb", au lieu de "fb", j'ai pu lancer links2 dans le tty4.
Links2 fonctionne correctement, du moins à la souris, mais j'ai eu des problèmes de clavier (genre redondance des touches).
Conseil : avant de lancer le service sortir du X.
La config créée

mkdir /etc/systemd/system/getty@tty4.service.d/

nano /etc/systemd/system/getty@tty4.service.d/override.conf


[Service]
ExecStart=
ExecStart=/usr/bin/links2 -g -driver directfb http://google.com
StandardInput=tty
StandardOutput=

systemctl daemon-reload; systemctl restart getty@tty4.service

Normalement la dernière commande va switcher sur le tty4; si ça déconne autant rebooter. Bien sur adapter le n° du tty en fonction du besoin.

Dernière modification par phlinux (16-12-2021 19:31:40)


Pages perso : feh, omegat, udisks, passerelle, schroot vraiment transparent

Hors ligne

#23 17-12-2021 22:03:35

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

phlinux a écrit :

En utilisant "directfb", au lieu de "fb", j'ai pu lancer links2 dans le tty4.
Links2 fonctionne correctement, du moins à la souris, mais j'ai eu des problèmes de clavier (genre redondance des touches).
Conseil : avant de lancer le service sortir du X.
La config créée

mkdir /etc/systemd/system/getty@tty4.service.d/

nano /etc/systemd/system/getty@tty4.service.d/override.conf


[Service]
ExecStart=
ExecStart=/usr/bin/links2 -g -driver directfb http://google.com
StandardInput=tty
StandardOutput=

systemctl daemon-reload; systemctl restart getty@tty4.service

Normalement la dernière commande va switcher sur le tty4; si ça déconne autant rebooter. Bien sur adapter le n° du tty en fonction du besoin.



Bonsoir,

Félicitations !
J'ai fait l'essai, ça n'a pas marché pour moi. Déjà en commande directe, directfb ne marche pas alors que fb marche bien (au moins à l'affichage, la souris et le clavier c'est plus capricieux)

/usr/bin/links2 -g -driver directfb http://google.com


(*) Direct/Thread: Started 'SigHandler' (984) [CRITICAL - OTHER/0] <8388608>...

   ~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.7.7 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2012-2015  DirectFB integrated media GmbH
        (c) 2001-2015  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core.
(!) Direct/Modules: Unable to dlopen `/usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems/libdirectfb_mesa_system.so'!
    --> /usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems/libdirectfb_mesa_system.so: undefined symbol: glEGLImageTargetRenderbufferStorageOES
(*) Direct/Memcpy: Using libc memcpy()
(*) Direct/Thread: Started 'Fusion Dispatch' (985) [MESSAGING - OTHER/0] <8388608>...
(!) System/DevMem: Please supply 'video-phys = 0xXXXXXXXX' and 'video-length = XXXX' options!
(!) DirectFB/Core: Could not initialize 'system_core' core!
    --> An invalid argument has been specified
 (!!!)  *** UNIMPLEMENTED [fusion_dispatch] *** [fusion.c:3937]
Could not initialize graphics driver directfb:
An invalid argument has been specified
Segmentation error
 



As-tu installé des librairies ou paquets particuliers?

Est-ce que c'est dû à l'environnement de test (qemu chez moi)?

.....

Hors ligne

#24 18-12-2021 15:59:06

phlinux
Membre
Distrib. : Buster
Noyau : 5.10
(G)UI : Openbox (+Rox+Feh)
Inscription : 09-05-2009

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

Non je n'ai rien installé en plus de links2
Quemu je ne pratique pas, donc...

Ce qui semble c'est que le système ne trouve pas "libdirectfb_mesa_system.so" qui est un fichier contenu dans le paquet libdirectfb-extra; perso je ne l'ai pas installé, mais suivant les config, ou peut être ton environnement de test, il est peut être requis. Essaies de l'installer... et tiens nous au courant

Pages perso : feh, omegat, udisks, passerelle, schroot vraiment transparent

Hors ligne

#25 18-12-2021 16:59:36

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : [Contourné] Démarrer en mode kiosk dans le framebuffer avec systemd

phlinux a écrit :

Non je n'ai rien installé en plus de links2
Quemu je ne pratique pas, donc...

Ce qui semble c'est que le système ne trouve pas "libdirectfb_mesa_system.so" qui est un fichier contenu dans le paquet libdirectfb-extra; perso je ne l'ai pas installé, mais suivant les config, ou peut être ton environnement de test, il est peut être requis. Essaies de l'installer... et tiens nous au courant



Dans les tests précédents, comme ça ne marchait pas, j'avais installé les paquets libdirectb supplémentaires et effectivement la librairie en cause dans le message est bien trouvée, mais le message dit qu'il y a un symbole indéfini .... et là je n'ai pas d'idée.

Par ailleurs, j'ai trouvé dans https://elinux.org/DirectFB#Devices_sup … y_DirectFB une liste de cartes graphiques compatibles directfb

Graphics Drivers

    Matrox Mystique/Millennium, G100, G200, G400/450, G550
    Via CLE266
    ATI Mach64/Rage Pro series
    ATI Rage 128
    ATI Radeon
    3dfx Voodoo3/4/5/Banshee
    igs `CyberPro` 5xxx
    S3 Savage 3/4 series
    `NeoMagic` 220/2230/2360/2380
    nVidia `TNT/GeForce` seiries
    SiS 315
    Intel i810
    NSC Geode



Je n'ai pas trouvé la carte émulée par qemu dedans.... Peut-être celle de ton pc s'y trouve?

PS Jai fait un essai directement (sans qemu) sur mon pc (carte graphique type i915), ça se lance mais l'affichage est illlisible ....

Hors ligne

Pied de page des forums