我需要通过远程计算机使用 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 的浏览器。
任何指示都非常有帮助。
谢谢。
答案1
您需要设置DISPLAY
环境变量。请参阅env |grep DISPLAY
。因此,基本上您可以使用类似的东西export DISPLAY=:0; firefox http://google.de
。
答案2
谢谢大家的回复。我在 2 个脚本的帮助下成功了
在服务器端(或者在我的计算机上)我有一个如下所示的脚本
#!/bin/bash
ssh client@IP_ADDRESS "nohup sh openBrowser.sh $1" &
PID=$$;
echo "PID: $PID";
sleep 3 && kill -9 $PID;
在客户端(我需要远程打开浏览器,我有一个脚本(openBrowser.sh),如下所示
#!/usr/bin/sh
ps aux | grep [f]irefox && killall -9 firefox
nohup firefox --display=:0 $1 &
还要注意确保我已经使用 ssh-keygen 创建了无密码连接,在服务器上我将脚本(第一个)调用为
sh launchBrowser_client1.sh http://google.com
这将在客户端打开 google.com。感谢您对如何解决这个问题的指点。
谢谢。
答案3
您需要一个显示器来运行它。您可以使用DISPLAY
环境变量指定该显示器。
如果您不想通过 SSH 推送所有数据,则需要在要连接的机器上使用 X11 服务器。这可以是无头服务器,例如 xvfb。