はじめに
ようするに
要するに Mac のX11 を使って Raspbian の LXDE を Mac 上で使う方法。Mac には XQuartz 等の X11環境がインストールされていることが前提です。ただし、事前に起動してなくてもかまいません。
なにがうれしいのか
- HDMI をTVにつないだり、キーボードやマウスの用意をしないで Mac だけで Raspberry Pi を使える
- Mac のアプリと Raspberry Pi のアプリの間でコピー&ペーストが出来るので便利
- しかも、VNC 不要
注意
以下で、192.168.11.14 は、私の環境での Raspberry Pi の IP アドレスです。この値は、ご自身の環境でのアドレスに置き換えてください
アカウントとパスワードはデフォルトのままとしてますので、ここもご自身の環境で変更されているなら、そのように置き換えてください
手順
- Raspberry Pi を起動。
- Mac のターミナル を起動して、以下のように -X オプション付きで ssh のセッションを開始する。
uedatakeyuki-no-MacBook-Air:~ takeyuki$ ssh -X pi@192.168.11.14
pi@192.168.11.14's password: raspberry
※2016.07.08 追記
最近の Raspbian だと avahi が最初から入っているみたいで
ssh -X pi@raspberrypi.local
と、ホスト名.local で名前が引けるみたいです
※追記終わり
この時まだ起動されていないようでしたら X11 が Mac 上で自動的に起動されます。
- ログイン後、lxsession と入力します
pi@raspberrypi ~ $ lxsession
Openbox-Message: A window manager is already running on screen 0
Has notifications support True
Loading...
Connecting to daemon...
Connected.
displaytray True
Done loading.
これで、Raspbian のデスクトップ(LXDE)が起動されるので、Raspberry Pi のアプリを Mac のアプリと同様に使えます
#まとめ
上記の手順を一言でまとめると「-X オプション付きで ssh で接続し、lxsession を起動」になります
※2020.05.20 補足
久しぶりにやってみたら -X では繋げてもらえず -Y でないと繋がりませんでした、世の中は日々セキュリティに厳しくなっているようです
あと、lxsession だと今となっては昔懐かしい lxde が開くので、それはそれで初期の RPi を思い出して懐かしいのですが感傷など不要ならx-session-manager のほうがナウいかもしれません
参考:SSH using Linux or Mac OS: X-forwarding
※補足終わり
※2024.06.15 補足
bookworm で x-session-manager を実行しようとしたら
pi@raspberrypi:~/github/infoboard $ x-session-manager
Failed to inhibit: Access denied
って叱られて気がついた(遅い)のですが、コレだと余計なことしすぎててちょっとガサツすぎるので
/usr/bin/lxsession -s LXDE-pi -e LXDE
のほうがいいと思いました
※補足終わり
※2024.06.16 補足
コマンド長くておぼえられないのでシェルにしました
https://github.com/UedaTakeyuki/x-session
※補足終わり