2010-11-21 25 views
2

Websnapr.com gibi web sitesi küçük resim servisleriyle muhtemelen familliarsınız.PHP Sadece siyah ekran görüntülerini döndüren Bash Komut Dosyası yürütme

Şu anda farklı amaçlarla böyle bir şey üzerinde çalışıyorum, bu yüzden bir web tarayıcısını bir url ile ekran görüntüsünü alıp bir sonraki sayfaya geçecek bir sunucuya ihtiyacım vardı.

Bu benim

#! /bin/bash 
export DISPLAY=":4" 
killall firefox-bin 
/usr/bin/firefox --display :4 "$1" & 
/bin/sleep 20 
xte "key F11" 
/bin/sleep 3 
/usr/bin/import -window root -display :4 "$2" 
/bin/sleep 3 
killall firefox-bin 

/var/www/images/google.png bash dosyanın tam 'http://google.nl' tarafından yürütmek bash script ve bir Xvfb tarafından çalışan var 'Xvfb: 4-ekran 0 1024x768x24 &' ssh veya standart kullanıcı üzerinde sadece terminal aracılığıyla çalışan, ama ben çalıştığınızda gibi php aracılığıyla yürütülecek ise komut çalışıyor

:

exec('bash /var/scripts/test.sh "http://google.nl" /var/www/char.png'); 

aldığım, 1024x768'in tamamen siyah bir ekran görüntüsüdür, apache'nin hata kayıtlarını incelediğimde, ana kullanıcı altında çalışırken (izin verilmeyen) firefox'u killall yapamayacağımı görüyorum ama kapalı olduğunda bile Bir başlat (bir hata vermeden).

Sorun nedir? İdeal olarak, ana kullanıcım üzerinde çalıştığı için, bunu sadece www-data kullanıcısı yerine o kullanıcı olarak çalıştırabilmeyi isterdim, bu sunucuyla doğrudan bağlantı olmayacağından güvenlik sorun olmaz (yalnızca başka bir sunucu üzerinden) aynı ağ).

cevap

3

Apache'den gelen bir uygulamanın X11'e güzel bir şekilde erişemeyeceği şaşırtıcı değil. xvfb + xvfb-run kullanırdım. Diğer yandan, aşırı durumlarda xte ile oynarken, temiz çözümler olduğunda biraz rahatsızlık verir; cutycapt veya benzerleri gibi projeleri deneyin.

+0

Sorun şu ki, bunu desteklemediklerini hatırlattığım kadarıyla flash içeriği oluşturmam gerekiyor mu? (cutycapt için) CutyCapt önermek için – M0rph3v5

+0

+1, aynı tavsiye etmek üzereydim. – icanhasserver

+0

@ M0rph3v5: Deneyin ve bize bildirin. Yine de, flash içeriğinin neden oluşturulmaması gerektiğini göremiyorum. – tokland

İlgili konular