¿Por qué no funciona?
Por defecto pkexecno le permite ejecutar aplicaciones gráficas (X11). Desde la página del manual:
The environment that PROGRAM will run it, will be set to a minimal
known and safe environment in order to avoid injecting code through
LD_LIBRARY_PATH or similar mechanisms. In addition the PKEXEC_UID
environment variable is set to the user id of the process invoking
pkexec.
As a result, pkexec will not allow you to run X11 applications
as another user since the $DISPLAY and $XAUTHORITY environment
variables are not set.
These two variables will be retained if the
org.freedesktop.policykit.exec.allow_gui annotation on an action is set
to a nonempty value; this is discouraged, though, and should only be
used for legacy programs.
Como se indica en la página de manual, puede hacer que funcione, aunque realmente no sé si esto es de alguna manera peligroso o recomendado .
Para habilitar gedit, por ejemplo, puede crear /usr/share/polkit-1/actions/com.ubuntu.gedit.policycon el siguiente contenido:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>
<vendor>gedit</vendor>
<vendor_url>gedit</vendor_url>
<icon_name>accessories-text-editor</icon_name>
<action id="org.freedesktop.policykit.pkexec.gedit">
<description>Run "gedit"</description>
<message>Authentication is required to run Text Editor</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gedit</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>
Entonces pkexec geditdebería funcionar como se esperaba:

Como puedes adivinar, esto solo hará que geditfuncione. En teoría, si agregó allow_guia "org.freedesktop.policykit.exec" (la acción predeterminada) esto debería funcionar para todas las aplicaciones, pero en mis pruebas obtuve el mismo resultado que el suyo.
¿Por qué se prefiere pkexec?
Aquí puede encontrar una discusión sobre las fortalezas de pkexec.