PR
AI・プログラミング

Raspberry Pi OSのBookwormで日本語コピペができない問題と回避策

背景

久しぶりに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を補助的に使用する方法が

タイトルとURLをコピーしました