Démarrez Ubuntu sans environnement de bureau mais démarrez une application X

29

Je veux faire un petit ordinateur juste pour naviguer sur Internet. Je ne veux pas charger un environnement de bureau pour réduire au maximum l'utilisation de la RAM, du CPU et du GPU. L'ordinateur va fonctionner sur un processeur ARM. Je me fiche de Distro que j'utilise, j'ai pensé à du bon vieux Debian simple.

RaverTiny
la source
Ensuite, je voudrais suggérer ubuntu minimal iso et installer la blackbox DE
Tachyons
Je ne suis pas vraiment un expert, mais je suggère de jeter un œil à la configuration de xsession (il y a une page de manuel pour xsession). Si vous ne souhaitez que ce comportement pour un seul utilisateur, créez un fichier dans le répertoire de base des utilisateurs nommé .xsession et placez-y la commande que vous souhaitez exécuter. Ensuite, vous devrez probablement utiliser un gestionnaire de connexion qui vous permet de vous connecter à xsession par défaut au lieu d'un autre environnement de bureau (ou désactiver le gestionnaire de connexion et utiliser startx à la place). Néanmoins, je recommanderais plutôt d'utiliser un gestionnaire de fenêtres d'économie de ressources (Tachyons a suggéré la boîte noire, et il y en a beaucoup d'autres).
soulsource
Si vous ne chargez pas l'environnement de bureau, comment êtes-vous censé ouvrir le navigateur Internet?
dlin
5
@ Nick Vous pouvez. Avec un serveur X ordinaire en tant que «session» sans gestionnaire de fenêtres, vous pouvez exécuter exactement une application en plein écran (sans bordures ou autre décoration). C'est ainsi que fonctionnent ces distributions XBMC minimales par exemple. J'ai fait cela avec Chromium il y a quelques années en 10.04 - mais je n'ai pas enregistré la configuration exacte.
gertvdijk
"J'ai pensé au bon vieux Debian ordinaire." Si vous envisagez d'autres distributions que Ubuntu, vous devriez plutôt le demander sur Unix et Linux StackExchange . Ce site Ask Ubuntu est uniquement pour Ubuntu - les questions non liées à Ubuntu sont considérées comme hors sujet ici.
gertvdijk

Réponses:

26
  1. En /usr/share/xsessions/créer un fichier dans le format « .desktop » pour créer votre commande, la session minimale. Pour exécuter Google Chrome comme seule application après la connexion, procédez comme suit:

    [Desktop Entry]
    Type=Application
    Exec=google-chrome
    Name=Google Chrome
    Comment=Testing
    
  2. Redémarrez votre gestionnaire d'affichage, par exemple

    sudo restart lightdm  # or kdm, gdm, etc.
    

    Ou déconnectez-vous simplement.

  3. "Google Chrome" doit apparaître dans la liste des sessions à sélectionner (à côté d'Unity standard ou d'autres DE que vous avez installés).

    Connectez-vous et profitez.

optionnel

  • XDM est un gestionnaire d'affichage très minimal - LightDM, GDM et KDM sont assez "gros". Installez-le à l'aide du package xdmInstaller xdm et reconfigurez la valeur par défaut lorsque votre système démarre en utilisant

    sudo dpkg-reconfigure lightdm
    
  • Configurez votre gestionnaire d'affichage pour vous connecter automatiquement à un utilisateur spécifique. Consultez la documentation de votre gestionnaire d'affichage.

gertvdijk
la source
1
Si l'on doit apporter le bureau entier, faut-il simplement supprimer le fichier .desktop et redémarrer?
enthousiastegege
1
@enthusiasticgeek Pas besoin. Dans le gestionnaire de connexion, sélectionnez simplement le bureau complet auquel vous connecter, comme expliqué à l'étape 3.
gertvdijk
Quelqu'un sait-il comment changer la langue d'entrée du système en mode d'application unique?
fnc12
Quelqu'un est-il confronté au problème lorsque le pointeur de la souris est manquant en mode d'application unique?
fnc12
J'ai commencé google-chrome --kiosk, mais il n'occupe pas l'écran complet .. aucune façon de le maximiser ..?
tumbudu
24

Je sais que celui-ci est obsolète, mais je ne pouvais pas voir la bonne réponse à la demande telle que je la comprends, alors voici:

J'ai eu un projet de création d'un système embarqué exécutant une application java graphique spécifique sur un ordinateur simple avec un processeur Atom et un écran tactile. Ma décision a été d'éviter l'utilisation de gestionnaires de fenêtres en tant que tels, de garder les choses a) simples, b) légères et c) d'éviter toutes sortes de messages système qui éclatent à l'écran.

Le système ressemble à ceci:

  1. Installation du système Ubuntu de base, variante la plus légère du 12.04 (toujours proche de 1 Go, mais ok pour moi même sur un disque flash de 2 Go). Vous pouvez le torturer un peu pour faire une installation plus petite, bien sûr, il existe plusieurs façons de le faire. De plus, vous n'avez pas besoin d'utiliser Ubuntu, mais alors mes instructions ci-dessous doivent être revues - il existe des différences entre les distributions, en particulier sur les fichiers de configuration et leurs emplacements.

  2. Installer le xorg et quelques autres bons logiciels utiles, comme le xinput-calibrator pour mon écran tactile résistif, ifplugd pour la détection de connexion Ethernet en direct, acpid pour la détection du fonctionnement du bouton d'alimentation et ainsi de suite.

  3. Ouvrez /etc/init/tty1.conf et changez la exec /sbin/getty -8 -i 38400 tty1ligne en quelque chose comme exec /sbin/getty -8 -i 38400 tty1 -a username, où "nom d'utilisateur" est le nom de l'utilisateur que vous souhaitez vous connecter automatiquement.

  4. Pour démarrer automatiquement la session X, ouvrez le fichier .bashrc de votre utilisateur ~/.bashrcet ajoutez quelque chose comme ceci à la fin du fichier:

    if [ $(tty) == "/dev/tty1" ]; then
        while true; do startx -- -nocursor -depth 16; echo "Again [$?]..."; done
    fi

    (Le truc -nocursor est pour les écrans tactiles, supprimez-le pour l'écran normal pour voir le pointeur de la souris) Cela réapparaîtra le serveur X, donc si votre application se ferme pour une raison quelconque, il redémarrera le serveur X automatiquement.

  5. Maintenant, dans le fichier .xsession de votre utilisateur ~/.xsession, écrivez quelque chose comme ceci (rappelez-vous que chaque commande ici est exécutée en série, utilisez donc le symbole & à la fin de la ligne si vous voulez lancer un serveur):

    xrandr --output VGA1 --mode 800x600      #For setting a video mode
    xrandr --fb 800x600                      #Not always required, sets the framebuffer size
    xsetbg -center background.png &          #To set the background, comes from the xloadimage package
    xset -dpms s off                         #To avoid screen going blank after a while
    ~username/start.sh                       #Start your application
    #You can put some other application calls here that will be run when your application exits

Il y a beaucoup d'autres choses à considérer pour un tel système, ce n'est que la configuration de base. J'espère que cela aide quelqu'un. Bonne chance.

tolérance de panne
la source
1

Dans les temps anciens, vous pouviez simplement courir Xet X se déclencherait avec un écran vide. Ensuite, vous pouvez définir DISPLAY=:0et exécuter quelque chose là-bas. Peut-être que cela fonctionne toujours? À partir d'un shell, vous aurez envie X&de le fonder.

Examinez le -geometryparamètre de ligne de commande X standard pour ajuster le placement de la fenêtre, car vous n'aurez pas de gestionnaire de fenêtres pour vous aider.

Pour exécuter quelque chose en tant que non root, vous devrez rechercher xauthpour configurer l'autorisation X pour l'utilisateur non root.

Robie Basak
la source
-3

Tout d'abord, je ne comprends pas comment vous êtes censé ouvrir le navigateur Web sans charger l'environnement de bureau. C'est comme vouloir cuisiner un repas sans allumer le four. . D'accord, c'est possible avec X Server, la question est fausse.

Ce que vous recherchez est de choisir la ou les applications qui démarreront pendant le processus de démarrage.

  • Dans Ubuntu / Unity:

    Cliquez sur l'icône d'engrenage dans le coin supérieur droit du panneau supérieur. Sélectionnez Applications de démarrage .

    Une fois ouvert, vous verrez une liste des applications que votre système démarre au démarrage de votre système d'exploitation.

    Cliquez sur Ajouter en haut à droite.

    Une boîte de dialogue s'affichera.

    Dans la boîte de dialogue résultante:

    1) Entrez le nom du programme dans le champ "nom" .

    2) Entrez la commande pour exécuter le programme à champ «commande» .

    3) Entrez les commentaires que vous souhaitez sur le champ "commentaires" .

    Par exemple:

    Cliquez sur enregistrer et fermer .

  • Dans le shell Gnome:

    presse Alt+F2 pour afficher la boîte de dialogue Exécuter.

    Type gnome-session-properties .

    Cliquez sur «Ajouter» bouton .

    Dans la boîte de dialogue résultante:

    1) Entrez le nom du programme dans le "nom" champ .

    2) Entrez la commande pour exécuter le programme à la «commande» champ .

    3) Entrez les commentaires que vous souhaitez dans les "commentaires" champ .

    Cliquez sur enregistrer et fermer .

  • Dans KDE:

    Aller à K-Menu> Ordinateur> Paramètres système.

    Sélectionnez Démarrage et arrêt et cliquez sur Ajouter un programme .

    Tapez la commande pour exécuter le programme et cliquez sur OK .

  • Dans LXDE:

    Exécutez les commandes suivantes dans le terminal:

    mkdir -p ~/.config/lxsession/LXDE/
    touch ~/.config/lxsessions/LXDE/autostart
    leafpad ~/.config/lxsessions/LXDE/autostart
    

    Ajoutez cette ligne au fichier de démarrage automatique:

    @program_command
    

    Cliquez sur enregistrer et fermer .

  • À LXDE / Lubuntu:

    Un fichier de démarrage automatique existe déjà, dans ~./config/lxsession/Lubuntu/autostart.

    Utilisez simplement ce fichier au lieu d'en créer un nouveau, de la manière décrite ci-dessus.

  • Dans XFCE:

    Dans le menu Applications, ouvrez le Gestionnaire de paramètres et sélectionnez Session et démarrage .

    Dans l' onglet Démarrage automatique de l' application, cliquez sur Ajouter bouton .

    1) Entrez le nom du programme dans le "nom" champ .

    2) Entrez la commande pour exécuter le programme à la «commande» champ .

    3) Entrez les commentaires que vous souhaitez dans les "commentaires" champ .

    Cliquez sur enregistrer et fermer .

  • Étant donné que vous souhaitez uniquement démarrer un navigateur Web (je suppose que Firefox), vous pouvez supprimer la liste de programmes suivante de votre liste d'applications de démarrage:

    -Bluetooth manager -Deja Dup -Gnome Do -Gnome Login Sound -Indicator Workspaces -Ubuntu One -Assistance visuelle -Remote Desktop -Pulseaudio

    mais c'est à vous de décider.

    dlin
    la source
    12
    Je pense que la question concerne le démarrage d'applications au démarrage sans environnement de bureau . Votre réponse concerne les applications de démarrage après le démarrage de DE.
    gertvdijk