3

The Gnome screencast utility may be invoked by the keystroke ctrl + shift + alt + R.

I'm delivering RHEL to an environment which frowns upon screen recording, so I need this to be disabled.

Googling the topic only turns up excited descriptions of how to grab video, or change the max length parameter. A trawl through dconf-editor gives no clues.

2 Answers 2

3

No

Gnome ScreenCast functionality cannot be disabled.

@BlueManCZ provided a decent answer about masking the keyboard shortcut.

However, masking the keyboard shortcut with a blank that doesn't properly disable the screencast function.

It's provided by the gnome-shell package as a dbus interface, and its descriptor file is /usr/share/dbus-1/interfaces/org.gnome.Shell.Screencast.xml.

The dbus-send(1) and gdbus(1) commands may be used to invoke the Screencast method using hints from that descriptor file:

$ gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/Screencast \
> --method org.gnome.Shell.Screencast.Screencast \
> "/tmp/test_%d_%t.webm" "{'draw-cursor': <'true'>}"
$ ls -l /tmp/test*webm
-rw-r--r--. 1 rich rich 270035 Jun 25 17:16 /tmp/test_2020-06-25_17:16:29.webm

It's worse: the gnome-shell RPM package doesn't treat its interface descriptors as configs. This can be shown by making a minor change to the file or removing it, then verify the RPM:

# rpm -q --verify gnome-shell
S.5....T.    /usr/share/dbus-1/interfaces/org.gnome.Shell.Screencast.xml

The absence of a c flag here indicates that this is not treated as a config; and so will be restored the next time the package is installed (updated, downgraded, etc.)

7
  • 1
    The dbus-send invocation is going to take some finessing to get it to do something, but this doesn't return an error: dbus-send --type=method_call --dest=org.gnome.Shell.Screencast /org/gnome/Shell/Screencast org.gnome.Shell.Screencast - at this point, I'm calling it: this can be called from the command line
    – Rich
    Commented Jun 25, 2020 at 23:51
  • Someone else had the same question from the other angle: superuser.com/questions/1367346/…
    – Rich
    Commented Jun 25, 2020 at 23:52
  • And this guy's almost there: askubuntu.com/questions/359587/…
    – Rich
    Commented Jun 25, 2020 at 23:53
  • 1
    Got it. gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/Screencast --method org.gnome.Shell.Screencast.Screencast "/tmp/test_%d_%t.webm" "{'draw-cursor': <'true'>}" - this produces a .webm file at /tmp/test_*.webm
    – Rich
    Commented Jun 26, 2020 at 0:18
  • 2
    Well done, nice analysis here. I have one question. I'm using Gentoo Linux with Gnome shell, but Screencast in my case doesn't work and never did. There is that .xml file on its place, but when I invoke keyboard shortcut, nothing happens. When I call the command you found, it returns (false, ''). Do you have any idea, where the problem could be?
    – BlueManCZ
    Commented Jun 26, 2020 at 8:35
2

You can go to Gnome settings - Devices - Keyboard Shortcuts and there you can find "Record a short screencast". Change this bind to any other shortcut or disable it.

enter image description here

4
  • 1
    While this is useful for obscuring the function, it's not an answer to my question, which is about disabling the function. Sure, you can set a keystroke as a mandatory policy, but to make it impossible to invoke, the solution relies on the existence of an "impossible keystroke", if there even is such a thing. A major obstacle to finding such a keystroke is that, if you can enter a keystroke into policy, then you can also read back the config, and use a keymapping tool to produce that keystroke.
    – Rich
    Commented Jun 24, 2020 at 21:10
  • @Rich Well, Gnome allows you to disable that shortcut. Just click at it like you want to change shortcut and then press backspace. And if you want to uninstall it from your computer, isn't there something like a gnome-screencast package which you can remove?
    – BlueManCZ
    Commented Jun 25, 2020 at 8:24
  • It looks to be an integral component of the gnome-shell. Invoking it pegs one core at 100% for as long as the screencast is going on. It's invoked via a dbus interface, as shown by the file /usr/share/dbus-1/interfaces/org.gnome.Shell.Screencast.xml That's owned by the gnome-shell package. So long as there's a (dbus-send)[dbus.freedesktop.org/doc/dbus-send.1.html] and an interface descriptor, this is enabled whatever the keyboard shortcut is. I suspect you wouldn't even need a Gnome Desktop to invoke it.
    – Rich
    Commented Jun 25, 2020 at 23:10
  • I appreciate the clues, but I've found the answer now.
    – Rich
    Commented Jun 25, 2020 at 23:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .