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 次 |
| 最近记录: |