〜/ .xinitrc没有被运行


14

登录计算机时,我无法运行~/.xinitrc~/.xsession)脚本。我正在使用带有香草lightgm的Xubuntu 12.10作为登录管理器。这两个文件都具有正确的权限(可执行)。我有~/.xinitrc以下内容:

#!/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

其他任何命令(如date >> "$HOME/did_start")也未执行。

现在显然,即使我删除了我~/.xinitrc~/.xsession文件,xmodmap似乎仍在读取中~/.Xmodmap,并且~/.Xresources也正在部分读取中。我检查了/etc/X11/Xsession一下是否有任何命令可以读取这两个文件,但没有找到。可能会发生什么?

编辑:自从Gilles问起,我正在通过lightdm(/usr/share/xsessions/custom.desktop)登录时使用自定义会话:

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

但是显然,startxfce4即使我没有将它启动,也仍然会通过XFCE ~/.xinitrc

正如乌尔里希·丹格尔(Ulrich Dangel)所指出的那样,在一行中/usr/xdg/xfce4/xinitrc读取~/.Xmodmap~/.Xresources,并且该脚本由执行startxfce4。这样,“谜”就解决了。但同样,颜色(xtermurxvt从等)~/.xinitrc仍然没有被加载。


您的登录过程如何?哪些会议可用(如果有)?
tijagi

您在lightdm中选择哪种会话类型?
吉尔斯(Gillles)“所以-别再作恶了”

@Gilles我正在使用自定义会话。我已经用更多信息更新了我的问题。
metwarp 2012年

Answers:


6

对于第一个问题,它通常取决于您的会话,即示例中的文件不一定足够,因为它不会启动WM / DE。通常情况下~/.xsession~/.xinitrc启动整个环境,不仅用于自动启动某些程序,即它们应包含类似这样的行,exec x-window-manager而全局xsession可能只是源文件。

对于您的其他问题,Debian(可能还有Ubuntu)具有/etc/X11/Xsession.d例如loading ~/.Xresources。这些文件还负责加载和查找默认的窗口管理器。

要调试您的问题,您应该查看一下~/.xsession-errors或从控制台启动xserver并直接在其中查看错误消息,即startx -- /etc/X11/Xsession


对于第一部分,即使我没有exec startxfce4一行~/.xinitrc,XFCE 也会启动(这很奇怪,肯定正在发生其他事情)。对于第二部分,是的,您所说的似乎是事实。该/etc/xdg/xfce4/xinitrc脚本导致两个文件被读取。
metwarp 2012年

@metwarp ok更新了评论
Ulrich Dangel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.