How do I stop D from showing the Desktop?
When I RDP (xrdp) or VNC (built-in or x11vnc, client-side UltraVNC), pressing 'D' shows the desktop.
Please tell me how to remove this binding.
As an alternative to the above answer, what I did in my remote session was edit the dconf for ubuntu 12.10 on the gnome-fallback ui.
open Applications\System Tools\dconf Editor
then change the
show-desktop keybinding to
I then rebooted the machine, but you probably could just restart the service, and everything worked.
I've had the same thing happen. Here's what I do to solve:
System menu ->
Window Management catagory, select the entry for
Hide all normal windows and set focus to the desktop and press the Backspace key to clear the entry
An alternative option is to use the command line within the session. Paste the following in the terminal:
gconftool-2 -t str -s /apps/metacity/global_keybindings/show_desktop ""
So I have seen the same question asked on 5 different stackexchange sites, and all the answers say to just remove the hotkey, which does work, but isn't the root of the problem (at least it wasn't for me). The real problem is that the windows super key is not mapped correctly, as is described here:
Basically just run these two commands
xmodmap -e "clear mod4"
xmodmap -e "add Mod4 = Super_L"
That should do it. Now the desktop should only be shown if you hold down the super (windows) key as well. The "d" key (and other keys with super shortcuts) should now work as expected.
You may need to replace Super_L with something else depending on your keyboard, check the link above for details.
Edit: I stumbled back across this answer and given that I am not sure if the link will be valid for very long I copied the post in a block below so you can reference that if the link doesn't work.
First make sure that your local session is not capturing away the shortcuts from your remote session. I like using this trick: faq.i3wm.org/question/1679/toggle-i3s-listening-behavior/ on my local session but you can also use whatever method your vnc client provides (e.g. Remmina has a keyboard icon that when pressed will send all all keys directly to your remote session)
Then at the remote server make sure that xev reports key events when pressing and releasing the windows key. Run
xevfrom a terminal, make sure your mouse pointer rests on xev's window and hit the windows/super key. You should see something like this:
KeyPress event, serial 27, synthetic NO, window 0x2000001, root 0x25, subw 0x0, time 378034015, (-1,97), root:(515,117), state 0x0, keycode 89 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False
Take note of the description of the key next to its keysym:
Super_Lin this case.
xmodmap -pmand look at the line starting with mod4. Next to mod4 it will print what ever key is bind to mod4. If everything is OK you should see this line among the output:
mod4 Super_L (0x59)
But since you're reading these lines it probably displays nothing next to mod4 or it displays some other key (e.g. Meta_L). To fix it run these two commands:
xmodmap -e "clear mod4" # un-bind mod4 from what ever other key xmodmap -e "add Mod4 = Super_L" # <--- again replace Super_L with whatever xev gave you