web-dev-qa-db-ja.com

ログイン時に.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は実行されておらず、トレイラーも実行されておらず、setxkbmapもセットアップされていません。

私は この質問 を見てきましたが、これはまったく同じですが、そこでの答えは役に立ちませんでした:

  • ~/.xsessionはすべての人に実行可能です
  • ログインマネージャーに「カスタムセッション」オプションがありません(Ubuntuのデフォルト)
4
Gauthier

独自の開始スクリプトxmonad-start.shを作成し、このスクリプトを実行するために/usr/share/xsessions/xmonad.desktopExec行を変更したことがわかりました。 XがWMに関係なく~/.xsessionを実行しない理由はまだよくわかりませんが、スクリプト~/.xsessionxmonad-start.shを追加しても機能しました。

この質問 役に立ちました。


私の新規インストール(Ubuntu15.10およびapt-getxmonad)では、次のように機能します。

  • /usr/share/xsessions/xmonad.desktopは、lightdmでのログイン時に呼び出されるものです。
  • これには、行Exec=xmonad-sessionがあります。
  • xmonad-session/usr/binにあり、存在する場合は.xmonad/xmonad-session-rcをソースします。

したがって、開始スクリプトがどこにあっても、シンボリックリンク~/.xmonad/xmonad-session-rcを作成できます。

ユーザーのものではないファイルをいじくり回すことはありません。

6
Gauthier