web-dev-qa-db-ja.com

SSH経由でリモートFirefoxウィンドウを起動するにはどうすればよいですか?

リモートボックスに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がローカルセッションではなくリモートセッションを開始する理由がわかりません。

56
lesmana

firefox -no-remoteに加えて、別のパラメーターはfirefox -no-xshmです。これは、それを機能させるために使用される手法を明らかにします。

X11共有メモリは、特定のxサーバーセッションに接続されているすべてのアプリケーションで使用できるプロセス間通信技術です。ドラッグアンドドロップ、およびその他の種類のデスクトップ操作を実行するために使用できます。

また、フットプリント(またはウィンドウの数)を削減するために、「一度だけ開く」アプリケーションの実装にも使用できます(また、使用されます)。

X11プロトコルはネットワーク透過的であるため、「共有メモリ」はリモートX11クライアントにも拡張されます。

46
ithkuil

firefox -no-remoteを試してください

15

注意してください、これは私を悩ませていたので、ドームを掘りました、そしてあなたは単に追加することもできます:

MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE

あなたのプロフィールに。

10
user2577

マシンに接続したときにこれを試すことができます(ssh user@Host;注:-Xオプションなし)、最初にfollowコマンドを入力します

export DISPLAY=:0 

これにより、デフォルトの表示が現在のデスクトップ画面の表示に変更されます。そして、入力するだけです

firefox

firefoxをデスクトップウィンドウにスポーンさせるため。デスクトップにログインしていることを確認してください。ログインしないと、次のエラーが表示されます(ログインなし)。

firefox: cannot connect to X server :0

この方法は、ロックされたデスクトップでも機能します。 sameユーザー名でデスクトップとsshシェルにログインしていることを確認してください。

複数のデスクトップセッションがある場合、各セッションは:0:1:2などの異なる番号で識別されます。

4
josip b

他のソリューションはどれも役に立たなかったので、他のサイトで少し検索してみました。

あなたはすべてローカルマシン上でそれをやっていた場合と同じ方法で別のプロセスでfirefoxを実行する必要があります。プロファイルマネージャーを使用して、次のように新しいプロファイルを作成します。

export MOZ_NO_REMOTE=1
firefox -ProfileManager

物事の一貫性を保つために、外部マシン上の各新しいプロファイルにホスト名と同じ名前を付けることにしました。

2
verayth

シンプルなリモートブラウジング

リモートボックスの前にいるかのようにローカルでウェブを閲覧したい場合:

$ ssh -X [email protected]

次に、Firefoxを実行しますリモートターミナルセッション内

$ firefox https://test-ipv6.com/

sshコマンドで-Xフラグが使用されていることに注意してください。以下に示すように、一度に両方のステップを実行することもできます。

$ ssh -X [email protected] firefox http://test-ipv6.com/

リモートIP:ポートのトンネリング

何らかのWebフロントエンドを公開するアプリケーションをリモートで実行している場合、リモートIP:ポートをローカルIP:ポートであるかのように公開することに興味があります。この場合、-Lオプションは、以下の疑似コマンドに示すように、localhost:localportremotehost: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でローカルに公開されます。

1
Richard Gomes

私がうまくいったものを追加します。単に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オプションを追加することも検討できます。

0
rahul1210