背景
久しぶりにRaspberry Piを使ってみたところ、思わぬところで躓きました。VNC接続で使っている方も多いと思いますが、日本語のコピペがうまくいかない状況に直面しました。LLMツールなどからコードをコピペしながら作業する場合に特に不便を感じたので紹介。
状況まとめ
ラズパイの最新OS(Bookworm)では、従来のX11からWaylandにディスプレイサーバーが変更され、VNCサーバーもWayVNCがデフォルトになりました。この変更により、Windows環境からVNC経由で日本語テキストのコピー&ペーストができなくなる問題が発生しています。
原因
- Raspberry Pi OS Bookworm(2023年10月): Waylandがオプションとして利用可能に
- 2023年12月リリース: Waylandがデフォルトに変更
- WayVNCはWaylandディスプレイサーバー用のVNCサーバー
- テキストプロトコルの扱いが従来のX11/VNCと異なる
有効だった解決策
TeraTermとVNCの併用
私は最新OSを触っておきたいというのもあったのでこの選択にしました。
- 通常作業はTeraTermでSSH接続
- GUIが必要な場合のみVNCを使用
- プロトコルが異なるため、TeraTermではテキスト操作が問題なく行える
OSを旧バージョンに戻す
古いOSのほうが互換性などの問題をクリアできそうな気もしてます。
- Raspberry Pi OS Bullseye(X11ベース)を使用
- 特にBookwormの新機能が必要でなければ安定した選択肢
SAMBAを設定する(共有ファイル)
ラズパイはかなり簡単に設定できます。ファイルを使う場合(VS Codeでソースを修正するなど)はこちらの設定良いと思います。
sambaのインストール
sudo apt update
sudo apt install samba -y
sambaのパスワード設定
sudo smbpasswd -a pi
sambaの設定ファイル
sudo nano /etc/samba/smb.conf
この中にある[homes]セクションのread only = yesをnoに変更する。
sambaスタート
sudo systemctl restart smbd
IPアドレスを取得しておきます。
hostname -I
このIPアドレスを\\192.168.***.***のようにエクスプローラで打つだけです。
以上が最も簡単な方法ではありますが、これだと環境設定(barshrc)なども見えてしまうので少々危険です。
SAMBAを/以外出設定する方法
[homes]セクションのread only = yesをせずに特定フォルダのみを共有する手順になります。
sudo mkdir -p /srv/samba/share
sudo chown pi:pi /srv/samba/share
sudo nano /etc/samba/smb.confで以下のように末尾に追加するとできるはず。
[share]
comment = Shared Folder
path = /srv/samba/share
read only = no
writable = yes
browsable = yes
guest ok = no
create mask = 0777
directory mask = 0777
force user = pi
試したがうまくいかなかった方法
いろいろトライしてみましたがすんなりとはいかず。。。
VNCクライアントの変更
- TigerVNC、UltraVNCなど他のクライアントを試したが解決せず
RealVNCサーバーへの変更
- 認証の問題が発生
- X11環境への戻し方がうまくいかなかった
ディスプレイ設定の変更
/boot/config.txtや/etc/lightdm/lightdm.confの編集を試したが効果なし
考察
最新のラズパイOSであるBookworm現状で現状では日本語入力やクリップボード共有に関する互換性の問題があります。BullseyeのOSを使用するか、TeraTermを主に使いVNCを補助的に使用する方法が


