Couldn't capture screenshot on Cyanogenmod/Android

Submitted by dag on Sat, 2014/11/15 - 12:50

Today I wanted to create a screenshot on my OnePlus One device with a stock Cyanogenmod 11 M11. Screenshots in recent Android can be made using the Volume-Down + Power buttons simultaneously. However this time it failed with an obscure message "Couldn't capture screenshot". Google was of no direct help either, so this required diving in at the deep end...

I quickly checked the File Manager (enabled Root Access Mode in the Settings in the process) to see if something was up with my /sdcard/Pictures/Screenshots directory and indeed, this directory did not have the "execute" bit set. Could this be the cause ? However the File Manager did not allow me to modify the directory's permissions. Bummer.

I started SSHDroid and logged on to my device using SSH (much more convenient than trying to type directories in the Shell). To my surprise I noticed this:

root@A0001:/ # ls -la /sdcard/Pictures/
drwxrwx--- root sdcard_r 2014-11-11 20:37 Instagram
drwxrwx--- root sdcard_r 2014-10-08 21:40 Paper Pictures
drw-rw---- root sdcard_r 2014-10-08 19:21 Screenshots
root@A0001:/ # chmod 0770 /sdcard/Pictures/Screenshots
root@A0001:/ # ls -ld /sdcard/Pictures/Screenshots
drw-rw---- root sdcard_r 2014-10-08 19:21 Screenshots

Changing directories does not work ? Hmm, let's remove this empty directory:

root@A0001:/ # rm -rf /sdcard/Pictures/Screenshots/
rm failed for /sdcard/Pictures/Screenshots/, Directory not empty
1|root@A0001:/ # ls -la /sdcard/Pictures/Screenshots/
root@A0001:/ # rm -rf /sdcard/Pictures/Screenshots/*
rm failed for /sdcard/Pictures/Screenshots/Screenshot_2014-10-08-12-21-55.png, Permission denied
rm failed for /sdcard/Pictures/Screenshots/Screenshot_2014-10-08-12-21-57.png, Permission denied
1|root@A0001:/ # echo /sdcard/Pictures/Screenshots/*
/sdcard/Pictures/Screenshots/Screenshot_2014-10-08-12-21-55.png /sdcard/Pictures/Screenshots/Screenshot_2014-10-08-12-21-57.png

So the directory is not empty, although the files are not being listed using ls, and echo does show them. And I cannot remove the individual files either ?

The only solution I could think of to restore capturing screenshots, was to rename this entry and recreate the Screenshots directory:

root@A0001:/ # mv /sdcard/Pictures/Screenshots /sdcard/Pictures/Screenshots2
root@A0001:/ # mkdir -p /sdcard/Pictures/Screenshots

Crisis diverted ! Screenshot-capturing restored.

But the bogus directory and files still remain. Anyone with a clue knows what is going on ? Is my root access somehow limited through SSHDroid and Shell apps ? Does the system have some bolt on capabilities preventing me from doing certain things ? Do I need ADB for full capabilities ?

It is also unclear to me what has caused this situation in the first place. My OnePlus One originally shipped with Cyanogenmod 11S, but I quickly rooted it and installed Cyanogenmod 11 M10 (which was then updated to M11).

Insights from Android experts welcome !

PS You can perform the same rename/move operation using the File Manager in Root Access Mode. Then you can recreate the Screenshots directory. However you cannot remove the original Screenshots directory using File Manager either. You'll be stuck with that one :-(

Try this- go to

Try this- go to settings-buttons-power menu-check screenshot. Now long press home button to bring the menu up and select screen shot there to see if that works? Only other way I know to take one but probably won't help.

match up bonus

Hey, i had almost the same

Hey,

i had almost the same problem but in my case the folder "Screenshots" wasn't displayed in all cases. Only if i tried to remove the "Pictures" folder it says "Screenshots" can't be deleted. Also was the permissions in the "Pictures" folder wrong. There was and is no chattr for protection but i can't changed it. I solved the problem in the minimal terminal from TWRP with an

chmod 770 Pictures/ -R
rm -Rf Pictures/Screenshots/*

It displays an error with tzdata but i forgot to made a picture from the error. But i think that the timestamp in the CM Image is wrong so that Linux can't edit the folder or display it.

I hope i can help you and others with this solution :)

Greez Knight

Couldn't capture screenshot on Cyanogenmod/Android

Hey,

I'm unsure what the problem is but I have to say that this was a helpful workaround... I am rooted and use ES File explorer, renamed "Screenshots" to "Screenshots2" and then created a new folder called "Screenshots" I will just hide screenshots2 until I flash my next nightly and see if the permissions issue is fixed.

Thanks for the writeup.

Post new comment

Please refrain from adding URLs to unrelated or commercial websites. This site is moderated and comments with inappropriate links are rejected. Thank you for your understanding.
The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options