O xinitrc é executado ao efetuar login?

4

Eu tenho um ~/.xinitrc com o seguinte conteúdo

xrdb -merge $HOME/.Xdefaults

este xinitrc é basicamente inútil porque não é carregado quando o usuário loga, eu não acho que estou fazendo algo errado porque o mesmo comando funciona no bash , minha pergunta é: faz xinitrc reconhecem as variáveis de ambiente?

    
por user2384250 28.05.2013 / 17:18

2 respostas

2

~/.xinitrc é lido apenas se você iniciar o X11 com startx (ou qualquer coisa que chame xinit ). Se você efetuar login no modo gráfico, o gerenciador de exibição escolhe uma sessão para iniciar. Cada gerenciador de sessão ou ambiente de área de trabalho possui seu próprio script de inicialização, se houver.

A maioria dos sistemas carrega automaticamente recursos de ~/.Xresources como parte dos scripts de inicialização padrão do X11. Tente renomear seu arquivo de recursos para ~/.Xresources .

    
por 30.05.2013 / 02:47
2

.xinitrc é apagado quando você executa explicitamente xinit ( startx finalmente chama xinit ) para iniciar um X-server. Principalmente, isso não acontece, pois os Linux atuais usam gerenciadores de desktop, que iniciam diretamente um X-Server e executam /etc/X11/Xsession <desktopenvironment> , onde <desktopenvironment> é o valor de qualquer linha Exec= de um arquivo em /usr/share/xsessions , por exemplo

Exec=startxfce4

se você selecionou XFCE como tipo de sessão.

Pelo menos em sistemas baseados em Debian, os scripts em /etc/X11/Xsession.d/ são originados (!) em ordem. Principalmente, todos esses scripts configuram coisas e / ou modificam uma variável STARTUP que é usada na linha

exec $STARTUP

Então, tecnicamente, você poderia escrever um arquivo /usr/share/xsession/xinitrc.desktop , que permite selecionar uma sessão que executará ~/.xinitrc .

    
por 29.05.2013 / 14:44

Tags