VirtualBox & XWindow

Windows 10 を host OS, Ubuntu を Gues OS で,virtual box で動かしている.X Server を Windows で動かそうとして,いろいろつまずいた.最終的にはこんな感じ.
まず,X Server はいろいろ選択肢があるようだが,とりあえず Cygwin X server にしてみた.普通のCygwinの部品のインストーラに,Xに関するものも入っている.https://x.cygwin.com/docs/ug/setup.html#setup-cygwin-x-installing の項目15のところに必要なもののリストがある.

ホスト の /etc/hosts に,virtualbox を書いておく.

127.0.0.1 virtualbox

ホスト の ~/.ssh/config に,以下のセクションを入れる.

Host virtualbox
  User (ゲストのユーザ名)
  Port 19022
  ForwardX11Trusted yes
  ForwardX11 yes

ゲスト の /etc/ssh/sshd_config

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

virtualboxマネージャの 設定→ネットワーク→高度→ポートフォワーディングに,(ssh,TCP,,19022,,22) を追加.
ログインする時には

$ DISPLAY=:0 ssh virtualbox

これでログインした状態でXのクライアント,たとえば xlogo を打ってみると,ちゃんとX server に表示される.ログイン時に自動的に環境変数DISPLAYに (ホスト名):10.0 が設定されている.
次は,日本語を入力したい.リモート側では,環境変数 XMODIFIERS に値 @im=fcitx が設定されている必要があるようだ.この状態で,リモートで,fcitx コマンドを実行する.コマンド自体は一瞬で返ってくるが,fcitx のデーモンプロセスが起動される.なお,VirtualBoxのウィンドウ(?)で fcitx が動いていても,それは別物なので,ログインしたターミナルでも動かさなくてはいけない.さらに,(XMODIFIERSはもちろん設定されたままで) X クライアント,たとえばemacsを動かすと,そこで日本語を入力することができる.(これらは,ログインした時に自動的に起動するように設定できるはずだと思うが,まだ調べていない.下手に設定すると,VirtualBoxのグラフィカル環境と衝突するのではなかろうか)

keywords: virtualbox, port forwarding network

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*