Я хочу вызвать команду gnome-screenshot -ac
в моей C-программе, используя system("gnome-screenshot -ac")
или exec()
, но они не сработали. Я уверен, что эта команда работает хорошо, потому что я могу использовать ее в терминале. Та же ошибка возникает при попытке вызвать bash-скрипт, в котором я пишу команду. Когда я использую system()
, он говорит:
(gnome-screenshot:16564): Gdk-CRITICAL **: gdk_pixbuf_get_from_surface: assertion 'width > 0 && height > 0' failed
(gnome-screenshot:16564): Gtk-CRITICAL **: gtk_window_resize: assertion 'width > 0' failed
** (gnome-screenshot:16564): CRITICAL **: Unable to capture a screenshot of any window
При вызове execl("./screenshot.sh","screenshot",NULL)
в C:
(gnome-screenshot:16861): Gdk-CRITICAL **: gdk_pixbuf_get_from_surface: assertion 'width > 0 && height > 0' failed
(gnome-screenshot:16861): Gtk-CRITICAL **: gtk_window_resize: assertion 'width > 0' failed
** (gnome-screenshot:16861): CRITICAL **: Unable to capture a screenshot of any window
] Почему это не так и как это исправить?
Я вижу курсор после того, как запустил его в своем терминале, но в моей C-программе. Я просто хочу сделать снимок экрана, и пользователи получат доступ к буферу обмена. Я делаю это с 14.04.2. Я просто вызываю функции для вызова команды в C, но это всегда вызывает некоторые ошибки выше.