En lisant sur Ubuntu, j'ai trouvé la déclaration suivante .....
Si le gestionnaire d'affichage n'est pas démarré par défaut dans le niveau d'exécution par défaut, vous pouvez démarrer X d'une manière différente, après vous être connecté à une console en mode texte, en exécutant startx à partir de la ligne de commande.
Que signifie être un niveau d'exécution par défaut? Et quand j'ai essayé cela sur mon terminal, j'ai obtenu ceci:
anupam@JAZZ:~$ startx
X: user not authorized to run the X server, aborting.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Réponses:
Il était une fois (1), lorsque la mémoire des ordinateurs était mesurée en kilo-octets et les disques en mégaoctets, l'exécution de l'interface graphique tout le temps était considérée comme nuisible.
La plupart des ordinateurs Unix ont été utilisés pour les calculs scientifiques et la simulation dans des environnements multi-utilisateurs, et l'interface graphique qui y est exécutée réduirait la mémoire et la puissance CPU disponibles.
Donc, lorsque vous aviez besoin d'une interface graphique, vous venez de la lancer avec
startx
(2).startx
exécute essentiellement un Xserver (le "pilote" graphique) et une commande qui s'exécute dessus, qui est généralement un gestionnaire de fenêtres . Par défaut, les commandes exécutées se trouvent dans un~/.xinitrc
fichier de votre répertoire personnel ou dans un autre fichier système générique.Les systèmes modernes sont pensés de bas en haut pour avoir un système graphique fonctionnant tout le temps, donc personne n'a probablement vérifié le fonctionnement de
startx
depuis des âges - ce qui explique beaucoup de comportements étranges que vous pouvez avoir.Si vous voulez expérimenter et ressentir le bon vieux temps, la meilleure chose à faire est la suivante:
A) installez
Xnest
etfvwm
. Xnest est un serveur graphique au sein d'un serveur, une sorte de serveur qui s'ouvrira comme une fenêtre dans votre système normal. Fvwm est un gestionnaire de fenêtres très simple qui était très populaire à l'époque. Vous aurez également besoin d'anciennes polices pixmap.B) écrivez ce fichier quelque part, par exemple dans votre répertoire personnel, et appelez-le
~/test
:C) Exécuter (remarque:
startx
est normalement exécuté avec d'abord la commande client, puis un double tiret, puis une commande serveur. Comme je l'ai dit, la plupart des nouveaux systèmes n'ont pas de valeurs par défaut raisonnables pourstartx
seul.).... et vous avez un écran de poste de travail des années 80:
(Vous pouvez avoir le menu en cliquant sur le bureau "Xnest").
... et si vous vous sentez vraiment aventureux, vous pouvez démarrer une session native sur une autre console virtuelle (lire les autres réponses) en accédant à l'une d'entre elles avec Ctrl-Alt-F1, connectez-vous et
qui s'ouvrira normalement sur Ctrl-Alt-F8.
Remarque : les environnements de bureau modernes ne sont pas conçus pour fonctionner simultanément, pour le même utilisateur, sur deux consoles différentes. Donc, n'utilisez pas
gnome-shell
ouunity
ou des choses modernes lors de ces expériences, sinon vous pourriez gâcher votre configuration.Notes de bas de page:
(1) Parlant de 1980 à 1990 ici.
(2) Par exemple, j'avais un ordinateur portable avec 256 Ko de RAM. C'était douloureusement lent dans l'interface graphique (B&W!), Mais accrocheur dans la console. Donc , je l' ai fait la plupart de mon travail (édition
C
,LaTeX
et les fichiers similaires) en mode console, et à l'environnement commuté graphique que lorsque vraiment nécessaire.la source
startx
démarre la xsession ou l'interface graphique où vous voyez un écran de connexion et rien de plus qu'une simple console ascii (session de texte).Vous recevez cette erreur car la xsession est déjà démarrée et vous essayez d'exécuter la commande depuis l'intérieur de la xsession sur tty7.
tty7 est l'interface utilisateur qui existe à ctrl+ alt+ f7(xsession par défaut).
tty1 est l'interface utilisateur qui existe à ctrl+ alt+ f1.
tty2 est l'interface utilisateur qui existe à ctrl+ alt+ f2. . . etc.
tty1 - tty6 sont des sessions de texte et vous pouvez vous connecter avec votre nom d'utilisateur et votre mot de passe sur l'un de ces écrans. Après vous être connecté, vous pouvez exécuter la commande
startx
et la session xs démarrera dans tty7 si elle n'est pas déjà en cours d'exécution et dans tty8 si tty7 exécute déjà une xsession.Niveaux d'exécution:
run-level 0 Halt - Arrête le système.
run-level 1 Mode mono-utilisateur - Mode pour les tâches administratives.
run-level 2 Multi-utilisateur graphique avec mise en réseau - Démarre le système normalement.
niveau d'exécution 3-5 Non utilisé mais configuré de la même manière que le niveau d'exécution 2
run-level 6 Reboot - Redémarre le système.
Le terme niveau d'exécution fait référence à un mode de fonctionnement dans l'un des systèmes d'exploitation informatiques qui implémentent l'initialisation de type Unix System V. Classiquement, il existe sept niveaux d'exécution, numérotés de zéro à six; bien que jusqu'à dix, de zéro à neuf [citation nécessaire], puissent être utilisés. S est parfois utilisé comme synonyme de l'un des niveaux. Un seul "niveau d'exécution" est exécuté au démarrage - les niveaux d'exécution ne sont pas exécutés séquentiellement, c'est-à-dire que le niveau d'exécution 2 OU 3 OU 4 est exécuté, pas 2 puis 3 puis 4. - en.wikipedia.org/wiki/Runlevel
la source
unity
ougnome-shell --replace
ou mêmegnome-panel
oumetacity --replace
.Cela signifie simplement à un terminal différent .
Citant la question liée:
Par défaut, Ubuntu a 7 tty.
1-6
sont uniquement en ligne de commande,7
exécute votre session X (votre bureau graphique normal).Pour y accéder, utilisez ce raccourci clavier: Ctrl+ Alt+F1
(passage
F1
à F1-F6 pour accéder au terminal dont vous avez besoin)Pour revenir à votre session X (le bureau normal), utilisez: Ctrl+ Alt+F7
after logging on to a text-mode console
signifie simplement se connecter à un autre terminal et taper la commande:la source
Comme le note Rmano, startx est une approche très ancienne. Il y a bien longtemps, lorsque le binaire X11 était installé, root setuid.
Je viens de l'essayer sur une machine virtuelle et, en fait,
startx
échoue comme vous le décrivez, par défaut.chmod u+s /usr/lib/xorg/Xorg
corrige cela cependant.Je ne recommande pas de faire de
Xorg
be setuid root. Le monde s'est éloigné de cela pour une bonne raison. Mais si vous jouez dans une machine virtuelle à jeter, c'est comme ça que çastartx
marche.la source
Exemple minimal QEMU + Buildroot
Ma façon préférée d'apprendre ce que fait quelque chose est de faire un exemple minimal qui l'exécute.
Sur Ubuntu, c'est difficile car une seconde
startx
peut entrer en conflit avec votre bureau actuel./ubuntu//a/519164/52975 propose
Xnest
, mais avec QEMU + Buildroot, nous pouvons aller encore plus minimal et créer une micro distro avec seulement X11 installé.De cette façon, il devrait être plus facile de comprendre ce qui se passe.
J'ai décrit la création de la distribution sur: /unix//a/306116/32558
Une fois que l'image est exécutée sur QEMU, vous démarrez sur un shell TTY.
Ensuite, quand vous le faites:
il démarre une interface graphique X11:
Jetez maintenant un œil à la source de l'
startx
intérieur de cette distribution, qui n'est qu'un script shell.Il est une enveloppe simple sur
/usr/bin/xinit
, et qu'il passe/etc/X11/xinit/xinitrc
àxinit
.Si vous l'ouvrez
/etc/X11/xinit/xinitrc
, il contient les lignes suivantes:on voit donc que ça démarre:
twm
: un gestionnaire de fenêtres très simple et ancienxclock
etxterm
que l'on voit à l'écranCar
/usr/bin/xinit
, on peut faire:qui dit que:
la source