ニワとりの巣箱

面白いものが生まれたり生まれなかったり。

ラズベリーパイをついばむ リモートデスクトップ

正直、SSHでコマンド送信ができればほとんどの用は足りますが、
一応デスクトップ画面も表示できるようにしてみます。

f:id:niwakxq:20150719171102p:plain

使用するのは多分最もメジャーなtightVNC、
クライアントはMacです。
 
 

ラズベリーパイ

LXTerminalでインストール
$ sudo apt-get install tightvncserver
 
インストールできたら再起動して、サーバ起動
$ tightvncserver
 
初回はパスワード設定を要求される
 
desktopYou will require a password to access your desktops.
 
Password:
Warning: password truncated to the length of 8.
Verify:
Would you like to enter a view-only password (y/n)?
 
パスワードは8文字以内
Verifyは確認の再入力
読み取り専用のパスワードも設定するか聞かれるが、
必要なければNOを選べばOK
 
うまく起動するとこんな感じのメッセージが表示される
 
New 'X' desktop is raspberrypi:1

Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/raspberrypi:1.log
 
これで接続できるようになった
 
終了する場合は
$ tightvncserver -kill :1
 
頻繁にリモートデスクトップを使うなら
自動起動にしておくと便利
ただしそのためにはスクリプトを作っておく必要がある
 
テキストエディタで以下のファイルを作成
$ sudo nano /etc/init.d/vncboot
 
USER=pi
HOME=/home/pi

export USER HOME

case "$1" in
 start)
  echo "Starting tightVNCServer"
  #Settings
  su $USER -c '/usr/bin/vncserver :1 -geometry 1440x900 -depth 24'
  ;;

 stop)
  echo "Stopping tightVNCServer"
  su $USER -c '/usr/bin/vncserver -kill :1'
  ;;
 
 *)
  echo "Usage: /etc/init.d/vncboot {start|stop}"
  exit 1
  ;;
esac

exit 0
 
こんな感じに入力
Settingsのところに解像度の設定があるので
クライアントのPCに合わせて変える
 
保存したら、実行権限の付与
$ sudo chmod 755 /etc/init.d/vncboot
自動起動の登録
$ sudo update-rc.d vncboot defaults
これで次回から起動すれば自動的にtightVNCも起動されるはず
 
再起動して、うまくいったか確認
(ポートが開いているか)
$ netstat -lnt
 
稼働中のインターネット接続 (サーバのみ)
Proto 受信-Q 送信-Q 内部アドレス            外部アドレス            状態      
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN    
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    
 
上記のように表示されていればOK
(5901ポートがLISTEN状態)
 
ちなみにtightVNCサーバは複数起動でき、
起動するたびにポート番号の下一桁が増える
(2つ目起動したらポートは5902)
 

※2017/11/24追記

OSをJessieにアップデートした場合の自動起動設定

$ sudo nano /etc/systemd/system/vncserver@.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=pi
PAMName=login
PIDFile=/home/pi/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1440x900 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
 
サービス登録
$ sudo systemctl daemon-reload && sudo systemctl enable vncserver@1.service
 
 

Mac

Finderを開いて、メニューバーの
 移動>サーバへ接続
を選択

f:id:niwakxq:20150719171129p:plain

サーバアドレスに
と入力して接続
 
パスワードを聞かれるので、
ラズベリーパイ側で設定したパスワードを入力すれば
デスクトップ画面が表示される
 
若干動きはカクカクすることもあるが、
まぁ問題なく使えるレベル

ラズベリーパイをついばむ4

やはり普段使っているPCから操作できると
毎回キーボードやモニタをつながなくていいので、
SSH接続して操作できるようにします。
ちなみにMacの場合です。
 

ラズベリーパイ

毎度おなじみ、LXTerminalを起動

f:id:niwakxq:20150719034444p:plain

 
コマンド入力
$ ifconfig

f:id:niwakxq:20150719034458p:plain

MACアドレス(ハードウェアアドレス)と
サブネットマスク(マスク)をメモしておく
MACアドレスは固定IPを割り当てる際に必要
 
メモしたらラズベリーパイに固定IPを割り当てる
ルータによって方法が違うので、その都度調べること
私が使用しているNAD11の場合の手順は別記事にて

niwatori-subako.hatenablog.com

 
無事割り当てられたら、ネットワーク設定ファイルを修正
$ sudo nano /etc/network/interfaces
 
dhcpをstaticに書き換え、割り当てた固定IPとサブネットマスク
ルータのIP(管理画面開くときのURLに含まれてるやつ)を記入
 
auto lo

iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address ****固定IP****
netmask ****サブネットマスク****
gateway ****ルータのIP****
 
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
 
これでラズベリーパイ側の設定はOK
再起動しておく
 
 

Mac

アプリケーション>ユーティリティ>コンソール.app
を起動してSSH接続のコマンド入力
$ ssh pi@****固定IP****
 
パスワードを要求されるので、
raspberry
と入力
無事接続できると、以下のように表示される

f:id:niwakxq:20150719040301p:plain

これでラズベリーパイのLXTerminalと同じように
コマンド入力ができる
 
わかっていると思うが、インターネット経由でどこからでも接続できるわけではない
あくまでもLANの中だけ(PCが同じルータに接続してる場合だけ)
 
リモートデスクトップ接続はまた別の記事で

ラズベリーパイをついばむ ルータで固定IPを割り当てる

ラズベリーパイにネットワーク経由で接続する場合、
通常はDHCPで動的にIPが振られるのですが、
リモートで接続する場合に毎回IPを調べなければならなくなるので
ルーターで固定IPを割り当てた方がよいでしょう。
 
ちなみにNECのNAD11の場合を紹介しますが、
NECの無線ルーターは大体同じ手順だと思われます。
 
 
 
ブラウザからルーターの管理画面にアクセス

f:id:niwakxq:20150719035149p:plain

左の「詳細設定TOPへ」を選択
 
初回はパスワード設定画面が表示されるので、
任意のパスワードを設定する
 
その後ログインを要求されるので、
名前:admin
パスワード:(設定したパスワード)
を入力してログイン
 
左側のメニューから、「DHCP固定割当設定」を選択
右下の「追加」ボタンを押す

f:id:niwakxq:20150719035224p:plain

割り当てたい機器のMACアドレスと使用したいIPアドレスを入力
「設定」ボタンと左上の「保存」を押して完了
 
ネットワークの仕組みには詳しくないので解説しないが、
設定するIPはネットワークアドレス部を変えるとまずいので
192.168.179.xxx
のように最後のオクテットだけ変える
またこの部分を0や1だけにしたIPには特別な意味があるので使用禁止

ラズベリーパイをついばむ Anthy設定

標準日本語入力ソフトAnthyをインストールしたら行う設定。

 

画面右上のキーボード?みたいなアイコンを右クリックして「設定」を選択。

f:id:niwakxq:20150705170459p:plain

 

こんな画面が出るので、

f:id:niwakxq:20150705170625p:plain

インプットメソッド」タブを開いて、

インプットメソッドの選択」内から「日本語」→「Anthy」と選択

右側の「追加」ボタンを押す。

f:id:niwakxq:20150705170804p:plain

この状態になればOK。

「閉じる」を押して、再起動すれば終了。

 

以降はキーボードの全角/半角キーで

日本語入力に切り替えられる。

 

ラズベリーパイをついばむ3

各種ソフトウェアのインストール手順のメモです。

 

Raspberry Piはネット上のリポジトリからコマンドで各種ソフトウェアを直接ダウンロード&インストールできます。

( アプリの名前を正確に入力しないといけないけどアプリストアみたいなもん。

 詳しいことはここに書いてます。

https://www.raspberrypi.org/documentation/linux/software/apt.md )

 

OSとソフトの更新

何かインストールする前にはまずOSとインストール済みのソフトをアップデート。

$ sudo apt-get update

$ sudo apt-get upgrade 

$ sudo rpi-update

 

上2つはDebian系のOS共通のコマンドで、

updateがパッケージリストの更新、

upgradeがインストール済みパッケージの更新。

rpi-updateはラズパイのファームウェアの更新。

 

特に上2つは何かソフトをインストールする際は必ずやっておく。

本当はセキュリティや互換性のために週一くらいで定期的にやっておいた方が良い。

久しぶりにやるとupgradeで失敗したりするので、

その場合は再起動を挟んで2回ほど繰り返し行ったほうがよさそう。

 

新しいソフトウェアの追加

とりあえず例として標準日本語入力ソフトAnthyのインストール

$ sudo apt-get install ibus-anthy

この場合だと、ibus-anthyがパッケージ名。

実行すると関連するソフトも入れていいか確認されるので、y(yes)を選択。

あとはしばらく待つだけ。

インストール完了したら再起動。

 

Anthyの設定に関しては別記事で。

niwatori-subako.hatenablog.com

 

ちなみにアンインストールは以下のコマンド。

$ sudo apt-get remove (パッケージ名):設定ファイルは残してアンインストール

$ sudo apt-get --purge remove (パッケージ名):設定ファイルも消してアンインストール

アンインストール後も再起動を忘れずに。 

ラズベリーパイをついばむ2

日本語化対応の手順もメモ程度に残しておきます。

 
まずLXTerminalを起動(ここの黒い奴)
f:id:niwakxq:20150521002018j:image

f:id:niwakxq:20150719034444p:plain

コマンド入力
$ sudo raspi-config
起動時に終了させた青い設定画面が出ます

f:id:niwakxq:20150521003941j:plain

以降は選ぶ項目名だけ書いていきます。
 

文字コード設定

 4 Internationalisation Options
I1 Change Locale
ja_JP.UTF-8 UTF-8に「*」
ja_JP.UTF-8
 
 

タイムゾーン設定

4 Internationalisation Options
I2 Change Timezone
アジア
Tokyo
 
 

キーボード設定

4 Internationalisation Options
I3 Change Keyboard Layout
標準101キーPC
日本語
キーボード配置のデフォルト
コンポーズキーなし
強制終了にCtrl+Alt+Bacspaceを使う
 
 

起動時にデスクトップUIを起動

3 Enable Boot to Desktop/Scratch
Desktop Log in as user 'pi' at the graphical desktop
 
以上まで設定したら再起動
 
つづく

ラズベリーパイをついばむ

前々から気になっていましたが、ようやく買いました。
元々電子工作は趣味だったんですが、結構手間と金がかかるのでほったらかしに。
明確に何用ってわけじゃありませんが、アイディアはいくつかあるので
順次色々試していこうと思います。
 
f:id:niwakxq:20150517171659j:image
 
今回買ったのは
・RaspberryPi2 ModelB
・有線キーボード
だけです。後は家にあったもので間に合いました。
・モニタ(テレビ)
・マウス
・電源アダプタ(WiMAX端末用、出力5V1A)
・microSD(東芝製、8GB、クラス4)
 
キーボードもPCからVNC接続すればいらないんですが、
高いもんじゃないし、いざというときにあると便利なので。
 
セットアップ方法は既に色々なところで紹介されるので簡単に。
 
SDカードが使いまわしなので、念のためフォーマット
OS(Raspbian)をダウンロード

f:id:niwakxq:20150518014341p:plain

NOOBSの方、Download ZIPより
ZIPを解凍して中のファイルを全てSDカードにコピー

f:id:niwakxq:20150518012448p:plain

本体にSDカードを挿して、キーボードなどを接続
最後に電源アダプタを接続して、起動
NOOBS(インストーラ)の画面が開くので、
最下部の言語プルダウンで日本語を選択
Raspbianのチェックボックスにチェック
左上のInstallをクリック
「OS(es) Installed Successfully」のポップアップダイアログが出たら完了
 
 f:id:niwakxq:20150518013529j:image
OSが起動する
青色の設定画面が出るが、一旦Finish(文字化け対策)
f:id:niwakxq:20150521003941j:image
画面下部にコマンド入力欄が出るので、
$ startx
と入力してデスクトップを起動
f:id:niwakxq:20150518013831j:image
 
とりあえずここまで。
次回に続きます。