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


8

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

私は試しました/etc/bashrcが、bashを起動するときに(そしてxtermが開かれるたびに)それだけで実行されます。ユーザーがログインしたときに一度だけ実行したいのですが。

私がやりたいのは、ユーザーがログオンするたびに(ウィンドウマネージャを含む)一部のユーザー設定を "リセット"することです。そのため、WMが初期化される前にスクリプトを実行する必要があります。


4
なぜあなたはそのようなユーザーを困らせたいのですか?
キース

回答:


8

私に最適と思われる解決策は、編集すること/etc/gdm/PostLogin/Defaultです。これは、ユーザーがgdmでログインした直後に実行されます。ちょうど私が欲しかったもの。


1

Debianとその派生物では変更できますが/etc/profile、それが普遍的であるとは思わないでください。


これはシェルログイン専用です。OPはそのようなソリューションには興味がないと指摘しました。
rozcietrzewiacz

1
@rozcietrzewiacz:読み取り/etc/profile(を参照/etc/gdm/Xsession)するため、GDMログインでも機能します。すべてのDMに一般的な規則があるわけではないと思います。
enzotib

うーん...多分そうです、私にはわかりません-しかし、それがいつ他から調達されたかを確認しましか?もちろん、ログイン設定のいくつかのテストを行うことができますが、その場合は、このアプローチについてさらに説明する必要があります。
rozcietrzewiacz

0

manページから:

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ではなく、fileからコマンドを読み取って実行します。

ユーザーのWMを変更するには、kdm / gdm / xdm / slimをアンインストールし、〜/ .xinitrcにWMをセットアップして、bash構成から「startx」を実行します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.