ログイン時に .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.desktop。XがWM をExec実行しない理由はまだよくわかりませんが、スクリプトに追加することでうまくいきました。~/.xsession~/.xsessionxmonad-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したがって、開始スクリプトがある場所へのシンボリック リンクを作成するだけです。

ユーザーのものではないファイルを変更しないでください。

関連情報