gdmログイン時にすべてのユーザーに対して自動的にスクリプトを実行する方法は?

gdmログイン時にすべてのユーザーに対して自動的にスクリプトを実行する方法は?

ユーザーがgdmを介してログインしたときにいくつかの指示を実行するには、どのファイルを変更する必要がありますか?

試してみましたが、/etc/bashrcbashを起動したときにのみ(そしてxtermを開くたびに)実行されます。ユーザーがログインしたときに一度だけ実行したいと思います。

私が望むのは、ユーザーがログインするたびにいくつかのユーザー設定(ウィンドウマネージャを含む)を「リセット」して、WMが初期化される前にスクリプトを実行する必要があることです。

答え1

私に最適なソリューションは、/etc/gdm/PostLogin/Defaultユーザーがgdmを使用してログインした直後に行われます。まさに私が望んでいたものです。

答え2

Debian とその派生物では修正できますが、普遍的なものではないと/etc/profile思います。

答え3

マニュアルページから:

bashが--loginオプションを使用して対話型ログインシェルまたは非対話型シェルとして呼び出されると、まず/ etc / profileファイル(ファイルがある場合)からコマンドを読み取り、実行します。ファイルを読み込んだら、~/.bash_profile、~/.bash_login、~/.profile を順番に探して、存在して読み取れる最初のファイルからコマンドを読み込んで実行します。この動作は、シェルの起動時に --noprofile オプションを使用して無効にできます。

ログインシェルが終了すると、bashは〜/ .bash_logoutファイル(存在する場合)からコマンドを読み取り、実行します。

ログインシェルではなく対話型シェルを起動すると、bash は /etc/bash.bashrc および ~/.bashrc ファイルが存在する場合、そのコマンドを読み取り実行します。 --norcオプションを使用してこれを無効にできます。 --rcfile file オプションは、bash が /etc/bash.bashrc および ~/.bashrc の代わりにファイルからコマンドを読み込み、実行するように強制します。

ユーザーのWMを変更するには:kdm / gdm / xdm / slimを削除し、〜/ .xinitrcでWMを設定し、bash設定で "startx"を実行します。

関連情報