UbuntuでLinkStationの自動起動をやってみた

Ubuntu

Linuxの人気ディストリビューションであるUbuntuをインストールしてみました。

LinkStationにブログの素材を保存しているので、LinkStationはUbuntuでも使えないと不便です。まずLinkStationが使えることを目指しました。

LinkStation LS-WTGL/R1は自動起動(AUTOモード)対応機種

私の使っているLinkStationはモデル名がLS-WTGL/R1というモデルです。

10年以上前のモデルですが、AUTO電源機能切替スイッチが付いており、NAS NavigatorがインストールされているPCの電源がONになると、それを検知して自動で電源がONになる、という優れた機能が付いています。

個人利用ではかなり重宝する機能なんですよね。大した電力量では無いのでしょうが、使ってもいないNASが24時間起動しているのは、何となく気になります。

NAS NavigatorはWindows用とMac用はバッファローから提供されているので、私の所有するWindows PCやMacBookにはNAS Navigatorをインストールしています。PCの電源を入れると自動でLinkStationが起動しますし、電源をOFFにするとLinkStationの電源も切れます。快適です。

しかし、Ubuntu(Linux)用のNas Navigatorは提供されていないので、Ubuntuを起動しても当然LinkStationは起動しません。わざわざLinkStationの場所に行って電源を入れる必要があります。

それだけで済めばまだ良いのですが、手動で電源を入れただけでは5分ほどするとLinkStationは勝手にOFFになります。Nas Navigatorを使っていないので、LinkStationが使われていることを検知できないのです。

自動でLinkStationがOFFにならないようにするためには、AUTO電源機能切替スイッチをOFF(MANUAL)にする必要があります。UbuntuでLinkStationを使おうとしたがためにせっかくの快適環境が台無しです。何とかUbuntuでLinkStationの自動起動に対応させる必要があります。

NAS Navigatorの役割とは?

NAS Navigatorは一体何をしているのか?

NAS NavigatorがインストールされているPCの電源を入れるとLinkStationも起動する、ということは、ネットワーク越しに別のPCに電源を入れるWake On LANを使っていそうだな、と想像できます。

Wake On LANについて調べてみると、wakeonlanというパッケージをインストールすれば使えるようになるようです。

wakeonlanのインストール

1$ sudo apt install wakeonlan

これでwakeonlanコマンドが使えるようになります。あとは引数にLinkStationのMACアドレスを指定すればLinkStationが起動するはずです。LinkStationのMACアドレスはNAS Navigatorに表示されています。

Nas Navigator MACアドレス

LinkStationの起動

wakeonlanコマンドでLinkStationのMACアドレスを指定してみます。

1$ wakeonlan XX:00:YY:11:ZZ:22

あっさり。起動しました!

何と簡単なんでしょう。と喜んだのも束の間、5分ほど経つとLinkStationの電源が落ちてしまいました。

きっとNAS Navigatorは定期的にwakeonコマンドをLinkStationに送って使用中であることを知らせているんですね。

定期的にwakeonlanコマンドを発行

では定期的にwakeonlanを発行するにはどうすれば良いか?

watchコマンドで定期的にwakeonコマンドを発行できるようです。発行間隔は-nオプションで指定できます。LinkStationは5分ほど経つと電源が切れるため、3分ごとにwakeonコマンドを発行します。

1$ watch -n 180 wakeonlan XX:00:YY:11:ZZ:22

LinkStationが落ちなくなりました。

後はこれを起動時に実行してやれば、Ubuntu版Nas Navigatorのできあがり、です。

Ubuntu起動時にスクリプトを実行

シェルスクリプトファイルを作成

windowsでいうところの.batファイルを作ります。

私はテキストエディタで以下を記述、任意のフォルダに保存し、プロパティの変更でファイル名を”ls.sh”としました。
(※後述しますが、Ubuntuがインストールされた同一ドライブに保存した方が初心者には無難なようです。私はホーム(home/user名)に保存しました。)

1!/usr/bin/bash
2watch -n 180 wakeonlan XX:00:YY:11:ZZ:22
ls.sh

1行目は「bashというスクリプトを使うよ」、とbashがある場所を指定しているんですね。WindowsではスクリプトといえばDOSコマンドですが、Ubuntuには何種類かあるんでしょうね。

シェルスクリプトファイルを実行

試しにシェルスクリプトを実行してみます。

1$ sh /home/ht2y/ls.sh

実行できました。”sh”は”bash”と記述しても実行できました。(異なるシェルスクリプトなんでしょうが、shもbashもやっている事は一緒、と理解しました。)

これを起動時に実行します。

自動起動するアプリケーションの設定

「自動起動するアプリケーションの設定」を選択します。

自動起動するアプリケーションの設定の起動
自動起動するアプリケーションの設定の追加

「追加」ボタンを押し、任意の名前を指定し、以下のコマンドを追加します。

gnome-terminal -e “sh -c ‘bash /home/user名/ls.sh;bash/'”

“gnome-terminal -e”と”sh;bash/”で端末(コマンドプロンプト)を開いています。これが無いと、すぐ端末が閉じてしまい、永続してwakeonlanコマンドが発行できませんでした。

これでUbuntuの起動に連動して自動でLinkStationも起動できるようになりました。端末(コマンドプロンプト)を閉じてしまうとLinkStationもOFFになってしまいますが、その時は手動でls.shを実行し直せば良いですよね。

本当はサービスとして勝手に裏で動いてくれるのが良いのですが、まだ知識が乏しくて実現できませんでした。今後の課題とします。

ぱんはげ
ぱんはげ

自動起動するアプリケーション(ls.sh)はUbuntuがインストールされているディスクにあった方が良さそうです。

当初、データ保存用の別のドライブ(/media/user名/DATA)にls.shを作成し、「自動起動するアプリケーションの設定」に指定したのですが、ドライブがマウントされていない、というエラーになって実行されませんでした。ls.shが見つけられないようです。

とりあえずUbuntuど同一ドライブの”home/user名/ls.sh”に置くことで実行できました。ドライブは自分でマウントしなきゃだめなんですね。この辺りがWindowsとは違いますね。

LinkStation側の設定

shareフォルダが見つけられない

LinkStationが起動できると「ファイル」アプリケーションのネットワークにLinkStationが表示されます。

Ubuntu「ファイル」アプリケーションにLinkStationの表示

選択するとユーザ/パスワードの入力を求められます。特に何も入力しなくてもguestユーザとして接続できるようです。

UbuntuからLinkStationへの接続

LinkStationに繋がりました。フォルダが参照できます。

LinkStation内のフォルダ

しかし、肝心のshareフォルダが参照できません。infoフォルダの中は参照できるのですが、array1フォルダ配下は参照できないようです。

共有フォルダをFTPへ公開

LinkStationのWeb設定画面を開きます。「共有フォルダ設定」でshareフォルダの「公開先」の「FTP」にチェックを入れます。

Nas Navigator Web設定画面

array1フォルダの下にshareフォルダが表示されました。

UbuntuでLinkStationのshareフォルダを参照

私のLinkStation LS-WTGL/R1は上記のように共有フォルダの設定をFTPへ公開することで参照できるようになりました。

FTPプロトコルを使って表示や更新を行っているんですね。LinkStationのモデルによってはNFS(Network File System)など別の項目が用意されているかもしれません。

まとめ・課題

とりあえず、自動でLinkStationを起動する、という当初の目的は果たせたので今回はここまでとします。

・wakeonlanコマンドを定期的に発行する

・「自動起動するアプリケーションの設定」でUbuntu起動時にLinkStation起動するスクリプトを実行する

・LinkStationの共有フォルダ公開先をFTPにする

これでNAS NavigaterのLinux版みたいなことができました。

しかし、課題もあります。以下のように日本語(かな)を使ったフォルダ名が(無効なエンコーディング)となってしまいます。

LinkStationフォルダ名の文字化け

また、フォルダ内に保存しているファイルを直接参照できません。ローカルフォルダにコピーしてくると参照することができますが、不便です。

文字化けとLinkStation内のファイル直接参照、そして自動起動スクリプトのサービス化は次回以降の課題にします。

コメント

タイトルとURLをコピーしました