web-dev-qa-db-fra.com

Quel est le gestionnaire de fenêtres le plus élémentaire pour Ubuntu pouvant être utilisé pour afficher une seule application?

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é

7
TimothyP

Le gestionnaire de fenêtres de ratpoison est ce que vous voulez.

  1. Installer ratpoison

    Sudo apt-get install ratpoison
    
  2. Créez un utilisateur et connectez-le automatiquement.

  3. 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`
    
  4. 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}'`
    
  5. 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.

  6. Définissez le bureau par défaut comme kiosque:

    Sudo /usr/lib/lightdm/lightdm-set-defaults -s kiosk
    
10
Ryan Collins

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")
2
Tom Regner

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

1
Karthik T