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


17

私はタッチスクリーンを調整していましたが、最適なツールは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つのファイルにより、ログインが失敗しました(ログイン後、ログイン画面に戻ります)。

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

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

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

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

更新 Kubuntuを使用しているため、ディスプレイマネージャーはkdmです。受け入れられた答えが示唆するように、私はファイルを編集し、ここで/etc/kde4/kdm/Xsetup述べたように、デフォルトで存在するコマンドの前にコマンドを追加しました。そして、それは魅力のように機能します:)


4
どのログインマネージャーを使用していますか?gdm3のために、あなたは、おそらく使用することができます/etc/gdm3/Init/display/etc/gdm3/Init/Default- manpages.debian.net/cgi-bin/...
ウルリッヒDangel

ねえ、良いもの。ここに質問を投稿しました[ unix.stackexchange.com/questions/172007 / ...このQ&Aに重複する可能性があるとマークされました。しかし、人々は、それがクローンであることを確信していません。私の質問も見て、助けてください:)
kaiwan 14

回答:


13

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

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

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


説明してくれてありがとう!私はあなたが成功せずに提案したことを試しました。私はありますXsetup(あなたが言及した同じパスでの)ファイルを、コマンドを追加しました。キャリブレーションは機能しませんでしたが、を追加して実行されたことecho "w" > /test.logを確認/test.logし、再起動後に検証が存在することを確認しました。xinput特別な「コンテキスト」または何かを必要とすることは可能ですか?
jadkik94

実際、最後のコメントは無視してください。リダイレクトしましたxinputコマンドをそのファイルましたが、デバイス名にスペースが追加され、キャリブレーションが機能しなくなったようです。あなたは100%正しかった:)再びありがとう。
jadkik94

5
そして、答えを完成させるために-ディスプレイマネージャー(デスクトップ環境と混同しないように)を調べるには、を使用しますcat /etc/X11/default-display-manager
Nux

どうxserverrc?そして中にあるものは/etc/X11/xinit/xserverrc
CMCDragonkai

1
@CMCDragonkaiディスプレイマネージャーがある場合startxは、使用されません。彼らは、ユーザーがログインする前に実行するので、ディスプレイマネージャの初期化スクリプトは、ここでは関係ないだろう。
ジル「SO-停止は悪であること」

4

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

/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

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


-1

/etc/rc.localを試すことができますか?


4
Xが起動する前にスクリプトが実行されるのではないかと(私が理解したように)、スクリプトが役に立たなくなることが心配でした...
jadkik94

3
@ jadkik94そうですね、rc.localにはxセッションへのアクセス権がないため、これは機能しません。
ウルリッヒダンジェル

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