2017年12月30日土曜日

CUI ログインで、CapsLock キーを Ctrl キーにする dumpkeys, loadkeys

CUI ログインで、CapsLock キーを Ctrl キーにする方法はたくさんあるが、いつも覚えられない。
自分に合う方法はこれだったので、メモしておく。
dumpkeys と loadkeys で OK。キーコード 58 の設定を Control にする。

■ Ubuntu の場合

# dumpkeys > nocaps.keymap

# vi nocaps.keymap

(下記コマンドで変換、保存)
:%s/CtrlL_Lock/Control/g
:wq

# loadkeys nocaps.keymap

■ CentOS の場合

# dumpkeys > nocaps.keymap

# vi nocaps.keymap

(キーコード 58 の設定を Control に変更して保存)

# loadkeys nocaps.keymap

● CUI, console, capslock, ctrl, CapsLock, Ctrl, Control, コントロール, キー, key, 変更, nocaps, dumpkeys, loadkeys

2017年12月23日土曜日

シェルスクリプトとバイナリを結合してインストーラにする

シェルスクリプトと tar.gz とかのバイナリアーカイブを結合して、1 ファイルのインストーラにする方法。
最近、よく目にするようになった。
コピペで使えるようにしておく。

仕組みは、自スクリプトの末尾に __ARCHIVE__ マーカーを書いておいて、その後ろにアーカイブを結合。
スクリプト実行時に grep で検索して開始行を取得、tail で切り取って展開という流れ。

1. ベースとなるシェルスクリプトを作成

まずは、ベースとなるシェルスクリプトを作成。
末尾 __ARCHIVE__ の後ろに空行を入れないようにします。

$ vi base.sh

#!/bin/sh

# ここに処理を書いても良い

# アーカイブの開始位置を取得
ARCHIVE_OFFSET=$(($(grep -na -m1 "^__ARCHIVE__$" $0 | cut -d ':' -f1) + 1))

# アーカイブを解凍
tail -n +${ARCHIVE_OFFSET} $0 | tar zxf -

# ここに処理を書いても良い

# exit 0 を忘れずに
exit 0

__ARCHIVE__

2. 上のスクリプトとアーカイブ (tar.gz の例) を cat で結合

$ cat base.sh hogehoge.tar.gz > installer.sh

● シェルスクリプト, インストーラ, 結合, shell script, installer, cat, archive, tar.gz, 自己解凍

2017年11月27日月曜日

dd コマンドで USB メモリに iso イメージを焼く

iso イメージのインストーラーを USB メモリに焼く。
Unetbootin はいまいち。dd の方が早い。

とりあえず、フォーマット。USB メモリのデバイスが /dev/sdb の場合の例。

# mkfs.vfat /dev/sdb

dd コマンドで iso イメージを書き込み。ブロックサイズ (bs) は 1MB を指定。

# dd if=./ubuntu-ja-17.10-desktop-amd64.iso of=/dev/sdb bs=1M

● iso, dd, USB メモリ, USB memory, インストーラ, installer

2017年9月23日土曜日

Raspberry Pi 3 を ADS-B レシーバーにして、Flightradar24 の Business Plan を無料で利用

■ Flightradar24 とは

民間航空機の現在位置をリアルタイムに表示してくれる航空ファンにはとてもありがたいアプリです。
2017/09/23 現在、プランが下記の 4 種類あって、料金に応じて機能が増えていきます。
Business Plan は、なんと $499.99/year ! 円換算で 55,000 円 なので、趣味の予算を大幅にオーバーです。
(レンズ買えるやん)

この料金表の下の方に、
「ADS-B データを Flightradar24 に定期的に共有する人は、無料のビジネス契約 (Business Plan) を利用できます。」
とあります。

さらに辿っていくと Raspberry Pi 3 (以下 ラズパイ) と ADS-B レシーバー (USB ドングル) でやるやり方が書いてあったので、早速、機材を調達。
手順を以下にまとめます。
(一部、Linux PC での手順を書いてますが、Windows PC でも同様のことができます)

1. Amazon で、ラズパイ と ADS-B レシーバを購入

品名価格
【国内正規代理店版】 RS Raspberry Pi 3 Starter Kit 16GB V7 (JP 日本製)8,100 円
Radioddity S1 ミニ レシーバー 受信機 デジタル USB RTL-SDR ADS-B セット
RTL2832U & R820T2 チューナー MCX 入力 ソフトウェア ポータブル DVB-T+DAB+FM ブラック
1,780 円

ADS-B レシーバーは、R820T2 で検索して購入できるものを選べば良いです。

2. ラズパイ用イメージをダウンロード (fr24-raspberry-pi-latest.img.zip) して、解凍

BUILD YOUR OWN のリンクから fr24-raspberry-pi-latest.img.zip をダウンロードして解凍。

$ unzip fr24-raspberry-pi-latest.img.zip

3. Etcher を使ってイメージを SD カードに書き込む

Etcher をダウンロードして解凍。
Linux (Ubuntu) 版は、解凍すると AppImage 形式になってます。

$ unzip etcher-1.1.2-linux-x86_64.zip

Etcher を起動してイメージを SD カードに書き込み。
"Select image" = fr24-raspberry-pi-1.0.18-9.img
"Select drive" = SD カードのドライブ
"Flash!"
の順に設定してやれば OK。

$ ./etcher-1.1.2-x86_64.AppImage

4. ラズパイ起動

ラズパイに micro SD カードと ADS-B USB ドングルを差し込んで電源 ON。
IP アドレスは、DHCP で設定されます。

5. 同一ネットワーク上の PC からラズパイを検索

SHARE YOUR DATA のリンクから、
"Activate Raspberry Pi" をクリック。

こんな風に見つけてくれます。

Activate をクリックすると、設置場所の設定画面が出てくるので、場所を選んで "Verify Application" をクリック。
登録しているメールアドレス宛に sharing key が届きます。

6. ラズパイにログインして FR24 Decoder/Feeder を設定

ラズパイに ssh でログインして、FR24 Decoder/Feeder を設定します。

$ ssh pi@192.168.10.14        (IP アドレスは、ラズパイに設定されている IP アドレス)
pi@192.168.10.14's password   (パスワードは raspberry)

ログイン名とパスワードは、ここに書いてあります。

設定用スクリプトを実行。

# sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"

converted 'http://repo.feed.flightradar24.com/install_fr24_rpi.sh' (ANSI_X3.4-1968) -> 'http://repo.feed
.flightradar24.com/install_fr24_rpi.sh' (UTF-8)
--2017-09-22 22:39:17--  http://repo.feed.flightradar24.com/install_fr24_rpi.sh
Resolving repo.feed.flightradar24.com (repo.feed.flightradar24.com)... 52.216.162.165
Connecting to repo.feed.flightradar24.com (repo.feed.flightradar24.com)|52.216.162.165|:80... connected.

HTTP request sent, awaiting response... 200 OK
Length: 921 [text/x-sh]
Saving to: 'STDOUT'

-                         100%[=======================================>]     921  --.-KB/s   in 0s     

2017-09-22 22:39:17 (23.3 MB/s) - written to stdout [921/921]

gpg: requesting key XXXXXXXX from hkp server pgp.mit.edu
gpg: key XXXXXXXX: "Flightradar24 " 1 new user ID
gpg: key XXXXXXXX: "Flightradar24 " 1 new signature
gpg: Total number processed: 1
gpg:           new user IDs: 1
gpg:         new signatures: 1
OK
Hit http://repo.feed.flightradar24.com flightradar24 InRelease
Get:1 http://mirrordirector.raspbian.org jessie InRelease [14.9 kB]                                    
Get:2 http://archive.raspberrypi.org jessie InRelease [22.9 kB]
Hit http://repo.feed.flightradar24.com flightradar24/raspberrypi-stable armhf Packages       
Get:3 http://mirrordirector.raspbian.org jessie/main armhf Packages [9535 kB]                
Get:4 http://archive.raspberrypi.org jessie/main armhf Packages [170 kB]          
Ign http://repo.feed.flightradar24.com flightradar24/raspberrypi-stable Translation-en 
Get:5 http://archive.raspberrypi.org jessie/ui armhf Packages [58.9 kB]                                
Ign http://archive.raspberrypi.org jessie/main Translation-en                                          
Ign http://archive.raspberrypi.org jessie/ui Translation-en                                            
Get:6 http://mirrordirector.raspbian.org jessie/contrib armhf Packages [43.3 kB]                       
Get:7 http://mirrordirector.raspbian.org jessie/non-free armhf Packages [84.2 kB]                      
Get:8 http://mirrordirector.raspbian.org jessie/rpi armhf Packages [1356 B]                            
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en                                   
Ign http://mirrordirector.raspbian.org jessie/main Translation-en                                      
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en                                  
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en                                       
Fetched 9931 kB in 19s (502 kB/s)                                                                      
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
fr24feed is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 74 not upgraded.
______  _  _         _      _                    _              _____    ___ 
|  ___|| |(_)       | |    | |                  | |            / __  \  /   |
| |_   | | _   __ _ | |__  | |_  _ __  __ _   __| |  __ _  _ __`' / /' / /| |
|  _|  | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / /  / /_| |
| |    | || || (_| || | | || |_ | |  | (_| || (_| || (_| || |  ./ /___\___  |
\_|    |_||_| \__, ||_| |_| \__||_|   \__,_| \__,_| \__,_||_|  \_____/    |_/
               __/ |                                                         
              |___/                                                          
[main][i]FR24 Feeder/Decoder
[main][i]Version: 1.0.18-9/generic
[main][i]Built on Apr 20 2017 09:25:30 (T201704200925/Linux/static_arm)
[main][i]Copyright 2012-2017 Flightradar24 AB
[main][i]http://flightradar24.com
[main][i]DNS mode: PING

Welcome to the FR24 Decoder/Feeder sign up wizard!

Before you continue please make sure that:

 1 - Your ADS-B receiver is connected to this computer or is accessible over network
 2 - You know your antenna's latitude/longitude up to 4 decimal points and the altitude in feet
 3 - You have a working email address that will be used to contact you
 4 - fr24feed service is stopped. If not, please run: sudo service fr24feed stop

To terminate - press Ctrl+C at any point


Step 1.1 - Enter your email address (username@domain.tld)
$:●Flightradar24 に登録しているメールアドレスを入力

Step 1.2 - If you used to feed FR24 with ADS-B data before enter your sharing key.
If you don't remember your sharing key, pelase use the retrival form:
http://feed.flightradar24.com/forgotten_key.php

Otherwise leave this field empty and continue.
$:●メールで送られてきた sharing key を入力

Verifying sharing key...OK



Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$:● yes を入力

IMPORTANT: For MLAT calculations the antenna's location should be entered very precise!

Step 3.A - Enter antenna's latitude (DD.DDDD)
$:●設置場所の Latitude を入力

Step 3.B - Enter antenna's longitude (DDD.DDDD)
$:●設置場所の Longitude を入力

Step 3.C - Enter antenna's altitude above the sea level (in feet)
$:●設置場所の Altitude を入力

Using latitude: XX.XXXX, longitude: XXX.XXXX, altitude: XXft above sea level

Step 4.1 - Receiver selection (in order to run MLAT please use DVB-T stick with dump1090 utility bundled
 with fr24feed):

 1 - DVBT Stick (USB)
 -----------------------------------------------------
 2 - SBS1/SBS1er (USB/Network)
 3 - SBS3 (USB/Network)
 4 - ModeS Beast (USB/Network)
 5 - AVR Compatible (DVBT over network, etc)
 6 - microADSB (USB/Network)
 7 - SBSx via Basestation (localhost:30006)


Enter your receiver type (1-7)$:● 1 を入力
Checking for dump1090...FOUND

Step 4.3 - Enter your additional dump1090 arguments or leave empty
$:●何も入力せずに Enter

Step 5.1 - Would you like to enable RAW data feed on port 30002 (yes/no)$:● yes を入力

Step 5.2 - Would you like to enable Basestation data feed on port 30003 (yes/no)$:● yes を入力

Step 6A - Please select desired logfile mode:
 0 -  Disabled
 1 -  48 hour, 24h rotation
 2 -  72 hour, 24h rotation
Select logfile mode (0-2)$:● 2 を入力

Step 6B - Please enter desired logfile path (/var/log):
$:●何も入力せずに Enter

Submitting form data...OK

Congratulations! You are now registered and ready to share ADS-D data with Flightradar24.
+ Your radar id is T-RJFFXX, please include it in all email communication with us.
+ Please make sure to start sharing data within the next 3 days as otherwise your ID/KEY will be deleted
.

Thank you for supporting Flightradar24! We hope that you will enjoy our Premium services that will be av
ailable to you when you become an active feeder.

To start sending data now please execute:
sudo service fr24feed start

Saving settings to /etc/fr24feed.ini...OK
Settings saved, please run "sudo service fr24feed restart" to use new configuration.
Installation and configuration completed!

7. 最後に、fr24feed を再起動

$ sudo service fr24feed restart

8. 確認

しばらくして、Flightradar24 に再ログインすると、Business Plan に変わります。

"MY DATA SHARING" のリンクから状態を確認できます。

たまに Offline になるので、設置場所を変えました。
変えたあとは Online 状態が安定。

ラズパイの 8574 番ポートに http でアクセスすると、FR24 Feeder Status を確認できます。

http://192.168.10.14:8574/    (IP アドレスは、ラズパイの IP アドレスを指定)

● Flightradar24, business plan, Raspberry Pi 3, ラズパイ, ADS-B, レシーバ, raspi, flight radar, FR24, business

2017年9月17日日曜日

Ubuntu smartmontools で、S.M.A.R.T. 対応 HDD/SSD を監視

HDD/SSD は突然壊れる。たまに痛い目にあいます (>_<)。
こないだなんか会社のサーバが、、、。それはいいか (笑)
その予兆を捉えるために smartmontools で HDD/SSD を監視します。
Ubuntu 17.04 で確認。

1. smartmontools をインストール

# apt install smartmontools

2. HDD/SSD を検索

家のノート PC なので、1 個。

# smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device

3. S.M.A.R.T. 対応かどうか確認

SMART Support is の行を確認。

# smartctl -i /dev/sda

smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.10.0-33-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     SandForce Driven SSDs
Device Model:     KINGSTON SV300S37A240G
Serial Number:    50026B72550366E7
LU WWN Device Id: 5 0026b7 2550366e7
Firmware Version: 600ABBF0
User Capacity:    240,057,409,536 bytes [240 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS, ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sun Sep 17 18:06:22 2017 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

4. smartd の起動設定

# vi /etc/default/smartmontools

start_smartd=yes のコメントを外す

● smartmontools, HDD, SSD, 監視, チェック, smartctl

2017年9月15日金曜日

Ubuntu サスペンドから復帰後に無線 LAN が復帰しないときの対処法

Ubuntu をノート PC に入れて使っているのですが、サスペンドから復帰後に無線 LAN が復帰しないことがあります。
その対処法。
Ubuntu 17.04 で確認。

# vi /etc/pm/sleep.d/wakenet.sh

(下記を記入)
#/bin/sh
case "{$1}" in
  thaw|resume)
    nmcli n on
    ;;
  *)
    ;;
esac

実行権を追加。

# chmod 755 /etc/pm/sleep.d/wakenet.sh

■参考
http://qiita.com/plageoj/items/3e1af6fc0855d1c50e64
https://ubuntuforums.org/showthread.php?t=2218043&p=13000035#post13000035

● Ubuntu, 無線, Wi-Fi, LAN, サスペンド, suspend, 復帰しない, 繋がらない, 切断, 使えない, 接続, 自動, 復帰, nmcli

2017年3月26日日曜日

Ubuntu マウスのスピードを変更する

Ubuntu PC 用にエレコムのトラックボールマウス M-XT3DRBK を購入。
トラックボールを使うときには、マウスのスピードを落としたいけど、システム設定に設定がない。
dconf-editor で設定する必要があります。
Ubuntu 16.10 で確認。

まずは、dconf-editor をインストール。

# apt install dconf-editor

そして起動。

$ dconf-editor

org -> gnome -> desktop -> peripherals -> mouse と進んでいき、speed のところで調整。
-1 - 1 の範囲で設定。-0.6 ぐらいにするとちょうど良かった。


● Ubuntu, マウス, mouse, スピード, speed, 調整, 遅く, slow, トラックボール

2017年1月7日土曜日

Ubuntu キーバインドを Emacs 風に変更する

Ubuntu のキーバインドを Emacs 風に変更する方法。
Ubuntu 16.10 で確認。

1. gnome-tweak-tool をインストール

このツール、なくならないで欲しい。

# apt install gnome-tweak-tool

2. キーボードとマウスの設定を変更

キーテーマを Emacs に変更。

● Ubuntu, key, キーバインド, Emacs, 変更