SSH と X11 のフォワーディング機能を使って FreeBSD の GUI アプリを MacBook Air に転送する方法

FreeBSD 上で稼働している GUI アプリを Mac Book Air にフォワードした(飛ばした)ところ

今日やりたいこと

普段 MacBook Air をメインに使っていますので FreeBSD やリナックスなんかを操作するときに MacBook Air から SSH で触ったりしています。で、今日は、遠隔マシンの GUI アプリを手元のパソコン (MacBook Air) で操作ができる方法をまとめておこうと思います。

!重要!今日のポイント

まず、ドツボにはまらないためにとても重要なことは、

  • FreeBSD に設定する必要のあること
  • MacBook Air に設定する必要のあること

の2つがあることを頭にいれておくこと、そしてこの2つをゴチャゴチャにしないことです。この知識を持っておくだけでトラブルが減ると思います。

設定内容

1. サーバー側 (FreeBSD) に設定する内容

/etc/ssh/sshd_config を修正します。具体的には、vi で

#X11Forwarding yes

となっている行を

X11Forwarding yes

に変更しました。

% cd /etc/ssh
% cp -p sshd_config sshd_config.20170126
% vi sshd_config

そうすると、

% diff sshd_config.20170126 sshd_config
105c105
< #X11Forwarding yes
---
> X11Forwarding yes
%

のようになります。

この後多分 SSH のプロセスを再起動する必要があるんですが、よくわからなかったので sudo shutdown -r now で OS ごと再起動しました。

2. クライアント側 (MacBook Air) に設定する内容

次が MacBook Air 側の設定です。

/etc/ssh_config というファイルに変更を加えます。sshd_config ではありません。ここをごっちゃにしないように。具体的な変更内容は、

#   ForwardX11 no

の行を

ForwardX11 yes

にテキストエディターで変更します。

$ cd /etc
$ sudo cp -p ssh_config ssh_config.20170126
$ sudo vi ssh_config

diff で確認すると、

$ diff ssh_config.20170126 ssh_config
23c23
< #   ForwardX11 no
---
> ForwardX11 yes 
$

変更ができました。

試してみる!

MacBook Air でターミナルを起動します。まず ssh で -XC オプションをつけて FreeBSD にログインします。

$ ssh -XC oreore@10.1.0.3
Password for oreore@keyaki:
Last login: Thu Jan 26 20:15:46 2017 from :0
FreeBSD 11.0-RELEASE-p1 (GENERIC) #0 r306420: Thu Sep 29 01:43:23 UTC 2016

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List: https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

Edit /etc/motd to change this login announcement.
To see the last 10 lines of a long file, use "tail filename". To see the
first 10 lines, use "head filename".
        -- Dru <genesis@istar.ca>
%

ログインできました。ここから各 GUI アプリをキックしてやると、一番上の写真でお見せしたように FreeBSD で稼働している GUI アプリが MacBook Air 側に転送されて表示されます。

% xterm &
[1] 1423
% xclock &
[2] 1427
% konqueror &
[3] 1428
%

FreeBSD 上で起動した GUI アプリは

  • xterm
  • xclock
  • konqueror

の3つです。

konqueror を起動したあとバラバラといろんなメッセージが MacBook Air のターミナルに表示されますが、意味がわからないので無視しています。とりあえずやりたいことが実現できたので今日のところはこれで良し。

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください