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に表示されています。
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 |
2 | watch -n 180 wakeonlan XX:00:YY:11:ZZ:22 |
1行目は「bashというスクリプトを使うよ」、とbashがある場所を指定しているんですね。WindowsではスクリプトといえばDOSコマンドですが、Ubuntuには何種類かあるんでしょうね。
シェルスクリプトファイルを実行
試しにシェルスクリプトを実行してみます。
1 | $ sh /home/panhage/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が表示されます。
選択するとユーザ/パスワードの入力を求められます。特に何も入力しなくてもguestユーザとして接続できるようです。
LinkStationに繋がりました。フォルダが参照できます。
しかし、肝心のshareフォルダが参照できません。infoフォルダの中は参照できるのですが、array1フォルダ配下は参照できないようです。
共有フォルダをFTPへ公開
LinkStationのWeb設定画面を開きます。「共有フォルダ設定」でshareフォルダの「公開先」の「FTP」にチェックを入れます。
array1フォルダの下にshareフォルダが表示されました。
私のLinkStation LS-WTGL/R1は上記のように共有フォルダの設定をFTPへ公開することで参照できるようになりました。
FTPプロトコルを使って表示や更新を行っているんですね。LinkStationのモデルによってはNFS(Network File System)など別の項目が用意されているかもしれません。
まとめ・課題
とりあえず、自動でLinkStationを起動する、という当初の目的は果たせたので今回はここまでとします。
・wakeonlanコマンドを定期的に発行する
・「自動起動するアプリケーションの設定」でUbuntu起動時にLinkStation起動するスクリプトを実行する
・LinkStationの共有フォルダ公開先をFTPにする
これでNAS NavigaterのLinux版みたいなことができました。
しかし、課題もあります。以下のように日本語(かな)を使ったフォルダ名が(無効なエンコーディング)となってしまいます。
また、フォルダ内に保存しているファイルを直接参照できません。ローカルフォルダにコピーしてくると参照することができますが、不便です。
文字化けとLinkStation内のファイル直接参照、そして自動起動スクリプトのサービス化は次回以降の課題にします。
コメント