web-dev-qa-db-ja.com

ログイン時にコマンドを実行する-Ubuntu 15.04

これは死ぬように頼まれましたが、私が見つけた解決策のどれもうまくいかないようです。

ログイン時にsetxkbmap -layout us -option ctrl:nocapsなどのコマンドを実行したい。それは私のためだけに実行されるべきであり、ログインする誰に対してもそうではありません。

~/.profileは機能しません。 ~/.xinitrcは機能しません。 ~/.xsessionは機能しません。 ~/.config/autostartは機能しません。

編集:理想的には、ソリューションはバックアップにも適していると考えられます。構成ファイルはコピーが簡単であり、これはLinuxシステムの優れた点の1つです。

6
bfops

最も確かに、~/.config/autostartdoesコマンドが「正常に」動作する場合は動作しますが、次の2つのボトルネックに注意する必要があります。

  1. ~/.config/autostartのランチャーは.desktopファイルです。 .desktopファイルから複雑なコマンドを実行するには、次のコマンドを使用します。

    /bin/bash -c "setxkbmap -layout us -option ctrl:nocaps"
    
  2. 一部のコマンドは、デスクトップがまだ完全にロードされていない状態で実行すると壊れます。その場合、少し休憩を追加する必要があります、例えば:

    /bin/bash -c "sleep 15&&setxkbmap -layout us -option ctrl:nocaps"
    
5
Jacob Vlijm