web-dev-qa-db-ja.com

rc.localはイーサネットに接続した後にのみ実行されますか?

私はubuntuは初めてですが、rc.localに指示を追加して、明るさの設定を変更することにしました。輝度。

これを入手:イーサネット経由でインターネットに接続している場合にのみ機能します。イーサネットケーブルなしでラップトップの電源を入れた場合、最大輝度のままになり、イーサネットケーブルを接続してからrc.localを実行するか、コンピューターの電源を入れる前に接続すると、rc.localが正常に実行されます。輝度レベルを目的の値に変更します。

これが私のrc.localです

 #!/bin/sh -e
 #
 # rc.local
 #
 # This script is executed at the end of each multiuser runlevel.
 # Make sure that the script will "exit 0" on success or any other
 # value on error.
 #
 # In order to enable or disable this script just change the execution
 # bits.
 #
 # By default this script does nothing.

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

 exit 0
2
Hector Muñoz H

デフォルトでは、/etc/rc.localはネットワーク接続が確立された後に実行されます。これは、ドロップインファイル/lib/systemd/system/rc-local.service.d/debian.confで指定されています:

$ Sudo systemctl status rc.local
● rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
  Drop-In: /lib/systemd/system/rc-local.service.d
           └─debian.conf
   Active: active (exited) since Sat 2017-02-11 00:31:50 EET; 2h 33min ago
    Tasks: 0
   Memory: 0B
      CPU: 0

Feb 11 00:31:50 libellio systemd[1]: Starting /etc/rc.local Compatibility...
Feb 11 00:31:50 libellio systemd[1]: Started /etc/rc.local Compatibility.

$ cat /lib/systemd/system/rc-local.service.d/debian.conf
[Unit]
# not specified by LSB, but has been behaving that way in Debian under SysV
# init and upstart
After=network-online.target

# Often contains status messages which users expect to see on the console
# during boot
[Service]
StandardOutput=journal+console
StandardError=journal+console

このデフォルト設定は、通常rc.localから開始される種類のサービスには適していますが、特定のユースケースでは、その設定を変更することができます。

サービスファイル/lib/systemd/system/rc-local.service/etc/systemd/systemにコピーします。次に、ドロップイン構成ファイルを/etc/systemd/system/rc-local.service.d/(必要に応じてディレクトリを作成)にコピーし、コピーを編集してAfter=network-online.target行をコメント化します。

1
AlexP