LoginSignup
0
0

More than 3 years have passed since last update.

Manjaro KDE でWOL(Wake On LAN) を有効にする

Posted at

はじめに

KDEには、GUIのネットワーク設定にWOLの項目が無いので
ethtoolをsystemdで自動実行させます。
手打ちでやるには、ちょっとややこしいので、スクリプトにしました。

WOLを有効化するシェルスクリプト

#!/bin/bash
# systemd設定ファイル保存フォルダ
SYSTEMD_PATH="/etc/systemd/system/"
SERVICE_NAME="wol.service"
FILE_PATH=${SYSTEMD_PATH}${SERVICE_NAME}

# tlpの設定変更
sudo sed -i -e "s/WOL_DISABLE=Y/WOL_DISABLE=N/g" /etc/default/tlp
# 設定値確認
echo "tlp設定変更の確認:WOL_DISABLE=N で成功"
sudo grep "^WOL_DISABLE" /etc/default/tlp

# ethtoolのインストール
sudo pacman -S --noconfirm ethtool

# インターフェイス名を調べて変数に入れる
NIC_LIST=($(for DEV in `find /sys/devices -name net | grep -v virtual`; do ls $DEV/; done))
# 1つ目のインターフェイスを指定
INTERFACE=${NIC_LIST[0]}

# 確認
echo "インターフェイス名:"${INTERFACE}
echo ${FILE_PATH}

# ファイルの上書き確認
if [ -e ${FILE_PATH} ]; then
    echo "ファイルを上書きしますか? [Y/n]"
    read -p "answer[y or n]:" ANSWER
    ANSWER=`echo $ANSWER | tr y Y | tr -d '[\[\]]'`
    if [ ${ANSWER} != "Y" ]; then
        exit 0
    fi
    # 設定がある場合は、サービスを止めておく
    sudo systemctl stop ${FILE_NAME}
    sudo systemctl disable ${FILE_NAME}
fi

sudo tee ${FILE_PATH} <<EOF >/dev/null
[Unit]
Description=Configure Wake-up on LAN
Requires=network.target
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/ethtool -s ${INTERFACE} wol g

[Install]
WantedBy=basic.target
EOF

# 設定のリロード
sudo systemctl daemon-reload
# サービスのスタート
sudo systemctl start ${SERVICE_NAME}
# 自動起動の設定
sudo systemctl enable ${SERVICE_NAME}

# 最終確認
echo "WOL有効化の確認:Wake-on: g で有効"
sudo ethtool ${INTERFACE} | grep Wake-on

シェルスクリプトの解説

  • Manajroはデフォルトで、TLP(電源管理)が入っていて、WOLが無効にされてるので有効化する
  • ethtoolをインストールする
  • ネットワークインターフェイス名を調べる
  • systemdの設定ファイルを作る
  • systemdのサービスを有効化する

注意事項

WOLはバッテーリー消費が多くなるらしいので、ノートPCでは使わないほうがいいです。
このスクリプトはデスクトップPCで、有線LANが一つのみの環境を前提にしてます。

動作環境

Manjaro KDE Edition 19.0.0
Linux Kernel 5.5.2-1

最後に

おなじKDEのkubuntuも使っていたんですが、あっちはTLPが入っていませんでした。
スクリプト書くのしんどいですが、次から楽できるので頑張って書くようにしてます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0