De nombreux documents, j'ai lu que startx
démarre LXDE dans Raspbian OS. Je suis un peu confus.
Est-ce que startx
exécutera toujours l'interface graphique LXDE?
J'ai également vu un exemple d'utilisation de la commande startlxde
. En quoi cette commande est-elle différente et pourquoi startx
et startlxde
exécutent la même interface graphique (LXDE)? Ou peut-être qu'il l'exécute car il s'agit de l'interface graphique par défaut?
Comment puis-je choisir l'interface graphique par défaut si j'en ai plusieurs?
Pourriez-vous s'il vous plaît expliquer plus de détails sur l'interface graphique dans les systèmes Linux?
startx
exécute xinit
qui démarre un serveur X et une session client. La session client est ~/.xinitrc
Si elle est présente, sinon /etc/X11/xinit/xinitrc
(L'emplacement peut varier entre les distributions). Ce que fait ce script varie selon les distributions. Sur Debian (y compris les dérivés tels que Raspbian), /etc/X11/xinit/xinitrc
Exécute /etc/X11/Xsession
Qui à son tour exécute des scripts dans /etc/X11/Xsession.d
. Les scripts Debian recherchent une session utilisateur dans d'autres fichiers (~/.xsession
, ~/.xsessionrc
, ~/.Xsession
) Et, si aucun paramètre utilisateur n'est applicable, exécute x-session-manager
( retomber à x-window-manager
si aucun [gestionnaire de sessions] n'est installé, retomber à x-terminal-emulator
dans le cas peu probable où aucun gestionnaire de fenêtres n'est installé).
Si vous souhaitez contrôler ce qui sera exécuté, vous pouvez créer l'un des fichiers utilisateur, soit ~/.xsession
Ou ~/.xinitrc
. Le fichier ~/.xsession
Est également utilisé si vous vous connectez sur un gestionnaire d'affichage (c'est-à-dire si vous tapez votre mot de passe dans une fenêtre GUI). Le fichier ~/.xinitrc
Est spécifique à xinit
et startx
. L'utilisation de ~/.xsession
Passe par /etc/X11/Xsession
Afin de configurer des éléments comme les méthodes de saisie, les ressources, les agents de mot de passe, etc. Si vous utilisez .xinitrc
, Vous devrez effectuer toutes ces opérations manuellement. Encore une fois, je décris Debian ici, d'autres variantes d'Unix pourraient configurer les choses différemment. L'utilisation de ~/.xinitrc
Pour spécifier ce qui sera exécuté lorsque vous exécutez startx
ou xinit
est universelle.
Que vous utilisiez ~/.xinitrc
Ou ~/.xsession
, Ce fichier (généralement un script Shell, mais il ne doit pas nécessairement l'être si vous voulez vraiment utiliser autre chose) doit préparer tout ce qui doit être préparé ( par exemple, les paramètres du clavier, les ressources, les applets qui ne sont pas démarrées par le gestionnaire de fenêtres, etc.), puis à la fin, exécutez le programme qui gère la session. Une fois le script terminé, la session se termine. En règle générale, vous utiliseriez exec
à la fin du script, pour remplacer le script par le gestionnaire de sessions ou le gestionnaire de fenêtres.
Votre système a probablement /usr/bin/startlxde
Comme gestionnaire de session par défaut à l'échelle du système. Sur Debian et dérivés, vous pouvez vérifier les gestionnaires de session disponibles avec
update-alternatives --list x-session-manager
ou obtenez une description plus détaillée indiquant laquelle est à jour
update-alternatives --display x-session-manager
Si LXDE n'était pas la valeur par défaut à l'échelle du système et que vous vouliez en faire la valeur par défaut pour votre compte, vous pourriez utiliser le fichier ~/.xsession
Suivant:
#!/bin/sh
exec startlxde
Sur certaines variantes Unix, cela ne fonctionnerait que pour les connexions graphiques, pas pour startx
, donc vous auriez également besoin de créer un ~/.xinitrc
Identique. (Ou pas identique: dans ~/.xsession
, Vous voudrez peut-être faire d'autres choses, car c'est le premier fichier exécuté dans une session graphique; par exemple, vous pouvez mettre . ~/.profile
Vers le haut, pour définir certaines variables d'environnement.)
Si vous souhaitez essayer d'autres environnements comme un seul, vous pouvez spécifier un autre programme à exécuter sur la ligne de commande de startx
lui-même. Le programme startx
a une particularité: vous devez utiliser le chemin d'accès complet au programme.
startx /usr/bin/startkde
La commande startx
vous permet également de spécifier des arguments à transmettre au serveur. Par exemple, si vous souhaitez exécuter plusieurs sessions GUI en même temps, vous pouvez passer un numéro d'affichage différent à chaque fois. Passez les arguments du serveur après --
Sur la ligne de commande de startx
.
startx /usr/bin/startkde -- :1
Non: startx
est configurable. Selon le page de manuel :
Pour déterminer le client à exécuter,
startx
recherche d'abord un fichier appelé.xinitrc
dans le répertoire personnel de l'utilisateur. S'il n'est pas trouvé, il utilise le fichierxinitrc
dans le répertoire de la bibliothèquexinit
.
startx
n'est pas le seul moyen de démarrer X (comme vous le voyez dans startlxde
). La page de manuel startx
aide à nouveau:
Le script startx est un frontal de xinit (1) qui fournit une interface utilisateur un peu plus agréable pour exécuter une seule session du système X Window. Il est souvent exécuté sans argument.
En revanche, si vous souhaitez choisir une interface graphique (LXDE, KDE, etc.), alors xdm
et des sosies tels que kdm
, gdm
ou LightDM
sont utilisés pour sélectionner différents types de bureaux. Sur Debian, j'utilise généralement kdm
, car cela autorise différents types de bureaux. Les conditionneurs pour gdm
interdisent la plupart des types de bureau, ce qui le rend impropre à mes besoins.
xdm
utilise un ensemble de scripts différent pour démarrer, par exemple, votre ~/.xsession
script avec les scripts système. Les sosies peuvent ignorer cela et utiliser leurs propres scripts. Mais c'est un point de départ.