がらぱっぱ

自分用覚え書き中心(モバイル関係中心だったはずが)

【NURO光】グローバルIPアドレスをLINEで通知する仕組みをつくってみた

外部からVPNで入ったりするために、まずは自分ちのグローバルIPアドレスを知る必要があります。
NURO光グローバルIPアドレスはほとんど変わらない半固定という情報もありますが、一応動的IP。
IPが変更されても大丈夫なようにする必要があります。
Dynamic DNS(DDNS)を使ったりとかもありますが、まずはIPアドレスを直接入力できるようにグローバルIPのアドレスを通知する仕組みを作ります。

通知する方法も色々ありますが、グロバルIPにつなぐのは外出時になるわけですから、スマホに通知が来るLINEが一番いいと思います。

処理の概要

というわけで、以下のような形でグローバルIPが変わったらLINEに通知するようにします。
f:id:garapappa:20210305201625p:plain
・常時電源ONのサーバ(lubuntu)から定期的にグローバルIPアドレスを取得する
グローバルIPアドレスが変化したらLINEに変更したIPアドレスを通知する
・次回起動の比較用に現在のIPアドレスを覚えておく
・(未実装)この通知システム自体がちゃんと動いているかを時々LINEに通知する(いきてるでー)
・一定周期(一時間おきくらい)で起動する

常時電源ONのサーバ(lubuntu)から定期的にグローバルIPアドレスを取得する

とりあえず手っ取り早くグローバルIPを教えてくれる外部サービスを利用する

ここ
inet-ip.info

このページにも書いてありますが、curlコマンドで生グローバルIPアドレスそのものが取得できます。

curl inet-ip.info

らくちん

外部サービス依存になるからF660Aの管理画面をスクレイピングして取得(未実装)

やはり外部サービスなので、サービスの停止や廃止に影響されるのが怖いです。
F660Aの管理画面から「ステータス>>ネットワークインタフェース情報>>WAN接続情報」
グローバルIPがとれるので取得できるはず

グローバルIPアドレスが変化したらLINEに変更したIPアドレスを通知する

前回取得したIPアドレスと違う場合はLINEに通知します。

LINE通知の仕組み、LINE notifyがイケてるのでこれを使います

あちこちで紹介されているので、わかりそうなところでここらを参照
djeeeno.blogspot.com
設定はあるものの、curlコマンド一発でLINEに通知できます。
超クール!

グローバルIPが変化したのを検出する(あるいは初回)

IPアドレスを適当なファイルに書き込んで、次回は取得したIPとこれを比較します。
ファイルがない場合は初回だという事でIPを通知します。
今回は「/tmp/global_ip.txt」に書き込む事にします。

グローバルIPアドレスの取得に失敗したら、LINEに「取れなかった」って通知

inet-ip.infoが落ちてたりしたら、LINEに通知します。
とりあえず落ちてるあいだは毎回LINE通知行っちゃうけどまぁいいか

(未実装)この通知システム自体がちゃんと動いているかを時々LINEに通知する(いきてるでー)

一定間隔(あるいはIPアドレスが一定期間かわらなかったら)LINE通知する仕組みが欲しいと思います。
特にNUROはグローバルIPがほとんど変わらないという噂だし、気が付いたらチェックしてなかったぜみたいな事は避けたい。
LINE notifyのサービスもいつ障害起きたり終了するかわからないし。
一週間に一回とか一か月に一回とか通知がくればうざくないし、「あれ?そういえば来てないじゃん」って気が付きます
IP書き込んだファイル(global_ip.txt)の日付を見て判断するか、global_ip.txtに書き込むかで前回通知してからどれくらい経ったかがわかるから実現はできそうです。

一定周期(一時間おきくらい)で起動する

手っ取り早くCRONを使います。
クーロンの書き方はどこかの解説サイトを見てもらうとして、1時間周期で起動するようにします

準備

curlインストール

lubuntu、curlも入っていないんですねぇ

sudo apt install curl

実装

シェルのソース

エラー処理とかいい加減(というか無い)ですが、こんな感じで
GlobaIPNotify.sh って名前で作成します(なんでもいいけど)

#!/bin/bash
FILE_NAME="/tmp/global_ip.txt"
LINE_TOKEN="取得したトークン"

function send_message()
{
  curl -s -X POST -H "Authorization: Bearer ${LINE_TOKEN}" -F "message=$1" https://notify-api.line.me/api/notify
}

# 前回取得のGlobal IPをファイルから取り出す
# ファイルが存在しない場合、Global IP未取得とみなす
if [ -e $FILE_NAME ]; then
  last_IP=`cat $FILE_NAME`
else
  last_IP=""
fi
# 現在のGlobal IPを取得
now_IP=`curl -s inet-ip.info`
if [ "${now_IP}" = "" ]; then
  echo "curl error?"
  send_message "グローバルIPの取得に失敗しました(${last_IP})"
elif [ "${now_IP}" = "${last_IP}" ]; then
  echo "same ip"
else
  echo "change ${last_IP} -> ${now_IP}"
  # LINEへIPアドレス変更を通知
  if [ "${last_IP}" = "" ]; then
    send_message "初期起動または再起動したよー(${now_IP})"
  else
    send_message "IPがかわったよー(${last_IP} -> ${now_IP})"
  fi
  echo ""
  # 変更したIPを覚える
  echo $now_IP > $FILE_NAME
fi

CRON設定

crontabの編集
crontab -e

エディタで以下を追加します

MAILTO=""
00 * * * * ~/tools/GlobaIPNotify.sh

・メール通知しない設定
MAILTOはcron処理結果をメールで通知するかの設定です。
メール通知ありにするとpostfixが入っていないので
「(CRON) info (No MTA installed, discarding output)」
というメッセージが/var/log/syslogに出ます

・毎時00分にカレントディレクトリ下のtools/GlobaIPNotify.shを実行します

動作結果

LINEに通知が来ます
f:id:garapappa:20210306000846p:plain

【NURO光ONU】F660AでサーバやGoogleHomeのIPを固定化する

サーバ立てたり、直接RM mini3にコマンド送ったりするとき、DHCPでIPがコロコロ変わってしまうのはいろいろとよろしくないです。
という事でIPが変わらないようにする方法です。
F660Aでのやり方あんまり記載している記事がなかったので、自分の備忘録

やり方は何通りかある

端末のIPを固定化するには何通りか方法がありますが、それぞれメリットデメリットがあります。

PCのネットワーク設定でDHCPにせず固定IPにする

PC側でIPアドレスを決めて設定する方法です。
今どきは普通ネットワーク設定はDHCPにしてあんまり変えないですよね。

PC側の設定

IPアドレスだけでなくネットマスクやデフォルトゲートウエイ、DNSサーバなんかを設定する必要があります。
f:id:garapappa:20210305003136p:plain:w300
こんな感じですね。

F660A側で設定したIPアドレスDHCPで振られないようにする

DHCPサーバはそれぞれのPCがどんなIPを設定したかなんて感知しないはずなので、IPアドレスが重複しないようにする必要があります
f:id:garapappa:20210305002411p:plain:w400
F660A側でDHCPプールIPアドレスの開始・終了を変更して(例えば192.168.1.2~192.168.1.200とか)DHCPを割り振らないようにします。

固定IPをふるのはあんまりいい方法じゃない。デメリットは

この方法はお勧めしません

IPアドレスを指定できるPCとかはいいが指定できない機器もある

Google HomeとかRM-mini3とか。これを固定にしたいのに

ほかのネットワークつなぎ変える度に設定変える必要ある

ノートPCとかいちいち設定変更するの面倒ですよね。

F660側で把握しづらい

DHCPならば上のダイナミックアドレス管理で、どのMACアドレスのどんな機器(ホスト名から大体推測可能)がどのIPで動いているかわかるけど、固定IP振っちゃうとわからないです。

F660Aの設定で特定の機器(MACアドレスで指定)に特定のIPを割り振る。→こちらがおすすめ

DHCP固定アドレス割り当て

F660Aの設定で「DHCP固定アドレス割り当て」というメニューがあります。
ここで任意のIPをふりたい機器のMACアドレスIPアドレスを指定します。
f:id:garapappa:20210305005107p:plain:w400

これは例ですが、例えば
192.168.1.100番台はスマートホーム系(GoogleHomeとかRM-mini3とか)
192.168.1.200番台はPC系(Linuxサーバ、デスクトップPC、ノートPC)
それ以外はDHCPで任意みたいなルールを作って固定アドレス割り当てをすると今後機器が増えた場合もスッキリすると思います。

MACアドレスはどうやって調べる

F660Aのダイナミックアドレス管理(IPv4)で割り振られているIP・MACアドレス、ホスト名がわかります。
f:id:garapappa:20210305010534p:plain:w400
ホスト名からなんとなくMACアドレスもわかるので、これを覚えて設定します。

設定後

しばらくたつと、自動でDHCPでIPが再割り当てされてIPアドレスが変わります。
固定アドレス割り当てされた機器はリース残存期間がinfinityとなるためわかりますね
なかなか変わらない場合はF660Aを再起動(笑)

気を付ける事

DHCPプール内のIPアドレスで固定IPをふります。
あくまでプール内で固定のIPを割り振るので。
(最初にこれ間違えて変わらなくて焦りました)

【LOOXUでlinuxサーバ】WOLのサーバとしてPCの電源ONを行ってリモートでPCいぢろう

linuxサーバとして生まれ変わったLOOX U/C30くん。
せっかく常時電源ONのサーバとして動かすので、まずは他のPCのWOLWakeOnLAN)の為のサーバとしてセットアップ
とりあえずは、LOOX Uから(別のPCからSSHで入って)PCやNASの電源ONしようぜ。

これができると将来
・外からVPNで接続して好きなPCを起動して接続できる。
・「おっけーぐーぐる、PCつけて」って言ってPCの電源つける
とかできちゃうわけ。夢が広がります。
簡単に起動できるのなら、必要な時だけ起動して心置きなくシャットダウンできるから「あぁ、後で使うかもしれないからつけとこ」ってずーっとつけっぱなしなんてもったいない事がなくなります。

まずは

WOLってなんだ

Wake on LANマジックパケットを投げる事によってLAN経由でPCの電源をONにする仕組みです。
ここらへんが参考になります。
www.atmarkit.co.jp

どうしたいのか

linuxを入れたLOOX UからPC(Windows 10)の電源を入れる。
ついでにシャットダウンも簡単にできればいいね。

うちの構成

f:id:garapappa:20210303214338p:plain:w600

セットアップと設定(WOL)

サーバ側のセットアップ

wakeonlanってそのものつまりのパッケージがあるのでインストール

sudo apt install wakeonlan

使い方は簡単。
MACアドレス物理アドレス)をしてするだけ
wakeonlan xx:xx:xx:xx:xx:xx
またはファイルに物理アドレスを書いて
wakeonlan -f target-pc.conf
とかファイルを指定するとできます。

xx:xx:xx:xx:xx:xx は物理アドレスで、windowsだとコマンドラインから
ipconfig /all
と打つと表示されます。

Windows PC側のセットアップ

WOLパケットに反応して電源ONとなるような設定

BIOSの設定とネットワークアダプタの設定があります。
機種等によって設定が変わるので前述の記事
【リモートワーク自由自在】Windows 10 Wake On LAN(WoL)入門:WoLでPCを起動(1/2 ページ) - @IT
等を参考にしてWOLの設定を行う。

有線LANはまず大丈夫ですけど、無線LANはいろいろ面倒そうです。

電源ON後リモートで操作できるようにVNCサーバをインストール

VNCサーバとVNC Viewerをインストール
WindowsVNCとして定番かな?
UltraVNC
forest.watch.impress.co.jp

インストール
f:id:garapappa:20210303230635p:plain:w400
ちなみにインストールされたvncviewwer.exeは単独で別のPCに持って行っても使えます。
なのでデスクトップでインストールしてノートPCにはvncviewer.exeだけをコピーして使う事も可能です。
(あ、ライセンス的にOKかどうかはしらなーい)

インストール時にサービスとして立ち上がるように
f:id:garapappa:20210303230802p:plain:w400

これで、ノートPCから
SSHでLOOXUにログイン
wakeonlanでデスクトップPCの電源ON
ちょっとしてからノートPCからvncviewerでデスクトップPCへ接続・ログイン
で操作が行えます。

ちなみにlinux側からWindowsPCのシャットダウンもできたらかっこいいじゃない?

ってことで。
これは将来「おっけーぐーぐる。PCシャットダウンして」への布石ね。

sambaをインストール

たぶん正確にはsamba-commonを入れればいいみたいなんだけど、どうせsambaいれるよねーということで

sudo apt install samba

Windowsへシャットダウンコマンド

以下のコマンドでWindowsPCにシャットダウンコマンドが投げられる

net rpc shutdown -I IPアドレス -U "ユーザ%パスワード"

ユーザ・パスワードはWindowsの管理者権限のユーザのものにする。

エラーになったらWindowsレジストリをいじる

ただし、たぶんエラーになる。
Windows側のセキュリティで引っかかっているのかな?

Could not initialise pipe winreg. Error was NT_STATUS_OBJECT_NAME_NOT_FOUND

Windows側でregeditを起動する

HKEY_LOCALMACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Policies\System
以下に
DWORD(32)値で
LocalAccountTokenFilterPolicy
のキーを作成し、値を1にする

参考
Enable Mapping to \\Hostname\C$ Share on Windows 7 or Vista


これでシャットダウンがリモートでできるようになる。

住宅ローン控除(初回申請)はe-taxで行うといいよ

住宅ローン控除の初年度は確定申告が必要となります。

添付の書類とか多いから紙(郵送や税務署で提出)で申請しましょうと書いてあるサイトとかも多いですが、e-taxができる環境があればe-taxで申請することをお勧めします。
メリットとか私の場合の住宅ローン控除初年度の確定申告をe-taxで申告してどうだったかを書いてみます。

下調べとかの記録
garapappa.hatenablog.com

e-taxマイナンバー方式)で確定申告するメリット

PCやらICカードリーダやら用意したり、なんだか得体のしれないソフトとか入れたり、情報があちこちスパゲティでわけわかんない説明とかを乗り越えれば
いろんなメリットがあります。
・家から一歩も出ないで確定申告できる
・提出する書類がe-taxだと省略できるものが多い
・還付金の処理が早い

必要書類(私の場合)

新築とか新耐震基準とかで必要書類が変わってきますのであくまで私の場合の例です

私の場合

・築40年の中古マンション(耐震工事済み耐震基準適合証明書あり)
・サラリーマンで年末調整済

必要書類ってこれだけあるんだけど、e-taxだと色々省略できるんだよね

私の場合の必要書類でみてみるとこれだけあります。
でもe-taxだと結構省略できたり簡素化できます。

種類 書類名 説明 e-tax
確定申告 確定申告書 税務署または国税庁のサイトから入手。e-Taxで入力して作成も可能 e-taxで入力・送信
確定申告 本人確認書類の写し
a マイナンバーカード
b マイナンバー通知カードまたはマイナンバーが記載されている住民票+運転免許証やパスポートなどの本人確認書類
マイナンバーカード読み取り
確定申告 源泉徴収票 勤務先から入手。 送付不要
ローン控除 住宅ローンの残高を証明する「残高証明書」 住宅ローンを借入した金融機関から送付。 送付不要(e-taxの場合省略可)
ローン控除1年目 (特定増改築等)住宅借入金等特別額の計算明細書 税務署または国税庁のサイトから入手。e-Taxで入力して作成も可能 e-taxで入力・送信
ローン控除1年目 建物・土地の登記事項証明書 法務局から入手 登記情報提供サービスを利用して照会番号を取得。
ローン控除1年目 建物・土地の不動産売買契約書(請負契約書)の写し 家屋の新築(購入)の年月日及び家屋の請負代金又は購入の対価の額を明らかにする書類 添付(PDF)送信
ローン控除1年目 (一定の耐震基準を満たす中古住宅の場合)
耐震基準適合証明書又は住宅性能評価書の写し
契約時に不動産会社から入手。 添付(PDF)送信
ふるさと納税 ふるさと納税寄付金証明書 確定申告を行う場合、ワンストップは利用できないため確定申告必要 送付不要(e-taxの場合省略可)
保険料控除 年末調整で申告し忘れた保険料とか。地震保険とか住宅購入で必要 送付不要(e-taxの場合省略可)
医療費控除 医療費控除の明細書 税務署または国税庁のサイトから入手。e-Taxで入力して作成も可能 e-taxで入力・送信
医療費控除 医療費のレシート・領収書 医療費控除を行う場合、医療費控除明細者を記載するための資料。添付不要 不要
e-taxの場合省略できる(送付不要)な書類が結構あります

e-taxの推進の為なのか、e-taxの場合添付(送付)を省略できる書類が結構あります。
確定申告書に記入するための元ネタとして、また何かあった場合は税務署への提出提示が必要(5年間)なので書類は準備・保管する必要があります。
e-Taxを利用して所得税の確定申告書を提出する場合の「生命保険料控除の証明書」などの第三者作成書類の添付省略の制度について教えてください。| 【e-Tax】国税電子申告・納税システム(イータックス)

私の場合、地震保険控除証明書(年末調整し忘れた)、ローン残高証明書、ふるさと納税の寄付金受領証なんかが提出不要となりました(医療費控除はなかった)

e-taxの場合、登記事項証明書はオンラインで取得して照会番号を入力するだけでよくなった

多分今年からなんだと思いますが、登記情報提供サービスってところで登記事項証明書の照会番号を取得すると、それをe-taxで入力するだけでいいのです。
garapappa.hatenablog.com

法務局から登記事項照明がオンラインで取得できますが、こちらは照会番号を取得できなくて紙を取りにいくか郵送してもらうやつなのでお間違え無く
【住宅ローン控除をe-taxで】登記事項証明書(登記簿謄本みたいなやつ)がオンラインでとれるらしい - がらぱっぱ

PCとICカードリーダ(スマホで代用可能)があれば添付書類もPDFで送れる

添付書類を郵送で送る場合とかプリンタが必要だったり郵送代がかかったりするじゃん(せこっ)
添付資料をPDFで送ることが可能です(PC+ICカードリーダの場合み)
書類をスキャンしてPFD作るんじゃスキャナがいるの?ないよ?って人、スマホで写真撮ってPDF化して添付する事も可能です。
色々アプリはあるけど、私はこれ
play.google.com
スマホのカメラがスキャナ代わりになって、GoogleドライブにPDFで保存できます。
Googleドライブなのでスマホ→PCの連携もラクだし。

確定申告作成する

e-tax マイナンバー方式で作成・送信
・添付書類も電子送信
となるとPC+ICカードリーダ(またはPC+NFC対応スマホ)となります。
今回ICカードリーダーは用意せずスマホNFC対応スマホ)で行います。

準備したもの

マイナンバーカード
PC

Bluetooth付(ICカードリーダーの場合は不要。スマホと連携する)
・Windows10(Windows8とかMacとかも大丈夫みたい)
・IE11(ICカードリーダーの場合はChromeやEdgeも可能みたいだけど)
・その他確定申告コーナーで最初にインストールされるソフトウエア
 証明書・JPKIソフトetc

スマホNFC対応)

・JPKIソフト
以下の対応するスマホならGoogle Playからインストールできます。
マイナンバーカード対応NFCスマートフォン-公的個人認証サービス ポータルサイト

続く

LOOX U/C30にLubuntuを入れる

すっかりホコリをかぶっているLOOX U
もったいないのでLinuxでも入れてサーバにしてみようかと。
ラズパイをサーバにするってのが最近の定番らしいのですが、LOOXUくんも結構常時通電のサーバとしては結構優秀だと思うんです。
さぁ、10年以上前のマシンで、戦えるのか?

LOOX Uをサーバにするメリット

省電力

標準8W最大47Wという数字、そこそこ少ないと思います。CPUを酷使しないような運用であれば結構いいかも
ATOM Z520ってTDP 2Wくらいなのです。Intel系CPUとしては歴代最小。

PCとしては非力だが、ラズパイと比べるとそこそこの実力

ATOM Z520 1.33GHz メモリ1GB。なんとかなるんじゃない?

電源断時もバッテリーで動作可能

多少の停電でも落ちないというのは心強いです。UPSいらず。

WiFiBluetooth、USB、SD、CFなど多くのI/F

IEEE802.11nドラフト2.0
USB2.0
SDXC未対応
などさすがに10年以上前のマシンなので最新のI/Fには見劣りしますが、それでも当時最新の規格に対応しただけあり、今でも充分使えます。

ディスプレイ・キーボード・USBもついてるで

何かあったときにディスプレイ・キーボードがついていて操作が行えるというのは心強いです。
あんまり使えないながらもタッチパネル、割と使い勝手のいいポインティングデバイス、XPの時はスクロール用として活躍した指紋認証など
単体で使ったときでも一通りこなせるのはさすがUMPC

信頼のMade in JAPAN

富士通さんが国内生産にこだわっていた時期のこのマシン。
軽くて小っちゃくても作りがしっかりしています。

さて、何いれるか?

ATOMってamd64未サポートなので32ビット(i386)バージョンを入れる必要がある

Atom Z520は64ビット未対応なのね。
Intel Atom® プロセッサー Z520 (512K キャッシュ、1.33 GHz、533 MHz FSB) 製品仕様

最近64ビット版(amd64)がメインで各ディストリビューション、32ビット版の開発が終わっているようなので、少しバージョン古いけど32bit版ってやつを入れないとだめですね。

軽量ディスとリビューションLubuntu 18.04.5 LTS版

LOOX Uでの実績がありそうなLubuntu、最新版をドーンと入れてみましょう。
といっても、32ビット版の最新なので、以下よりDesktop 32-bitをダウンロードします。
Downloads – Lubuntu

2021/02/25現在の32ビット版の最新は
18.04.5 Bionic Beaver LTS (LXDE)

LTS版とはいえ2018年頃のリリースなので、サポートのおしりが見えてきています。
2021年4月まで?

DVDないし、試してみたいのでUSBメモリに焼いて起動させよう

ブート可能のUSBを作るのに、以下フリーソフトがとっても便利
https://rufus.ie/ja_JP.html
ダウンロードして解凍してexeを起動して、書き込み先と書き込むISO指定するだけ。

USB差してBIOSのUSB-HDDの起動優先順位

するとUSBからlubuntuが無事立ち上がります。
一通りなんとなくうごくっぽいので、HDDにインストールします。

HDD換装(え?)

え?です(笑)
HDDの不良セクターがかなり発生してて、いっそのことSSDに乗せ換えるかと物色してたら、
HDDがチョー安くて思わずポチってしまったのです。
とつい最近の出来事みたいに書いてますが、これ10年前の出来事(爆)

まぁ、つい最近引越し荷物からHDD見つけ出したのが、OS入れ替えの動機の一つですが。

本体裏蓋空けてHDD入れ替える。

ねじが7本くらいかな?とるとHDDが見えるので取り替えます。
ZIFコネクタのおさえ・外しがちょっとクセがあって気を付けるくらいですね。

インストール

USBから起動してインストール

パーティション作成からフォーマットからインストールからすべてやってくれます。
言語を日本語指定するくらい。
しばらくガリガリやってますが、数時間でインストールが終わります。

初期設定

最初にやること、忘れないように備忘録

日本語フォルダを英語に

言語を日本語にすると、ホームディレクトリのフォルダが日本語で「デスクトップ」とか「ドキュメント」とかできてます。
フォルダが日本語だと困ることも(最近はあんまりないかな)あるので、英語にします。

LANG=C xdg-user-dirs-gtk-update

参考:
ホームディレクトリのフォルダ名を日本語から英語に変更するには − @IT

sshのインストール

LOOXUの画面小っちゃいしキーボード配列変態だし、サーバ利用を想定しているので、SSHCUI操作できるようにSSHを入れます。

インストール

OpenSSHサーバ

sudo apt install openssh-server
設定の変更 セキュリティを考慮して

/etc/ssh/sshd_config
を修正します。

sudo vi /etc/ssh/sshd_config

以下キーが変更対象。コメントアウトされているのを解除したり、値を変更したりします
rootユーザでのログインをしない

PermitRootLogin no

公開鍵での認証を行う(公開鍵の保持場所)

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

パスワード認証の設定(公開鍵での認証にした場合はやめる)

PasswordAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication yes

よくわからないけど悪そう

X11Forwarding no

接続する端末毎に公開鍵と秘密鍵を作成して、サーバに入れます。
/home/[ログインID]/.ssh/authorized_keys
に追加していきます。
公開鍵と秘密鍵の作成方法と接続方法は、ググると沢山出てくるので割愛。
私はTeratermで作成・接続してます。

設定の反映
systemctl restart sshd

VNCサーバのインストール(x11vnc)

x11vncというVNCサーバを入れます。
こいつは、端末の画面をリモートから表示するタイプです。
これはこれでいいのですが、ちょっと問題が。
VNCで接続すると、LOOXUの画面が点いちゃうんですよね(当たり前といえば当たり前)

インストール
sudo apt install x11vnc
VNCのログインパスワードの指定
x11vnc -storepasswd

パスワードを入力すると/home/[自分のユーザID]/.vnc/passwdにパスワードファイルが作成されます。

自動起動の設定(未実施)

これは結局行っていません。必要な時にSSHで入って

x11vnc -display :0

と打てばVNCサーバが立ち上がります。

一応自動起動の設定方法を備忘録で

sudo vi /etc/xdg/autostart/x11vnc.desktop

以下を設定

Desktop Entry]
Type=Application
Name=vncServer
GenericName=VNC Server
Icon=
Exec=x11vnc -forever -usepw -loop -rfbauth /home/[自分のユーザID]/.vnc/passwd -rfbport 5900 -shared
Terminal=true

VNCサーバ(vnc4server)

こちらは、端末のディスプレイとは別にGUI操作するためのもの。
立ち上げる毎にウインドウシステムが立ち上がります。

インストール
sudo apt install vnc4server
パスワード設定
vncpasswd

カレントディレクトリ以下の.vnc/passwdファイルに書かれるため、x11vncでパスワード設定しているとデフォルトで同じものが使われます。

設定変更

そのままだと、灰色で何にもない画面となります。
どうやらx-window-managerを呼び出しているパスが違う(LXDE用じゃない?)らしい。
という事で、以下の様に変更。これで端末と同じようなデスクトップが表示されます。
編集するファイル /home/[自分のユーザID]/.vnc/xstartup

#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#/usr/bin/lxterminal -t "$VNCDESKTOP Desktop" &
/usr/bin/lxsession -s Lubuntu -e LXDE &

vncの設定を出したい場合はvncconfigをターミナルを出したい場合はlxterminalをコメント外せば出てきます。
まぁいらないな

起動と停止

起動

vncserver :1

停止

vncserver -kill :1

自動ログオン設定を行う

sshVNC自動起動ですが、デスクトップでログオンしないと有効になりません。
VNCはまだしもsshがデスクトップログオンしないとつながらないのは致命的。
ログオン前に有効にする方法がいまいちわからないので、自動ログオンしちゃおう

sudo vi /etc/lightdm/lightdm.conf.d/01_autologin.conf

以下を上記ファイルに書き込む

[SeatDefaults]
autologin-user=自分のユーザID
autologin-user-timeout=0

時間がたってスリープしたり画面ロックしないように設定する。

サーバとして動作させるからスリープしないように、あと勝手にログオフするとsshもつながらなくなっちゃうし。
そしてある程度省電力を考慮
ここらへんはGUIで設定した方が簡単なのでVNCで入って設定。

設定 - Xfce電源管理 - 一般

・ラップトップのふたが閉じられたときディスプレイの電源を切る。
f:id:garapappa:20210301163017p:plain:w400

設定 - Xfce電源管理 - システム

サスペンドしないように(サーバ用途なので勝手にサスペンドされると困る)
・バッテリ電源の利用限界でシャットダウン(長時間停電の時にシャットダウン UPS的な)
f:id:garapappa:20210301163521p:plain:w400

設定 - Xfce電源管理 - ディスプレイ

・短い時間でディスプレイの電源切断(3分にした)
f:id:garapappa:20210301163811p:plain:w400

設定 - Xfce電源管理 - セキュリティ

・セッションロックしない
・画面ロックしない
f:id:garapappa:20210301164043p:plain:w400

rootのパスワードを設定する

ubuntu系はデフォルトでrootのパスワードが設定されないようです。
※設定しない方がいいのか?
sudoでルートになってパスワードを設定する

sudo su -
passwd

今後やりたい事(やったこと)

このあと常時起動のサーバとして活躍してもらいましょう

WOL(Wakeup On LAN)のためのサーバとして

メインマシンやNASの電源ONを行うために常時ONのサーバが欲しかったんです。
garapappa.hatenablog.com

VPNで外からアクセス

NUROのルータ(F660A)はVPNサーバ機能が無いので、VPNを立てて外からファイルサーバなんかにアクセスできるようにします。
garapappa.hatenablog.com

これ実現するために
garapappa.hatenablog.com
こんなことや
garapappa.hatenablog.com
こんな事してみたわけです。

Docker入れてHomeAssistant入れて脱クラウドスマートホーム化しよう

これがメイン目的。将来のスマートホーム化に向けていろいろ統合したいじゃん。
あとどっかのサーバ依存とかも怖いし。

まずはDocker入れてHomeAssistant入れてみた
garapappa.hatenablog.com