Não consigo executar meus scripts ~/.xinitrc
( ~/.xsession
) ao fazer login no meu computador. Estou usando o Xubuntu 12.10 com vanilla lightgm como o gerenciador de login. Ambos os arquivos têm a permissão correta (executável). Eu tenho no meu ~/.xinitrc
, o seguinte:
#!/usr/bin/env bash
# read ~/.Xmodmap if it exists
if [[ -f "${HOME}/.Xmodmap" ]]; then
xmodmap "${HOME}/.Xmodmap"
fi
# read ~/.Xresources if it exists
if [[ -f "${HOME}/.Xresources" ]]; then
xrdb -load "${HOME}/.Xresources"
fi
# use gnome-keyring-daemon to manage keys
/usr/bin/gnome-keyring-daemon --start --components=gpg
/usr/bin/gnome-keyring-daemon --start --components=ssh
Qualquer outro comando (como date >> "$HOME/did_start"
) também não está sendo executado.
Agora, aparentemente, mesmo que eu exclua meus arquivos ~/.xinitrc
e ~/.xsession
, xmodmap
parece estar lendo ~/.Xmodmap
e ~/.Xresources
também está sendo parcialmente lido. Fiz o check-in /etc/X11/Xsession
para ver se há algum comando que o faça ler esses dois arquivos e não encontrei nenhum. O que poderia estar acontecendo?
EDIT: Como o Gilles perguntou, estou usando uma sessão personalizada durante o login através do lightdm ( /usr/share/xsessions/custom.desktop
):
[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession
Mas, aparentemente, isso ainda inicia o XFCE via startxfce4
mesmo que eu não o tenha no meu ~/.xinitrc
.
E, como Ulrich Dangel apontou, há uma linha na /usr/xdg/xfce4/xinitrc
qual lê ~/.Xmodmap
e ~/.Xresources
, e esse script é executado por startxfce4
. Então esse "mistério" agora está resolvido. Mas, novamente, as cores (para xterm
, urxvt
etc.) de ~/.xinitrc
ainda não estão sendo carregadas.
Respostas:
Para sua primeira pergunta, normalmente depende da sua sessão, ou seja, o arquivo no seu exemplo não é necessariamente suficiente, pois não inicia o seu WM / DE. Normalmente,
~/.xsession
ou~/.xinitrc
inicie o ambiente inteiro e não seja usado apenas para iniciar automaticamente alguns programas, ou seja, eles devem conter uma linha comoexec x-window-manager
a global, masxsession
apenas o arquivo.Para sua outra pergunta, o Debian (e provavelmente o Ubuntu) tem o
/etc/X11/Xsession.d
que, por exemplo, carrega~/.Xresources
. Esses arquivos também são responsáveis por carregar e encontrar o gerenciador de janelas padrão.Para depurar seus problemas, você deve dar uma olhada
~/.xsession-errors
ou iniciar o xserver em um console e ver as mensagens de erro diretamente lá, ou seja,startx -- /etc/X11/Xsession
fonte
exec startxfce4
linha no meu~/.xinitrc
, o XFCE inicia (é estranho, algo mais deve estar acontecendo). Para a segunda parte, sim, o que você disse parece ser o caso. O/etc/xdg/xfce4/xinitrc
script fez com que os dois arquivos fossem lidos.