~ / .xinitrc não está sendo executado

13

Não consigo executar meus scripts ~/.xinitrc ( ~/.xsession ) ao fazer login em meu computador. Estou usando o Xubuntu 12.10 com vanilla lightgm como 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 se eu excluir meus arquivos ~/.xinitrc e ~/.xsession , xmodmap parece estar lendo ~/.Xmodmap , e ~/.Xresources também está sendo parcialmente lido. Eu verifiquei em /etc/X11/Xsession para ver se há algum comando que faça com que ele leia esses dois arquivos e não encontre nenhum. O que poderia estar acontecendo?

EDIT: Como o Gilles perguntou, estou usando uma sessão personalizada enquanto faç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 em /usr/xdg/xfce4/xinitrc que lê ~/.Xmodmap e ~/.Xresources e esse script é executado por startxfce4 . Então esse "mistério" está agora resolvido. Mas, novamente, as cores (por xterm , urxvt etc.) de ~/.xinitrc ainda não estão sendo carregadas.

    
por metwarp 24.12.2012 / 06:10

1 resposta

6

Para sua primeira pergunta, isso geralmente depende da sua sessão, ou seja, o arquivo em seu exemplo não é necessariamente suficiente, pois não inicia seu WM / DE. Normalmente, ~/.xsession ou ~/.xinitrc iniciam todo o ambiente e não são usados apenas para iniciar automaticamente alguns programas, ou seja, devem conter uma linha como exec x-window-manager , mas o global xsession pode apenas fornecer o arquivo.

Para sua outra pergunta, o Debian (e provavelmente o Ubuntu) tem /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, dê uma olhada em ~/.xsession-errors ou inicie o xserver em um console e veja as mensagens de erro diretamente, por exemplo, startx -- /etc/X11/Xsession

    
por 24.12.2012 / 10:53