起動コマンドがまったく実行されないのはなぜですか?

起動コマンドがまったく実行されないのはなぜですか?

私はノートパソコンを手に入れようとしていた画面の明るさをデフォルトで低く設定する、そして私のキーボードのライトが消えるコンピュータを起動するとき。

コマンドラインで実行すると機能する次の 2 つのコマンドがあります。

xbacklight -set 7
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness

私はそれらを次のようにファイルに入れました/etc/rc.local:

#!/bin/sh -e
# ...
# By default this script does nothing.
echo 0 | tee /sys/class/leds/asus::kbd_backlight/brightness
xbacklight -set 7
exit 0

sudoただし、どちらのコマンドも実行されません。(に配置された場合、2 番目のコマンドでは は必要ないと言われました/etc/rc.local)

ありました同じことを尋ねる別の質問rc.localただし、スタートアップ アプリケーション GUI インターフェイスを使用してコマンドも含めようとしました。それでもうまくいかなかったので、問題はファイルだけに限らないのではないかと思いますrc.local。リスト内の他のデフォルトのスタートアップ コマンドは、私が知る限りでは起動するようです。

起動時にカスタム コマンド ラインを実行できないのはなぜですか?


新しい:いくつか実験してみたところ、入力したコマンドが/etc/rc.local実行されているようです前にログイン画面。ログイン画面では画面が適切に暗くなっています。しかし、ログインすると画面が最大の明るさになります。そのため、ログイン時に適用される他の設定があるか、ログイン/etc/rc.local画面自体にのみ適用され、ログイン時にユーザーに何が起こるかには関係がないようです。

では、必要な明るさとキーボード ライトの設定がログイン画面だけでなく、ユーザーのログイン セッションにも適用されるようにするには、どうすればよいでしょうか?

答え1

xバックライトソリューション

1) 実行可能なスクリプトファイルを作成する(例:/home/YOU/.bin/低輝度このような:

#!/bin/sh
xbacklight -set 7 &

2) .desktopファイルを作成する(例:/home/YOU/.config/autostart/lower-brightness.desktopこのような:

[Desktop Entry]
Type=Application
Exec=/home/YOU/.bin/lower-brightness
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Lower Screen Brightness
Comment=Screen brightness is set to 7 at startup
Icon=display

答え2

表示設定を希望どおりにするには、次の行を追加します。/etc/rc.local

echo 7 > /sys/class/backlight/intel_backlight/brightness

そうすれば明るさを 7 に保つことができます。

少しでもお役に立てれば幸いです。

答え3

Ubuntu を とともに使用している場合、私の解決策が役立つはずですlightdm

ノートパソコンの起動時に NumPad をオンにする方法を探していたところ、lightdmドキュメントで次のものを見つけました。

# display-setup-script = Script to run when starting a greeter session (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)

/usr/bin/そしてそれが解決策です。 にファイルを作成し、そこにコマンドを書き込む必要があります/usr/bin/backlight

#!/bin/bash
xbacklight -set 7
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness
exit 0

(xbacklight私の場合は動作しません。echo 7 > /sys/class/backlight/intel_backlight/brightness機能します)。 次に、このファイルの実行権限を で追加してくださいchmod a+x /usr/bin/backlight

/etc/lightdm/lightdm.conf次に、たとえば次の行を編集して記述する必要があります。

session-setup-script=/usr/bin/backlight

以上です。PC を再起動してください。

答え4

なぜ誰も update-rc.d の使用を提案しないのか不思議です。スクリプトを手動で /etc/rc.local に配置することはしません。起動時にプログラムを実行するには、次の方法をお勧めします。

sudo cp lower-brightness.sh /etc/init.d/
sudo chmod +x /etc/init.d/lower-brightness.sh 
sudo update-rc.d lower-brightness.sh defaults 

これにより、スクリプトが適切な実行レベルにリンクされることが保証されます。

関連情報