gtk3-nocsd(1) transparently disable Gtk+3 client side decorations (CSD)


gtk3-nocsd command [ command arguments ... ]
[ command arguments ... ]


gtk3-nocsd runs a command in the environment where Gtk+3 client side decorations (CSD) are disabled, by using LD_PRELOAD to load the library that overrides some GLib, GDK and Gtk API calls with customized variants.


The command to execute. It may be either a full path or the name of the command in PATH. In case command cannot be found in PATH, gtk3-nocsd will fail.
command arguments
Arbitrary number of arguments to pass to the command being executed.


Usage of gtk3-nocsd is not required in Debian by default, because gtk3-nocsd functionality is activated automatically on Xsession startup if anything but GNOME is used. On GNOME CSDs will remain enabled. Both the administrator and each individual user may override those defaults.

Administrators may choose to re-enable CSDs by default by editing the file /etc/X11/Xsession.d/01gtk3-nocsd and changing the following setting:

export GTK_CSD=1

Users may choose to override this (in either way) by adding a similar line to their ~/.xsessionrc. For more details, please see /usr/share/doc/gtk3-nocsd/README.Debian.


If a symlink to gtk3-nocsd under a different name is called, gtk3-nocsd will assume that the name it was called under is the name of the command that is supposed to be executed. It will look for the command in the PATH environment variable, excluding itself, and execute it with the proper environment variables set. This is useful when is not desirable to add gtk3-nocsd to the system-wide LD_PRELOAD or if it should be applied only to certain applications.


When using gtk3-nocsd with setarch (including alias such as linux32), or anyway with chroots with different architectures than the host's, make sure to install the matching architecture version of both in the setarch environment and the host's environment. Note that the gtk3-nocsd binary must then be installed in a system path (/usr/bin, /usr/local/bin, ...), so that it will set LD_PRELOAD to just the library name and let the dynamic linker find it automatically - allowing the dynamic linker to pick the version for the correct architecture. If gtk3-nocsd is not installed in a system path, it will use a full path, allowing only for a single version of the library to be used.