Ça fonctionne: c'est merveilleux! En fait nous avons ouvert une deuxième session graphique en parallèle avec la première qui est encore bien présente.
Comment faire pour y revenir?
Examinons la situation:
Nous constatons que la première session est associée au terminal virtuel tty7 et la deuxième à tty8.
Nous pouvons donc basculer entre les deux sessions à l'aide de CTRL-ALT-F7 et CTRL-ALT-8.
Il arrive cependant que l'item du menu 'Changer d'utilisateur' soit inopérant et ceci principalement en cas d'utilisation d'un autre bureau que celui par défaut. Plutôt que de se casser la tête pour y remédier, il est préférable de procéder manuellement.
Basculons vers tty2 (CTRL-ALT-F2) pour nous y connecter en tant que l'utilisateur qui sera propriétaire de la future deuxième session graphique.
Ensuite nous lançons la commande startx et recevons en retour une flopée de message d'erreurs, parmi lesquels celui-ci (qui n'est pas dénué de sens):
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.
Recommençons cette fois avec la commande:
Certaines distributions comme Fedora (mais pas Ubuntu) regardent dans le dossier /etc/sysconfig pour voir si les utilisateurs ne préfèrent pas un autre bureau que celui par défaut. Dans ce cas /etc/sysconfig contient un fichier desktop avec une ligne du genre:
[root@rigel sysconfig]# grep '^DESKTOP' desktop
grep: desktop: Aucun fichier ou dossier de ce type
[root@rigel sysconfig]#
On peut aussi avoir ceci:
[root@rigel sysconfig]#
Une autre possibilité est:
DESKTOP=GNOME
[root@rigel sysconfig]#
Correction:
Cependant, il nous est encore loisible de définir le bureau préféré d'un utilisateur donné. Il existe différentes façons de procéder dépendant de la distribution. Dans le cas de Fedora (et d'autres distributions), il suffit de créer un fichier ~/.Xclients:
[toto@rigel ~]$ chmod +x ~/.Xclients
A l'exécution de startx par un utilisateur, le système démarre le client préféré de cet utilisateur, à défaut le client préféré de l'ensemble des utilisateurs et enfin en l’absence de client préféré, le client par défaut de la distribution, suivant ce schéma (Fedora), réalisé avec kivio:
Examinons la situation dans le cas où une deuxième session a été lancée avec startx:
Le pid a été ajouté à l'output, de manière à pouvoir entrer plus dans les détails:
bash
└─startx /usr/bin/startx -- :1
└─xinit /etc/X11/xinit/xinitrc -- /usr/bin/X :1 -auth /home/toto/.serverauth.6327
├─X :1 -auth /home/toto/.serverauth.6327
└─ck-xinit-sessio /usr/bin/ssh-agent /home/toto/.Xclients
└─sh /home/toto/.Xclients
├─ssh-agent /home/toto/.Xclients
└─startkde /usr/bin/startkde
└─kwrapper4 ksmserver
xinit est appelé par startx qui lui intime (en l'absence du fichier ~/.xinitrc) d'exécuter le script /etc/X11/xinit/xinitrc aux fins de démarrer le programme client.
Si aucun script ne lui est désigné (ce n'est pas le cas s'il est appelé par startx), xinit recherche l'existence du fichier ~/.xinitrc. En l'absence de ce dernier, le client par défaut sera un xterm. Le serveur par défaut est X.
Ainsi la commande
Une variante de la commande précédente est:
Cette dernière commande peut avoir une application assez amusante. Considérons que nous sommes aux commandes d'un système dans lequel X n'est pas démarré (ce qui correspond au niveau d'exécution 3 pour un grand nombre de distributions). La commande:
xinit -e 'gnome-system-monitor'
nous conduira vers un écran affichant graphiquement les performances du système.
On peut même lancer un éditeur graphique:
Pour le fun, signalons qu'il est possible de lancer une session graphique sans utilisation de xinit. Voici comment.
Depuis tty2, éventuellement en root si problème de droit, lancer X:
Avec Ubuntu 11.04, il semblerait qu'il soit impossible de démarrer une session Unity sans passer par le display manager gdm.
Pour démarrer une session avec startx il convient donc de définir un bureau préféré (différent du bureau par défaut, à savoir Unity) en créant un fichier ~/.xsession contenant
gnome-session --session=classic-gnome (pour une session gnome normale)
startkde (pour kde)
Avec Ubuntu 11.10, startx peut maintenant ouvrir une session Unity, c'est la session par défaut et il n'est nul besoin d'un fichier ~/.xsession. Indiquons quand même que la commande qui serait à utiliser est simplement
gnome-session.
Il est également possible d'installer gnome shell tout en conservant un Unity fonctionnel. Pour que startx ouvre une session gnome shell, la commande est cette fois
gnome-session --session=gnome
Post a Comment
Click to see the code!
To insert emoticon you must added at least one space before the code.