メインコンテンツへスキップ

postmarketOSでWayVNCを使い、Linuxスマホのデスクトップへリモート接続する

·
カテゴリー スマートフォン 真のLinuxスマホ
タグ VNC PostmarketOS Wayland
目次
  • スマホ側システム: postmarketOS (Alpine Linux)、デスクトップ環境はPhosh

  • PC側システム: Ubuntu 20.04

PCからスマホLinuxのリモートデスクトップへログインします。図のように、PCでスマホをリモート操作するのと同じです。リモートデスクトップ環境のcompositorはwlrootsである必要があるため、GNONE/KDE/Westonはサポートされません。

概要
#

Linuxの表示プロトコルにWaylandを使っている場合、従来のx11 VNC Serverはおそらく通用しません。この場合はWayVNCという新しい技術を使う必要があります(詳細情報)。

まずリモートデバイスへSSHし、暗号化トンネルを作ってパケットを転送し、その後ローカル側のVNC Viewerを開いて接続します。

以下の表記では、本機=PC、リモート=スマホとします。

1. 先にリモート側のSSH設定を調整する
#

  1. postmarketOSではデフォルトでSSHサービスがインストール済みのはずなので、まず起動します:
sudo rc-service sshd start
sudo rc-update add sshd
  1. まずリモート側でsshd設定(/etc/ssh/sshd_config)を編集し、以下の2項目があるか確認します。なければ追加するか、コメントアウトを解除します:
AllowTcpForwarding yes
X11Forwarding yes
  1. その後ファイルを保存し、SSHサービスを再起動します。
sudo rc-service sshd restart
  1. ifconfigを入力してスマホのIPを確認します(私はローカルネットワークを使っているため、先頭は192.168.です)
xiaomi-beryllium:~$ ifconfig
wlan0 Link encap:Ethernet
inet addr:192.168.0.243  Bcast:192.168.0.255  Mask:255.255.255.0
  1. WayVNCパッケージをインストールします
sudo apk add wayvnc
  1. WayVNCを起動します。IPはスマホのIPです(localhostはスマホ本体だけが接続できるという意味で、0.0.0.0なら外部接続を開放します)。5901は私が自分で選んだポート番号です。この時点で画面上にマウスが表示されるはずです。
wayvnc localhost 5901
  1. WayVNC起動後は何も出力されません。終了するにはCTRL+Cを使います。

2. 本機でSSHトンネルを作成する
#

SSHトンネルを作成する目的は、VNC通信を暗号化することです。速度優先なら、暗号化しないのもまあ手です。

  1. ターミナルを開き、以下のコマンドを入力します(5901はリモート側のポート番号と一致させます。userはリモート側のアカウントで、@の後ろに付けるのはリモートIPです)
ssh -L 5901:localhost:5901 user@192.168.0.243
  1. リモート側のパスワードを入力するとログインに成功します
Welcome to postmarketOS! o/This distribution is based on Alpine
Linux.First time using postmarketOS? Make sure to read the cheatsheet in the wiki: https://postmarketos.org/cheatsheetYou may change this message by editing /etc/motd.
xiaomi-beryllium:~$
  1. 本機でRealVNC VNC Viewerを開き、接続IPを入力します:
localhost:5901
  1. AllowTcpForwardingを設定しても接続できない場合は、本機の~/.sshディレクトリを削除してから再試行してみます。

  2. リモートデスクトップへの接続に成功します。

参考資料
#

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。