Comment désactiver le démarrage automatique du serveur X dans Debian Jessie?

39

J'ai une machine distante sous Debian 8 (Jessie) avec lightdm installé. Je veux qu'il démarre en mode sans interface graphique, mais je ne veux pas supprimer tous les éléments liés à X pour pouvoir toujours l'exécuter via SSH avec le -Xparamètre. Alors, comment désactiver le démarrage automatique du serveur X sans le supprimer?

J'ai essayé systemctl stop lightdm, cela arrête le lightdm, mais il redémarre après le redémarrage. J'ai aussi essayé systemctl disable lightdm, mais au fond ça ne fait rien. Il renomme les scripts de lightdm dans les /etc/rc*.drépertoires, mais il démarre toujours après le redémarrage, alors qu'est-ce que je fais mal? Et je ne peux pas simplement update-rc.d lightdm stop, parce que c'est obsolète et que ça ne marche pas.

Kurogetsusai
la source
2
Exécuter X par le biais de ssh ne nécessite pas l'installation d'un serveur X sur la machine. (Cela nécessite seulement les bibliothèques du client X ). Voulez-vous vraiment un serveur X installé? Autant que je sache, vous avez trouvé un bogue - la désactivation aurait dû fonctionner. Bien sûr que ce n'est guère une réponse ...]
derobert
@derobert Oh, alors ... je pense que je n'ai pas besoin du serveur X dans ce cas. C'est toujours plus une solution de contournement qu'une solution, mais merci. Puis-je supprimer en toute sécurité le paquet lightdm et tous les paquets xorg-server- * ou dois-je conserver quelque chose, par exemple des pilotes xorg-server-input- * ou vidéo?
Kurogetsusai
@ Kurogetsusai, vous pouvez supprimer lightdm et xorg-server- *. Vous avez vraiment besoin de conserver xauth(recommandé par openssh-server) et toutes les bibliothèques sur lesquelles vos clients X dépendent. Vous avez probablement aussi besoin de polices.
derobert

Réponses:

82

La désactivation n'a pas fonctionné car la /etc/X11/default-display-managerlogique Debian est en train de la remplacer.

Pour que le texte démarre par défaut sous systemd (quelle que soit la distribution, réellement):

systemctl set-default multi-user.target

Pour revenir au démarrage sur l'interface graphique,

systemctl set-default graphical.target

J'ai confirmé ces travaux sur ma machine virtuelle Jessie et Slashback l'a également confirmé sur Stretch.

PS: Vous n’avez pas besoin du serveur X sur votre machine pour exécuter des clients X sur ssh. Le serveur X n’est nécessaire que lorsque l’affichage (moniteur) est.

derobert
la source
2
+1 pour faire remarquer que X n'est pas obligé d'exécuter X clients sur SSH
jlh
Fonctionne sur ma machine virtuelle Stretch.
Slashback
fonctionne mais il y a toujours un terminal xterm, impossible de s'en débarrasser.
Ransh
@ransh On dirait que vous devriez poser votre propre question. Faites référence à celle-ci dans votre question et expliquez également ce que vous entendez par cela fonctionne - je ne sais pas comment vous avez encore un xterm surgissant si X ne démarre pas. Aussi, tout ce qui pourrait être différent de votre système.
derobert
1
Vous pouvez utiliser systemctl get-default pour savoir quel est l'actuel. très utile pour le serveur distant.
Sadi
4

vous pouvez également ajouter systemd.unit=multi-user.targetà la ligne de commande du noyau, si vous ne pouvez pas accéder au système en cours d'exécution.

Spongman
la source
2

Je ne connais pas grand chose à propos de Debian, mais sur mon ordinateur portable Ubuntu 14.04, voici la procédure standard que j'utilise pour désactiver X et démarrer command promptpour le dépannage:

  1. Éditez le fichier /etc/default/gruben mode superutilisateur et définissez GRUB_CMDLINE_LINUX_DEFAULT="text"

Si vous le souhaitez, supprimez également le commentaire de cette ligne: #GRUB_TERMINAL=console puis faites-le sudo update-grub. La machine démarrera en mode texte.

  1. Pour démarrer l'interface graphique à partir de là, vous pouvez alors sudo service lightdm start#could être gdm ou startx dans certaines situations

Source: https://askubuntu.com/questions/52089/how-do-i-boot-to-a-command-line-interface-instead-of-a-gui

Prahlad Yeri
la source
Ne fonctionnait pas sous Ubuntu 16.04. Il démarre toujours automatiquement à gnome.
Juha Untinen
Avez-vous essayé de supprimer le commentaire GRUB_TERMINAL=consoleet de mettre à jour le ver?
Prahlad Yeri
Oui. Je devais faire cela, ce qui est mentionné dans la réponse acceptée:systemctl set-default multi-user.target
Juha Untinen
0

Essayez la commande suivante:

echo  "manual" | sudo tee -a /etc/init/lightdm.override
GAD3R
la source
0

Je devais faire ceci:

systemtcl disable *dm

*est un gou kpeut - être un x.

Emile Boyer
la source
bien sûr * est un "g" ou un "k" peut-être "x"
emile boyer