リモートボックスにSSHで接続する場合
$ ssh -X remotebox
次に、リモートボックスでfirefoxを起動します
remotebox$ firefox
ローカルマシンでfirefoxを実行している場合、ローカルのfirefoxウィンドウが開きます。リモートボックスで実行されているfirefoxプロセスはありません。
ローカルマシンでfirefoxが実行されていない場合、リモートのfirefoxウィンドウが開きます。
なぜローカルのFirefoxウィンドウを開くのですか?どうすればそれを防ぐことができますか?
ここに私のローカルシステムの詳細があります。
Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
DISPLAY=:0.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
Remoteboxの情報。
Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux
LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-AMD64:desktop-3.1-noarch:graphics-2.0-AMD64:graphics-2.0-noarch:graphics-3.1-AMD64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description: openSUSE 10.3 (X86-64)
Release: 10.3
Codename: n/a
DISPLAY=localhost:15.0
Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org
次のコマンドは、リモートfirefoxウィンドウでリモートfirefoxセッションを開始します。
remotebox$ firefox -no-remote
次のコマンドは短い遅延を生成し、その後プロンプトに戻り、ローカルのFirefoxウィンドウがポップアップします。 remoteboxで実行されているfirefoxプロセスはありません。
remotebox$ firefox
Remotebox2の情報。
Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 9.10
Release: 9.10
Codename: karmic
DISPLAY=localhost:11.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
Remotebox2の次のコマンドは、期待どおりにリモートfirefoxセッションを開始します。
remotebox2$ firefox
Remotebox2のfirefoxがローカルセッションではなくリモートセッションを開始する理由がわかりません。
firefox -no-remote
に加えて、別のパラメーターはfirefox -no-xshm
です。これは、それを機能させるために使用される手法を明らかにします。
X11共有メモリは、特定のxサーバーセッションに接続されているすべてのアプリケーションで使用できるプロセス間通信技術です。ドラッグアンドドロップ、およびその他の種類のデスクトップ操作を実行するために使用できます。
また、フットプリント(またはウィンドウの数)を削減するために、「一度だけ開く」アプリケーションの実装にも使用できます(また、使用されます)。
X11プロトコルはネットワーク透過的であるため、「共有メモリ」はリモートX11クライアントにも拡張されます。
firefox -no-remote
を試してください
注意してください、これは私を悩ませていたので、ドームを掘りました、そしてあなたは単に追加することもできます:
MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE
あなたのプロフィールに。
マシンに接続したときにこれを試すことができます(ssh user@Host
;注:-Xオプションなし)、最初にfollowコマンドを入力します
export DISPLAY=:0
これにより、デフォルトの表示が現在のデスクトップ画面の表示に変更されます。そして、入力するだけです
firefox
firefoxをデスクトップウィンドウにスポーンさせるため。デスクトップにログインしていることを確認してください。ログインしないと、次のエラーが表示されます(ログインなし)。
firefox: cannot connect to X server :0
この方法は、ロックされたデスクトップでも機能します。 sameユーザー名でデスクトップとsshシェルにログインしていることを確認してください。
複数のデスクトップセッションがある場合、各セッションは:0
、:1
、:2
などの異なる番号で識別されます。
他のソリューションはどれも役に立たなかったので、他のサイトで少し検索してみました。
あなたはすべてローカルマシン上でそれをやっていた場合と同じ方法で別のプロセスでfirefoxを実行する必要があります。プロファイルマネージャーを使用して、次のように新しいプロファイルを作成します。
export MOZ_NO_REMOTE=1
firefox -ProfileManager
物事の一貫性を保つために、外部マシン上の各新しいプロファイルにホスト名と同じ名前を付けることにしました。
リモートボックスの前にいるかのようにローカルでウェブを閲覧したい場合:
$ ssh -X [email protected]
次に、Firefoxを実行しますリモートターミナルセッション内:
$ firefox https://test-ipv6.com/
ssh
コマンドで-X
フラグが使用されていることに注意してください。以下に示すように、一度に両方のステップを実行することもできます。
$ ssh -X [email protected] firefox http://test-ipv6.com/
何らかのWebフロントエンドを公開するアプリケーションをリモートで実行している場合、リモートIP:ポートをローカルIP:ポートであるかのように公開することに興味があります。この場合、-L
オプションは、以下の疑似コマンドに示すように、localhost:localport
とremotehost:remoteport
の対応を定義します。
ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost
例えば:
$ ssh -L 127.0.0.1:18080:internal.example.com:8080 [email protected]
次に、Firefoxを実行しますローカル:
$ firefox http://127.0.0.1:18080
上記の例では、SSH経由で[email protected]
に接続しており、internal.example.com:8080
で公開されているWebフロントエンドに関心があります。このリモートIP:ポートは、127.0.0.1:18080
でローカルに公開されます。
私がうまくいったものを追加します。単にfirefox -no-remote
を使用すると、通常のエラーで失敗しました
Error: GDK_BACKEND does not match available displays
ただし、次のように機能しました。
ssh -Y user@Host
firefox -no-remote
-Y
オプションは、信頼できるX11転送を有効にします。信頼されたX11転送は、X11 SECURITY拡張制御の対象ではありません。圧縮を有効にするために、ssh
コマンドに-C
オプションを追加することも検討できます。