Forum Linux.général probleme pour désactiver au démarrage gdm

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
6
juil.
2019

bonjour à tous,

voila je ne veux plus que gdm se lance au démarrage. Je me suis donc mis en root et j'ai lancé la commande :
systemctl disable gdm.service

mais quand je fais ensuite
systemctl status gdm.service

le terminal me renvoie :
● gdm.service - GNOME Display Manager
Loaded: loaded (/lib/systemd/system/gdm.service; static; vendor preset: enabled)
Active: active (running) since Sat 2019-07-06 21:27:05 CEST; 4min 24s ago
Main PID: 1113 (gdm3)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/gdm.service
└─1113 /usr/sbin/gdm3

il est toujours enabled

Je ne comprends pas car normalement systemctl gere systemd, donc il devrait me passer le service en disabled.

Avez vous une idée du probleme ?

Merci d'avance

  • # Désactiver n'est pas stopper

    Posté par  (site web personnel) . Évalué à 4.

    Parce que désactiver n'est pas stopper.

    Donc 3 solutions :

    • redémarrer la machine après le systemctl disable gdm.service (beurk)
    • arrêter le service avant la désactivation : systemctl stop gdm.service && systemctl disable gdm.service (mouef) ;
    • désactiver et stopper en même temps : systemctl disable gdm.service --now

    Contenu du man :
    ```
    --now

    When used with enable, the units will also be started. When used with disable or mask, the units will also be stopped. The start or stop operation is only carried out when the respective enable or disable operation has been successful.
    
    • [^] # Re: Désactiver n'est pas stopper

      Posté par  . Évalué à 2.

      alors ca ne regle pas le probleme.

      Je me suis mal exprimé mais meme le redemérrage ne change rien, systemd ne prend pas en compte quand je met :
      systemctl disable gdm.service

      je n'ai pas besoin d'arreter le service pour annuler son lancement au démarrage.

  • # Analyse incomplète/incorrecte ?

    Posté par  (site web personnel) . Évalué à 4.

    cosmoff :

    il est toujours enabled

    Je ne comprends pas car normalement systemctl gere systemd, donc il devrait me passer le service en disabled.

    Non, il n'est pas enabled. Cf. la ligne :

     Loaded: loaded (/lib/systemd/system/gdm.service; static; vendor preset: enabled)
    

    C'est le vendor preset qui est activé. Le service est en mode static, qui est une variante de disabled.

    Cf. la page de manuel systemctl(1) :

               ├──────────────────┼──────────────────────────────┼───────────┤
               │"static"          │ The unit file is not         │ 0         │
               │                  │ enabled, and has no          │           │
               │                  │ provisions for enabling in   │           │
               │                  │ the "[Install]" unit file    │           │
               │                  │ section.                     │           │
               ├──────────────────┼──────────────────────────────┼───────────┤
    …
               ├──────────────────┼──────────────────────────────┼───────────┤
               │"disabled"        │ The unit file is not         │ > 0       │
               │                  │ enabled, but contains an     │           │
               │                  │ "[Install]" section with     │           │
               │                  │ installation instructions.   │           │
               ├──────────────────┼──────────────────────────────┼───────────┤
    

    À vue de pif, je dirais qu'autre chose se charge de lancer le gestionnaire de connexion graphique. Un exemple sur Debian :

    kibi@armor:~$ systemctl cat graphical.target 
    # /lib/systemd/system/graphical.target
    #  This file is part of systemd.
    #
    #  systemd is free software; you can redistribute it and/or modify it
    #  under the terms of the GNU Lesser General Public License as published by
    #  the Free Software Foundation; either version 2.1 of the License, or
    #  (at your option) any later version.
    
    [Unit]
    Description=Graphical Interface
    Documentation=man:systemd.special(7)
    Requires=multi-user.target
    Wants=display-manager.service
    Conflicts=rescue.service rescue.target
    After=multi-user.target rescue.service rescue.target display-manager.service
    AllowIsolate=yes
    
    
    kibi@armor:~$ systemctl cat display-manager.service
    # /lib/systemd/system/lightdm.service
    [Unit]
    Description=Light Display Manager
    Documentation=man:lightdm(1)
    After=systemd-user-sessions.service
    
    [Service]
    # temporary safety check until all DMs are converted to correct
    # display-manager.service symlink handling
    ExecStartPre=/bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/lightdm" ]'
    ExecStart=/usr/sbin/lightdm
    Restart=always
    BusName=org.freedesktop.DisplayManager
    

    Et cette unité display-manager.service est mise en place par le script de post-installation de lightdm. Extrait :

    if [ "$1" = "configure" ];
    then
      invoke-rc.d dbus reload || true
    
      # set default-display-manager systemd service link according to our config
      if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" -a -d /etc/systemd/system/ ]; then
        SERVICE=/lib/systemd/system/$(basename $(cat "$DEFAULT_DISPLAY_MANAGER_FILE")).service
        if [ -e "$SERVICE" ]; then
          ln -sf "$SERVICE" /etc/systemd/system/display-manager.service
        else
          echo "ERROR: $SERVICE is the selected default display manager but does not exist" >&2
        fi
      fi
    fi
    

    Cela doit être similaire pour les autres display managers.

    À voir en fonction de ta distribution (que tu n'as pas spécifiée).

    Debian Consultant @ DEBAMAX

  • # la beauté systemd (hem)

    Posté par  . Évalué à -2. Dernière modification le 07 juillet 2019 à 00:58.

    Désactiver gdm.service ou display-manager.service ne feront pas ce que tu veux parce que "tu utilises mal" systemd-tout-puissant.

    Pour te débarrasser d'un gestionnaire de session graphique, tu dois faire:
    systemctl enable multi-user.target

    Pour le remettre en place
    systemctl enable graphical.target

    J'ai arrêté de réflèchir, c'est l'avenir-du-présent car lire des scripts .sh et un inittab étaient trop dur, paraît-il.

    • [^] # Re: la beauté systemd (hem)

      Posté par  . Évalué à 2.

      Tu m'ôtes les mots du clavier …

      lire des scripts .sh et un inittab étaient trop dur, paraît-il.

      C'est sur que tout le monde sait ce qu'est le vendor preset et que le mode static est une vatriante de disabled.

      cf:

      C'est le vendor preset qui est activé. Le service est en mode static, qui est une variante de disabled.

    • [^] # Re: la beauté systemd (hem)

      Posté par  . Évalué à -5.

      Que les moinsseurs offrent la solution.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.