web-dev-qa-db-fra.com

Exécuter un seul programme au démarrage, pas de menus

J'essaie de faire quelque chose comme un kiosque.

Je crée donc une installation personnalisée d'Ubuntu Desktop 14.04 à l'aide d'Ubuntu-Builder, et j'essaie simplement de faire démarrer un programme au démarrage. Je ne souhaite pas que la barre de menus globale en haut s'affiche, ni la barre latérale avec les raccourcis vers les applications à afficher. Je veux juste qu'un programme s'exécute en plein écran, même si l'utilisateur le quitte. Le programme fonctionne déjà en plein écran en passant.

J'ai essayé de supprimer Unity et lorsque je le fais, lorsque Ubuntu démarre, il indique que vous ne pouvez pas vous connecter à Ubuntu. Est-ce que quelqu'un a des suggestions?

Voici ce que j'ai essayé:

Sudo apt-get autoremove --purge unity unity-common unity-services unity-lens-* unity-scope-*

J'ai également des difficultés à démarrer le programme au démarrage, car je suis habitué à l'ajouter au programme .profile. Des suggestions pour cela aussi?

Merci d'avance.

2
Someone13

Lors de la construction d'un kiosque, je commencerais par énumérer le comportement attendu. Le comportement attendu d'un kiosque devrait être, d'après votre question:

  • Une seule application graphique pour exécuter le plein écran
  • Cette application graphique est lancée automatiquement au démarrage du serveur.
  • Dans le cas où un utilisateur est capable d'arrêter l'application (volontairement ou après une erreur), cette application doit être redémarrée.

Je pense que votre approche, en partant d’un bureau complet et en essayant de supprimer les éléments inutiles (comme Unity), n’est pas la bonne. De ma propre expérience, je cherche quelles sont les composantes minimales à atteindre pour atteindre les objectifs ci-dessus.

Pour moi, les composants minimaux sont:

  • Un serveur X, lancé automatiquement au démarrage sans connexion de l’utilisateur (sans couche comme gdm, etc.
  • Un gestionnaire Windows (pour dessiner et gérer la fenêtre de votre application elle-même) avec la possibilité de supprimer le bouton Réduire, Agrandir, Fermer, ... de la barre de titre. (Si votre application est déjà plein écran par défaut, ce composant peut être facultatif.)
  • Un script pour vérifier que l'application est toujours en cours d'exécution et le redémarrer au cas où ce ne serait pas le cas.

Donc, à partir d'une installation de serveur Ubuntu, sans aucun composant graphique installé, vous devrez installer au moins Xorg (Sudo apt-get install xorg).
À partir de la ligne de commande, vous pouvez toujours démarrer le serveur X avec startx.
Pour lancer l'application graphique avec le serveur X, vous devez créer un fichier .xsession dont le but est d'indiquer au serveur X quelle application lancer après le serveur X lui-même.

3
Benoit

J'ai couvert cela quelques fois sur le site et à nouveau sur mon blog (de serveur Ubunt (recommandé) ou de Bureau Ubunt ).

Je ne voudrais pas perdre mon temps à essayer de décrocher sélectivement des éléments du bureau Ubuntu traditionnel, il suffit de charger X et l’application. Cela a l'air grave mais c'est assez basique et ne nécessite que quelques tâches:

  • Désactiver LightDM (si installé) qui est ce qui devrait normalement démarrer notre session X (echo manual | Sudo tee /etc/init/lightdm.override)
  • Dire à X que n'importe qui peut démarrer une instance (Sudo dpkg-reconfigure x11-common)
  • Création d'un nouveau service Upstart qui démarre X et exécute directement un script ou une application.

Le nouveau script Upstart est l’élément le plus important de tout, mais se compose généralement de:

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

console output
emits starting-x

respawn

exec Sudo -u pranay startx /etc/X11/Xsession /path/to/application --

Et vous sauvegarderiez cela comme quelque chose comme /etc/init/kiosk.conf.

2
Oli

Je ne comprenais pas très bien votre problème, mais d'après ce que j'ai compris, vous avez supprimé la barre Unity, n'est-ce pas? Si c'est le cas, cela peut poser problème, car de nombreuses personnes ont signalé des problèmes après la suppression de Unity, mais aucune solution n'a encore été trouvée. Essayez donc de rétablir les paramètres d'origine. Pour ce qui est du plein écran, F11 prend la plupart des applications en plein écran, Firefox, Chrome, libreoffice, etc. et de nombreuses applications de jeux s’ouvrent déjà en plein écran, vous pouvez donc simplement appuyer sur la touche F11 lorsque vous ouvrez ces applications au lieu de modifier un correctif.

Pour rendre les applications en plein écran temporairement (une session)

-changez la résolution de l'écran pour qu'elle ne s'adapte qu'à l'application

-pour quelque chose d'un peu plus permanent, vous pouvez changer xrandr (Ps. C'est risqué, soyez prudent)

0
pranay