一昨年の夏頃にラズパイを買ったものの、最初に色々設定してネットに繋がったあたりで満足してしまい長らく放置していた。
要因としてはテレビに繋いでいたため、解像度が低くて色々めんどいというのが一番だったので、とりあえず
Windowsから
リモートデスクトップできるように設定してみた。
OSもWheezyだったのでJessieにアップグレードしようとこの辺を参考に色々やってみたが、結局最終的には詰んだので最初からインス
トールした。
Raspberry Piのアップデート(Wheezy → Jessie) | あっかぎのページ
気を取り直してインストール
- ラズパイのサイトでRaspbianのイメージをダウンロード
- SD書き込みソフトDD For Windowsをインストール
- 右クリック→管理者権限でDD For Windowsを実行し、ISOイメージを書き込む。ファイルを選ぶときは拡張子の種類をALLにする必要があるので注意。
Jessieは初期設定でもユーザ名「pi」で自動ログインされ、startx無しですぐにGUIが立ち上がった。設定も結構GUIでできてしまうので、ロケーションの設定などは左上のメニュー>設定>Raspberry Piの設定からやるとよい。
初期設定のパスワードは「raspberry」なので変えておく。
$ sudo passwd pi
新しいパスワードを聞かれるので2回入力(表示はされない)
同じくrootのパスワードも設定しておく。
$ sudo passwd root
新しいパスワードを聞かれるので2回入力(表示はされない)
無線設定
無線子機も特にドライバの指定などもなく認識し、ネットワークも右上のWi-FiのマークからSSIDを選んでパスワードを入力するとつながってしまう…のだが、ちょっとハマった。
SSIDを選択し、パスワードを入力してもNot Associatedと表示されてIPが振られていない状態になった。何か設定が足りてないのかと思って
$ sudo leafpad /etc/wpa_supplicant/wpa_supplicant.conf
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
priority=2
あたりを色々書き換えてみてもつながらない。結論から言うと無線親機を再起動したら直った。かなりの無駄骨…。
そして、GUIでパスワードを入力すると平文で保存されてしまうので、つながることを確認したあとは暗号化して保存しておく。
$ sudo wpa_passphrase {SSID} {PASSPHRASE}
network={
ssid="SSID"
psk=38497220976092fc2707a838e4d4385019256149f99f935be22c90159d3b8373
}
この出力で /etc/wpa_supplicant/wpa_supplicant.conf の該当部分を上書きすれば良い。
コメントアウトされているもとのパスフレーズは消しておく。
日本語入力の設定
Google日本語入力のオープンソース版のMozcをインストール。これだけGUIでやった。
- 左上のメニューからMenu>Preferences>Add / Remove Softwareを開く
- 検索窓で「fonts-takao」を検索して「Japanese TrueType font set, Takao Fonts」にチェックを入れてインストール
- 「ibus」で検索して以下をインストール
- Intelligent Input Bus – GTK+3 support
- Intelligent Input Bus- GTK+2 support
- Mozc engine for iBus – Client of the Mozc input method
- qt-immodule for ibus (QT4)(plugin)
- Intelligent Input Bus – core
- Input method configuration framework
- Menu>設定>iBusの設定からMozc以外を削除
- 再起動して完了
ネットワークにつながれば、SSHの設定をすればTera Termを使ってCUIのリモートはできた。
$ sudo raspi-config
5.Interfacing Options > P2 SSH でSSHをenableしてやればよい。
XRDPのインストール
参考リンク先からのコピペでxrdpをインストール
$ sudo apt-get update
$ sudo apt-get install xrdp
続いてまたコピペで日本語入力環境の設定
$ cd /etc/xrdp/
$ sudo wget http://w.vmeta.jp/temp/km-0411.ini
$ sudo ln -s km-0411.ini km-e0010411.ini
$ sudo ln -s km-0411.ini km-e0200411.ini
$ sudo ln -s km-0411.ini km-e0210411.ini
$ sudo service xrdp restart
接続元のIPを指定。iptablesの設定はシェルスクリプトでやった。まず以下のようなファイルを適当に作る。名前は仮にset_ip.shとする。
ちなみに参考リンクではIPTABLESは大文字だったが、小文字にしないとエラーが出た。
LOCALNET="192.168.0.0/24" ←例:適宜変更。変数を使わずIP直打ちでも良い。
iptables -A INPUT -p tcp -s $LOCALNET --dport 3389 -j ACCEPT
iptables -A OUTPUT -p tcp -d $LOCALNET --sport 3389 -j ACCEPT
iptables -A INPUT -p udp -s $LOCALNET --dport 3350 -j ACCEPT
iptables -A OUTPUT -p udp -d $LOCALNET --sport 3350 -j ACCEPT
実行可能にしておく
$ sudo chmod 775 set_ip.sh
root権限で実行
$ su -
rootのパスワード入力
$ sudo bash set_ip.sh
これでWindowsからIP指定でリモート接続できる…はずだったが、つながるもののパスワードを入れるとエラーでログインできない。
そこでいったんxrdpをアンインストールして、tightvncserverを入れてから再度インストールしたらできた。
$ sudo apt remove xrdp
$ sudo apt-get update
$ sudo apt-get install tightvncserver
$ sudo apt-get install xrdp
ログインすると無事リモート接続完了。
ちなみに
参考書籍はこういうのを買ってみた。まあ一応動かすことはできるかなくらい。
なんだかんだ手元にiPadとかがあるとネットで調べながらできるので調べ物自体は楽である。便利な世の中に鳴ったもんだ。