登录时未执行 .xsession 和 .xinitrc

登录时未执行 .xsession 和 .xinitrc

这是我的内容~/.xsession

#!/bin/bash

# Tray for skype, keyboard layout, ...
trayer --edge top --align right --SetDockType true --SetPartialStrut true  --expand true --width 10 --transparent true --tint 0x686868 --height 17 &

# Keyboard layout switcher
setxkbmap -layout us,se -option 'grp:alt_shift_toggle' &

xscreensaver -nosplash &

在 lightdm 中选择 xmonad 登录后,xscreensaver 未运行,trayer 也未运行,setxkbmap 未设置。

我见过这个问题,这是完全相同的,但那里的答案没有帮助:

  • ~/.xsession对所有人都可执行
  • 我在登录管理器中没有“自定义会话”选项(Ubuntu 的默认设置)

答案1

事实证明,我创建了自己的启动脚本xmonad-start.sh,并更改​​了运行该脚本的行/usr/share/xsessions/xmonad.desktopExec我仍然不太明白为什么 X 不会运行~/.xsession任何 WM,但添加~/.xsession到我的脚本中xmonad-start.sh却有效。

这个问题帮助了。


在我的全新安装(Ubuntu 15.10 及xmonad以上版本apt-get)中,它的工作原理如下:

  • /usr/share/xsessions/xmonad.desktop是登录时调用的lightdm
  • 这又具有行Exec=xmonad-session
  • xmonad-session位于 中/usr/bin,并且来源.xmonad/xmonad-session-rc(如果存在)。

因此,您只需创建一个指向~/.xmonad/xmonad-session-rc启动脚本所在位置的符号链接即可。

不得修改不属于用户的文件。

相关内容