web-dev-qa-db-ja.com

sshを介してリモートマシンでブラウザを開く[CLOSED]

リモートマシンを介してsshを使用して特定のURLでブラウザを開く必要があります。パスワードなしの接続を有効にしました。sshを使用してリモートマシンで実行されるコマンドo/pを取得できますが、sshを使用してブラウザを開くにはどうすればよいですか?私のマシンでリモートマシンブラウザを開く「-X」オプションを試してみました(私のマシンからsshを実行していることを考慮して)。

試した
1)。 ssh client@IP_ADDRESS -X "firefox http://google.com-これは私のマシンでブラウザを開きます。
2)。 ssh client@IP_ADDRESS "firefox http://google.comこのコマンドは、Error: no display specifiedというエラーを表示します。

基本的に、私の要件は、私のマシンを介して、リモートマシン(suse linux)で特定のURLを使用してブラウザを起動する必要があることです。

どのポインタも非常に役立ちます。

ありがとう。

2
cb24

DISPLAY環境変数を設定する必要があります。 env |grep DISPLAYを参照してください。したがって、基本的にはexport DISPLAY=:0; firefox http://google.deのようなものを使用できます。

2
Michael Krupp

返信ありがとうございます。私はこれを2つのスクリプトの助けを借りて動作させました
サーバー側(または私のマシン)には、次のようなスクリプトがあります

#!/bin/bash
ssh client@IP_ADDRESS "Nohup sh openBrowser.sh $1" &
PID=$$;
echo "PID IS |$PID|\n";
sleep 3 && kill -9 $PID;

クライアント側(ブラウザをリモートで開く必要がある場合は、次のようなスクリプト(openBrowser.sh)があります

#!/usr/bin/sh
#read "as backquote
browserPID="ps aux | grep firefox | grep -vc grep";
if [[ "$browserPID" > 0 ]];
then
killall -9 firefox
fi
Nohup firefox --display=:0 $1 &

また、ssh-keygenを使用してパスワードなしの接続を作成したことを確認してください。
サーバー上で、スクリプト(最初のスクリプト)を次のように呼び出します
sh launchBrowser_client1.sh http://google.com
これにより、クライアントでgoogle.comが開きます。

これを解決するためのあなたのポインタは高く評価されています。

ありがとう。

1
cb24

それを実行するにはディスプレイが必要です。その表示は、DISPLAY環境変数を使用して指定します。

SSH経由ですべてのデータをプッシュしたくない場合は、接続しているマシンでX11サーバーを使用する必要があります。これは、xvfbなどのヘッドレスサーバーである可能性があります。

0
Quentin