こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

リモート(SSH)からFirefoxをCUIで起動

諸先輩方に、以下の目的を達成するために必要な手順をアドバイス頂きたく存じます。

【構成】
Windows(Putty)-->[SSH]-->CentOS6.0

【目的】
定期的に自動で特定URLの画面キャプチャを取得するために、SSHあるいは、CronからCentOS6上のFirefoxをCUIで起動し、CentOSのコンソール(GUI)にFirefoxを起動させたい。
(※諸々の事情により、VNC等でXを飛ばしてWindows上で処理させる方法は不可とさせて下さい。)

【環境】
[root@cdesk ~]# cat /etc/redhat-release
CentOS Linux release 6.0 (Final)
[root@cdesk ~]# uname -a
Linux cdesk.*********** 2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686 i686 i386 GNU/Linux
[root@cdesk ~]#
[root@cdesk ~]# rpm -qa | grep ssh
openssh-server-5.3p1-20.el6.i686
openssh-clients-5.3p1-20.el6.i686
openssh-askpass-5.3p1-20.el6.i686
libssh2-1.2.2-7.el6.i686
openssh-5.3p1-20.el6.i686
[root@cdesk ~]#
[root@cdesk ~]# rpm -qa | grep cron
crontabs-1.10-32.1.el6.noarch
[root@cdesk ~]# rpm -qa | grep firefox
firefox-3.6.9-2.el6.centos.i686
[root@cdesk ~]#

【状況】
・コンソールの"端末"から、以下のコマンドでFirefoxが指定のURLで起動することは確認できました。
[root@cdesk ~]# firefox http://yahoo.co.jp/
・SSHからは上記コマンドでコンソールのGUIにFirefoxを起動することはできませんでした。

以上、情報がざっくりで申し訳ございませんが、アドバイスをお願い致します。

追加で必要な情報や質問がありましたら、出来る限り対応いたします。

投稿日時 - 2012-05-05 17:40:49

QNo.7459327

困ってます

質問者が選んだベストアンサー

>・SSHからは上記コマンドでコンソールのGUIにFirefoxを起動することはできませんでした。

エラーメッセージが、
Error: no display specified
であれば、

ssh HOST env DISPLAY=unix:0.0 firefox http://yahoo.co.jp
か、
ssh HOST firefox --display unix:0.0 http://yahoo.co.jp

投稿日時 - 2012-05-05 19:00:40

お礼

ど真ん中の回答を頂きありがとうございました!

ご提示頂いたアドバイスと、その他いろいろ調べまして、最終的に以下の方法でSSHからログアウトしても、コンソール上に表示し続けることができました、感謝です!

$ nohup env DISPLAY=unix:0.0 firefox $URL > /dev/null 2>&1 &

投稿日時 - 2012-05-10 22:18:41

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

すごく、wgetでいいんじゃないかという気がしています。
wget -p URLで、画像ファイルとかまでは同時ダウンロードできますしね。

受診したhtmlから画像を得る方法はあるはずですが、よく知りません。
html2psはあるみたいですけど…

CSSとかJavaScriptやFLASHなどを利用している場合は
目的の画像は得られないと思います。

静的な画像を伴うものが、目的通りに扱えるかも微妙です。
CSS無しに、レイアウトがきっちり決まるってことは無いでしょうし。

そういう問題が無ければ、実際にwget -pとかでダウンロードして
それをローカルファイルを指定して、ウェブブラウザーで見てみましょう。
それでなんとかなりそうだったら、改めて画像処理について調べればいいと思います。

また、記録を集計することを考えたら、画像で保存するより
wget結果から、スクリプト言語などで任意の部分だけを抽出するようにしたほうがいいでしょう。
もともと、HTMLは、そういった部分的な意味を取り出しやすいようにできています。

wgetやgrepなどはWindows版もありますしね。

投稿日時 - 2012-05-05 21:40:56

お礼

回答頂き有難うございます!

実はまだ画像の取得のところまでは全く手がついていない状態です。。。頂いたアドバイスも念頭に入れて、作業を進めたいと思います。

ありがとうございました!

投稿日時 - 2012-05-10 22:20:40

ANo.2

>早々の回答ありがとうございます。調べてみました・・・。

ええと「環境変数DISPLAYを調べてみてください。」といったのは「環境変数DISPLAYの値を調べてください」という事ではないんですけど・・・
googleなどで検索してみてください。
環境変数DISPLAYが何のためのものなのか、他にも何か設定が必要なのかわかると思います。

投稿日時 - 2012-05-05 18:50:23

お礼

失礼しました・・・早速の回答有難うございます。

これを機にXWindowsについても色々調べて勉強することができました!ありがとうございました!

投稿日時 - 2012-05-10 22:15:02

ANo.1

環境変数DISPLAYを調べて見てください。

投稿日時 - 2012-05-05 18:13:38

補足

早々の回答ありがとうございます。調べてみました・・・。

- SSHから
[admin@cdesk ~]$ echo $DISPLAY
localhost:10.0
[admin@cdesk ~]$ su -
パスワード:
[root@cdesk ~]# echo $DISPLAY
localhost:10.0
[root@cdesk ~]#

- コンソールから
[admin@cdesk ~]$ echo $DISPLAY
:0.0
[admin@cdesk ~]$ su -
パスワード:
[root@cdesk ~]# echo $DISPLAY
:0.0
[root@cdesk ~]#

つまり・・・SSHのときも、$DISPLAYが:0.0になっていればOKという理解でよろしいでしょうか。

# もちろん後ほど検証します

投稿日時 - 2012-05-05 18:20:03

お礼

ありがとうございます!
お礼は↑の回答に返信させて頂きました!

投稿日時 - 2012-05-10 22:15:35

あなたにオススメの質問