Ben bir iç Ar-Ge projesi için bir web sayfası ekran yakalama uygulaması inşa ediyorum.
Çevre: Ubuntu 9.04 (varsayılan masaüstü kurulum), Apache, PHP.
Şimdiye kadar, bir parametre (URL) alır firefox kadar patlar, ekran kapmak ve bir PNG olarak kaydeder bir bash komut dosyası var. Ben terminal bu çalışan denedim ve gayet iyi çalışıyor.
İşte Bash script:
#!/bin/bash
firefox $1 # Start firefox and go to the passed in URL
scrot -d 5 test.png # Take screen grab with 5 second delay
Sonraki Ben shell_exec komut dosyasını çalıştırmak için kullandığı basit bir PHP sayfası oluşturduk:
<?
// Sample URL
$url = 'http://www.google.com';
// Run the script
shell_exec('sh script.sh ' . $url);
// Out put HTML to display image
echo '<img src="test.png" />';
?>
However, when the PHP page is called the screen is not captured. A quick look in the apache error logs show the following message:
Error: no display specified giblib error: Can't open X display. It *is* running, yeah
Ben apache farklı bir kullanıcı olarak çalışan ve benim X ekrana erişim yok çünkü bu olduğunu tahmin ediyorum.
Yani, herkes ben yanlış yapıyorum üzerinde herhangi bir ışık tutabilir ya da nasıl geçerli kullanıcı ekranı yakalayabilirsiniz.
Teşekkürler.