met*_*arp 14 ubuntu x11 lightdm
登录到我的计算机时,我无法运行我的~/.xinitrc
( ~/.xsession
) 脚本。我使用 Xubuntu 12.10 和 vanilla lightgm 作为登录管理器。这两个文件都有正确的权限(可执行)。我在我的~/.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
Run Code Online (Sandbox Code Playgroud)
任何其他命令(如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
Run Code Online (Sandbox Code Playgroud)
但显然这仍然通过 XFCE 启动,startxfce4
即使我的~/.xinitrc
.
正如乌尔里希·丹格尔 (Ulrich Dangel) 所指出的,有一行/usr/xdg/xfce4/xinitrc
读取~/.Xmodmap
和~/.Xresources
,并且该脚本由startxfce4
. 所以这个“谜”现在已经解开了。但同样,颜色(xterm
,urxvt
从等)~/.xinitrc
仍然没有被加载。
对于您的第一个问题,它通常取决于您的会话,即您示例中的文件不一定足够,因为它没有启动您的 WM/DE。通常~/.xsession
或~/.xinitrc
启动整个环境,不仅用于自动启动某些程序,即它们应该包含一行,exec x-window-manager
但全局xsession
可能只是源文件。
对于您的另一个问题,Debian(可能还有 Ubuntu)有/etc/X11/Xsession.d
例如加载~/.Xresources
. 这些文件还负责加载和查找默认窗口管理器。
要调试您的问题,您应该查看~/.xsession-errors
或从控制台启动 xserver 并直接在那里查看错误消息,即startx -- /etc/X11/Xsession
归档时间: |
|
查看次数: |
35736 次 |
最近记录: |