screenshot of remote host is available.<br />get_domain_object make so many error to message log, so you had better not use .<br /><br />diff --git a/examples/libvirt.php b/examples/libvirt.php<br />index 1ca71b6..bf903f6 100644<br />--- a/examples/libvirt.php<br />+++ b/examples/libvirt.php<br />@@ -29,9 +29,9 @@<br />                 }<br /><br />                function domain_get_screenshot($domain) {<br />-                       $dom = $this->get_domain_object($domain);<br />-<br />-                       $tmp = libvirt_domain_get_screenshot($dom);<br />+                       $dom = libvirt_domain_lookup_by_uuid_string($this->conn, $domain);<br />+                       $hostname = $this->get_hostname();<br />+                       $tmp = libvirt_domain_get_screenshot($dom, $hostname);<br />                        return ($tmp) ? $tmp : $this->_set_last_error();<br />                }<br /><br />diff --git a/src/libvirt-php.c b/src/libvirt-php.c<br />index 87e0467..4a53e33 100644<br />--- a/src/libvirt-php.c<br />+++ b/src/libvirt-php.c<br />@@ -1880,6 +1880,7 @@ PHP_FUNCTION(libvirt_domain_get_screenshot)<br />        int port = -1;<br />        int scancode = 10;<br />        char *path;<br />+       char *hostname;<br /><br />        path = get_feature_binary("screenshot");<br />        if (access(path, X_OK) != 0) {<br />@@ -1887,7 +1888,7 @@ PHP_FUNCTION(libvirt_domain_get_screenshot)<br />                RETURN_FALSE;<br />        }<br /><br />-       GET_DOMAIN_FROM_ARGS("r|l",&zdomain, &scancode);<br />+       GET_DOMAIN_FROM_ARGS("rs|l",&zdomain, &hostname, &scancode);<br /><br />        xml=virDomainGetXMLDesc(domain->domain, 0);<br />        if (xml==NULL) {<br />@@ -1912,10 +1913,16 @@ PHP_FUNCTION(libvirt_domain_get_screenshot)<br />                RETURN_FALSE;<br /><br />        if (childpid == 0) {<br />+               char *prm = NULL;<br />                char tmpp[8] = { 0 };<br />-<br />+<br />                snprintf(tmpp, sizeof(tmpp), ":%d", port);<br />-               retval = execlp(path, basename(path), tmpp, file, NULL);<br />+               prm = emalloc((sizeof(tmpp) + sizeof(hostname)) * sizeof(char));<br />+               sprintf(prm, "%s%s", hostname, tmpp);<br />+<br />+               retval = execlp(path, basename(path), prm, file, NULL);<br />+<br />+               free(prm);<br />                _exit( retval );<br />        }<br />        else {