web-dev-qa-db-ja.com

ログイン画面の前に起動するスクリプトを実行するにはどうすればよいですか?

タッチスクリーンを調整していたところ、最適なツールはxinput_calibratorでした。だから私はそれを使いました。 2つのオプションがあります(そのうちの1つは機能しませんでした)。これは、「Xセッションで始まるスクリプトで」このコマンドを実行する必要があることを示しています。

xinput set-int-prop "3M 3M USB Touchscreen - EX II" "Evdev Axis Calibration" 32 14410 2146 14574 2115

そこで、~/.xinitrc~/.xsession~/.xsessionrcを試してみましたが、すべて存在しませんでした。だから私はそれらを作成し、正確な内容はこのコマンドでした。最初の2つのファイルが原因でログインが失敗しました(ログイン後、ログイン画面に戻ります)。

最後のファイルでは、キャリブレーションは機能しましたが、ログインして初めて...

ログインダイアログが表示される前にbeforeコマンドを実行する必要があります。このコマンドを/etc/X11/xinit/xinitrcの最後に追加すると、結果はありません(何も変更されません)。また、/etc/X11/Xsession.d/40x11-common_xsessionrcの末尾に追加しようとしましたが(一部のファイルを検査した後)、結果は~/.xsessionrcに追加した場合とまったく同じでした。

ログイン画面が表示される前に(ウィンドウマネージャーが起動する前、またはXセッションが開始する前に)このコマンドを実行するにはどうすればよいですか?

(それが重要な場合、私はデフォルトのウィンドウマネージャでKubuntuを実行しています)

[〜#〜] update [〜#〜]Kubuntuを使用しているため、ディスプレイマネージャーはkdmです。受け入れられた回答が示唆するように、私はファイル/etc/kde4/kdm/Xsetupを編集し、そして言及されたように here 私はデフォルトでそこにあるコマンドの前にコマンドを追加しました。そしてそれは魅力のように機能します:)

17
jadkik94

ログイン後、変更しようとしたすべてのファイルが読み取られます。さらに、~/.xinitrcおよび~/.xsessionは、セッションで実行されるコマンドの完全なセットです。 ~/.xinitrcは、テキストモードプロンプトからxinitまたはstartxを実行すると読み取られ、「カスタムセッション」を実行すると~/.xsessionが読み取られます(名前は異なる場合があります) )グラフィカルログインプロンプトから。

ログインプロンプトを表示するプログラム display manager を設定する必要があります。 KDEディスプレイマネージャーであるkdmの場合、コマンドを/etc/kde4/kdm/Xsetup(または古いバージョンの場合は/etc/kde3/kdm/Xsetup)に追加します(Debian上のパスです。Kubuntuが同じパスを使用することは確認していません)。

Gdm(Gnomeディスプレイマネージャー)の場合、/etc/gdm/Init/Defaultにコマンドを追加します。 xdm(従来のXディスプレイマネージャー)の場合、コマンドを/etc/X11/xdm/Xsetupに追加します。

簡単な例として、独自の構成ファイルを作成することをお勧めします。

/usr/lib/X11/xorg.conf.d/20-calibration.conf

ファイル内容:

Section "InputClass"
         Identifier "Calibration"
         MatchProduct "3M 3M USB Touchscreen - EX II"
         Option "Calibration" "14410 2146 14574 2115"
EndSection

これでうまくいくはずです。

4
ortang