web-dev-qa-db-ja.com

MacからLinuxボックスへのSSH経由のX転送

リモートのMacマシンでMacアプリケーションを実行し、ローカルのLinuxマシンのXサーバーに表示する必要があります(インターネット上の多くの記事で、逆の方法でそれを行う方法が詳しく説明されているようです)。

$ ssh -X mac-box
$ cd /Developer/Applications/Xcode.app
$ ./Contents/MacOS/Xcode
Sat Oct  3 20:41:26 mac-box.local Xcode[15634] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
^C
  1. ぼくの $DISPLAY変数が空のようです。転送が正しく機能するようにするには、どのように表示する必要がありますか?
  2. この方法でOSXアプリケーションを実行できますか?
8
Alex B

MacのAquaがXの場合、Macで他のXプログラムを起動するためにX(XQuartz)を実行する必要はありません...

だから:いいえ、これはできないと思います。


しかし、あなたが始めるのを助けるために、私は最初にあなたのLinuxマシンに真のXプログラムを転送させようとします:

  • Macの場合:まだインストールしていない場合はXQuartzをインストールします(OS X 10.6DVDのオプションインストールからのXQuartz2.3.4のように、または XQuartzプロジェクト から最新のものをダウンロードします)。

  • Macの場合:X11Forwarding noを使用するかAppleのsedコマンドを使用して、X11Forwarding yes#に変更します(その行の前にハッシュ(Sudo vi /private/etc/sshd_config)がないことを確認します)。 X11転送を有効にする 。これにより、DISPLAY変数が自動的に設定されます。

  • Linuxマシンの場合:

    ssh -Y user @ mac-box 
     xterm 
    

(次のステップには、Xephyr(または古いXnest)のグーグルが含まれる場合があります。キーボードの問題が発生した場合:Google xmodmap、またはデバッグにxevを使用します。またはフォントの問題:Googlexfsおよびxset +fp tcp/mac-box:7100。この方法でAquaプログラムを実行できるかどうか疑問です。)

6
Arjan

ここでの主な目標は、Linuxマシンで実行中のMacアプリケーションを表示することのようです。 Arjanは正しいです、X転送はこれには機能しません。

システム環境設定の「共有」ペインで画面共有を有効にする必要があります。これにより、VNCサーバーがオンになります。 LinuxマシンでVNCクライアントを使用すると、Macデスクトップを見ることができます。 この記事 Mac側でのセットアップ方法(ステップ1〜3)を示し、空港基地局でのdyndnのセットアップとポートのオープンについて(少し多すぎます)、次にクライアント側の設定についての下部にある小さなビット(ステップ20〜21)。

4
Doug Harris