Qual é o objetivo do .xsession
arquivo na pasta pessoal? O que deve ser colocado lá? Os ambientes de área de trabalho não usam esse arquivo e, para a inicialização do X a partir do tty, existe .xinitrc
.
Qual é o objetivo do .xsession
arquivo na pasta pessoal? O que deve ser colocado lá? Os ambientes de área de trabalho não usam esse arquivo e, para a inicialização do X a partir do tty, existe .xinitrc
.
Respostas:
Se você efetuar login no modo de texto, inicie uma sessão da GUI com xinit ou com o script wrapper startx
, xinit
faça o seguinte:
/etc/X11/xinit/xserverrc
)./etc/X11
(normalmente /etc/X11/xinit/xinitrc
), dependendo de como ele é configurado.~/.xinitrc
, se existir. Se não existir, execute um cliente padrão (tradicionalmente xterm
).~/.xinitrc
terminar, mate o servidor X.Se você fizer login em modo gráfico em um gerenciador de tela X (xdm, gdm, kdm, wdm, LightDM, ...), tradicionalmente, o que é executado depois de iniciar sessão é alguns scripts em /etc/X11
seguida ~/.xsession
.
~/.xsession
tem o papel de ~/.profile
e ~/.xinitrc
combinado: ele deve executar a inicialização inicial da sua sessão (por exemplo, definir variáveis de ambiente) e iniciar programas específicos para a GUI (geralmente pelo menos o gerenciador de janelas).
Atualmente, a maioria dos gerenciadores de exibição do X oferece a opção de uma sessão. A escolha de uma sessão específica lançou um ambiente de área de trabalho específico, gerenciador de sessões, gerenciador de janelas. O que é executado, então, é apenas o DE / SM / WM e os programas que ele escolhe iniciar, com base nos arquivos de configuração que ele escolhe ler. Muitos ambientes fornecem uma "sessão personalizada" que lê o tradicional ~/.xsession
.
.xsession
arquivo será lido apenas se você selecionar um tipo de sessão específico. Eu sei que, para o Gdm, os desenvolvedores upstream não querem incluir um que seja executado .xsession
por padrão e deixem para cada distribuição, e muitas distribuições não se incomodam ou não percebem a necessidade. Não sei qual é a situação do kdm.
/etc/kde4/kdm/Xsession
para ser executado como usuário logo após o login. Eles são mentirosos - o arquivo (que está presente entre nós) nunca é tocado pelo kdm, eu até o removi e isso não mudou nada.
.xsession
, como você descreveu. Mas se, em vez do "KDE", você escolher "Sessão personalizada", .xsession
será executado em vez do KDE. Eu uso isso, por exemplo, porque corro just xfce4-panel
e FVWM 2 como minha "área de trabalho"; se o KDE estivesse instalado em um sistema que eu estava usando, ele seria completamente ignorado.
A inicialização da sessão X pode ser complicada atualmente. Um bom lugar para começar é o script /etc/X11/Xsession
para ver como as coisas serão executadas.
Nos meus sistemas Debian / Ubuntu, o script /etc/X11/Xsession
define a variável USERXSESSION=$HOME/.xsession
. Posteriormente, o script /etc/X11/Xsession.d/50x11-common_determine-startup
procura esse script e o usa como a sessão principal, se permitido pela política do sistema /etc/X11/Xsession.options
e se nenhuma outra sessão foi solicitada pelo gerenciador de exibição.
Eu recomendo fortemente que você dê uma olhada no livro Guia do administrador do sistema X Window: para X versão 11 . O capítulo 2 explica a finalidade .xsession
e todo o processo de configuração de uma configuração de amostra. Também é uma boa atualização para toda a terminologia relacionada à janela x (e espero que você não se assuste :)). Você pode obter o livro em
Embora esteja um pouco desatualizado, você pode encontrar muitas informações dos conceitos subjacentes que não mudaram até hoje e são muito legíveis. Além disso, é realmente engraçado dar uma olhada no que era de primeira qualidade naqueles dias.
.xsession é o script de inicialização tradicional para o ambiente X11. Atualmente, com gerentes de sessão como o kdm, não é mais tão útil, mas em um sistema tradicionalmente configurado. É isso que é executado após iniciar o X11 com o startx.