J'ai essayé de démarrer une application plein écran sans gestionnaire de fenêtres, en utilisant xinit, ce qui fonctionne, mais au lieu de commencer en haut à gauche de l'écran, l'application démarre quelque part au milieu de mon écran.
J'ai essayé la même chose en utilisant une entrée personnalisée dans/usr/share/xsessions et en la démarrant depuis lightdm au lieu du gestionnaire de fenêtres par défaut d'ubuntu, mais cela me donne le même résultat.
J'ai ensuite ajouté mon application aux applications de démarrage du gestionnaire de fenêtres Ubuntu et cela fonctionne correctement ... mais je ne souhaite pas démarrer le bureau en entier
Je pense donc qu'un simple gestionnaire de fenêtres me permettra de définir que mon application doit démarrer dès son chargement et qu'elle sera donc affichée en plein écran et à partir du coin supérieur gauche de l'écran.
Donc, fondamentalement, un gestionnaire de fenêtres qui me permettra de tout désactiver sauf mon application. (Et le fond devrait être complètement noir par défaut pour que l'écran soit noir jusqu'à ce que le chargement de mon application soit terminé
Le gestionnaire de fenêtres de ratpoison est ce que vous voulez.
Installer ratpoison
Sudo apt-get install ratpoison
Créez un utilisateur et connectez-le automatiquement.
Créez un fichier de bureau dans /usr/share/xsessions/kiosk.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Browser Mode
Comment=Kiosk desk Session
Exec=/usr/share/xsessions/run_kiosk.sh
Type=Application`
Créez /usr/share/xsessions/run_kiosk.sh. Modifier les éléments suivants pour vous aider à démarrer
#!/bin/bash
/usr/bin/ratpoison &
TERMINAL=`who | awk '{print $2}'`
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
eval 'dbus-launch --sh-syntax --exit-with-session'
fi
rm -Rf ~/.config/google-chrome
dbus-launch /usr/bin/google-chrome --no-default-browser-check
rm -Rf ~/.config/google-chrome
kill `ps | grep dbus-launch | grep -v grep | awk '{print $1}'`
Ceci réinitialise Chrome à chaque lancement. Utilisez les préférences par défaut dans /opt/google/chrome/master_preferences
pour configurer Chrome comme vous le souhaitez.
Définissez le bureau par défaut comme kiosque:
Sudo /usr/lib/lightdm/lightdm-set-defaults -s kiosk
Regardez le gestionnaire de fenêtres génial ; c'est un gestionnaire de fenêtres en mosaïque. C'est extrêmement léger.
Vous pouvez le configurer pour utiliser par défaut la mise en page plein écran, un fond noir. Consultez le wiki pour avoir une idée du système de configuration. Une configuration minimale dans votre cas pourrait contenir les éléments suivants:
Exiger des dépendances:
require("awful")
require("awful.layout")
require("awful.util")
require("awful.tag")
require("screen")
require("freedesktop.utils")
require("freedesktop.desktop")
Limitez les mises en page en plein écran avec:
layouts =
{
awful.layout.suit.max.fullscreen
}
Définissez maintenant une balise pour votre application:
-- {{{ Tags
-- Define a tag table which will hold all screen tags.
tags = {
names = {"your_app" },
layout = {layouts[1]}
}
for s = 1, screen.count() do
-- Each screen has its own tag table.
tags[s] = awful.tag(tags.names, s, tags.layout)
end
-- }}}
Pour démarrer votre application, ajoutez ce qui suit à la fin de votre configuration:
awful.util.spawn("/usr/bin/your_app --with --options")
Je n'ai aucune expérience personnelle mais une recherche sur "kiosque linux" a donné beaucoup de résultats, dont le sommet était http://www.techrepublic.com/blog/doityourself-it-guy/diy-tiny- noyau-linux-un-grand-kiosque-et-plateforme-urgence/1565