startx runs xinit que inicia um servidor X e uma sessão do cliente. A sessão do cliente é ~/.xinitrc , se presente, e de outra forma /etc/X11/xinit/xinitrc (o local pode variar entre distribuições). O que esse script faz varia entre distribuições. No Debian (incluindo derivados como o Raspbian), /etc/X11/xinit/xinitrc runs /etc/X11/Xsession , que por sua vez executa scripts em /etc/X11/Xsession.d . Os scripts Debian procuram por uma sessão de usuário em outros arquivos ( ~/.xsession , ~/.xsessionrc , ~/.Xsession ) e, se nenhuma configuração de usuário for aplicável, executa x-session-manager (voltando a x-window-manager se não [gerenciador de sessão] está instalado, voltando a x-terminal-emulator no caso improvável de que nenhum gerenciador de janelas esteja instalado).
Se você quiser controlar o que é executado, crie um dos arquivos do usuário, ~/.xsession ou ~/.xinitrc . O arquivo ~/.xsession também é usado se você fizer login em um gerente de exibição (ou seja, se você digitar sua senha em uma janela da GUI). O arquivo ~/.xinitrc é específico de xinit e startx . Usar ~/.xsession passa por /etc/X11/Xsession , portanto, configura itens como métodos de entrada, recursos, agentes de senha etc. Se você usar .xinitrc , terá que fazer todos eles manualmente. Mais uma vez, estou descrevendo o Debian aqui, outras variantes do Unix podem configurar as coisas de forma diferente. O uso de ~/.xinitrc para especificar o que é executado quando você executa startx ou xinit é universal.
Se você usa ~/.xinitrc ou ~/.xsession , esse arquivo (normalmente um shell script, mas não precisa ser se você realmente quiser usar outra coisa) deve preparar o que precisa ser preparado (por exemplo, configurações do teclado , recursos, applets que não são iniciados pelo gerenciador de janelas, etc.) e, em seguida, no final, execute o programa que gerencia a sessão. Quando o script termina, a sessão é encerrada. Normalmente, você usaria exec no final do script para substituir o script pelo gerenciador de janelas ou pelo gerenciador de janelas.
Seu sistema presumivelmente tem /usr/bin/startlxde como o gerenciador de sessão padrão do sistema. No Debian e derivados, você pode verificar os gerenciadores de sessão disponíveis com
update-alternatives --list x-session-manager
ou obtenha uma descrição mais detalhada indicando qual deles é atual com
update-alternatives --display x-session-manager
Se o LXDE não fosse o padrão para todo o sistema e você quisesse torná-lo o padrão para sua conta, você poderia usar o seguinte arquivo ~/.xsession :
#!/bin/sh
exec startlxde
Em algumas variantes do Unix, isso seria executado apenas para logins gráficos, não para startx , então você também precisaria criar um ~/.xinitrc idêntico. (Ou não idêntico: em ~/.xsession , você pode querer fazer outras coisas, porque esse é o primeiro arquivo que é executado em uma sessão gráfica; por exemplo, você pode colocar . ~/.profile no topo, para definir algumas variáveis de ambiente). / p>
Se você quiser experimentar outros ambientes como um único, você pode especificar um programa diferente para ser executado na linha de comando do startx em si. O programa startx tem um capricho: você precisa usar o caminho completo para o programa.
startx /usr/bin/startkde
O comando startx também permite especificar argumentos para passar para o servidor. Por exemplo, se você quiser executar várias sessões GUI ao mesmo tempo, poderá passar um número de exibição diferente a cada vez. Passar argumentos do servidor após -- na linha de comando de startx .
startx /usr/bin/startkde -- :1