Respuestas:
sudo
pide la contraseña en la línea de comando y gksudo
aparece un cuadro de diálogo para ello.
sudo -E
equivalente a gksudo
?
gksudo
es una interfaz basada en GTK de sudo
(Por cierto, kdesudo
es una interfaz basada en Qt), sin embargo, (por defecto) gestiona las variables ambientales más ( HOME
, XAUTHORITY
, etc.) que sudo
con lo que los comandos se ejecutan como root más seguro.
Por lo que puedo ver, solo la respuesta de @Logics es lo suficientemente correcta (la de @Ignacio Vazquez-Abrams no está completa). Aquí está la aclaración de intentar evitar las respuestas / comentarios de @Davros @knitti (por favor, elimínelos / edítelos cuando no sea necesario):
sudo
, la IU utilizada NO es la única diferencia de los dos comandos. HOME
apunta la variable de entorno en el sudo
comando en algunos sistemas y situaciones). No todas las aplicaciones GUI escriben en su directorio de inicio y no todas las aplicaciones CLI no lo hacen , por lo que el tipo de comando no es el punto clave. sudo
comandos para aplicaciones GUI lanzamiento como root (para la visualización de salida de la consola aplicaciones como ejemplo), sin embargo es necesario mango HOME
(y otros como XAUTHORITY
, DISPLAY
-cosas relacionadas-input-method,, etc.) por lo que las variables ambientales correctamente que la aplicación lanzada no fallará, perderá funcionalidad o hará cosas realmente malas. La siguiente es mi recomendación actual para usarsudo
sudo -H <rest of the command>
sudo
la página del manual de la sección 8) La -H ( HOME )
opción solicita que la política de seguridad establezca la HOME
variable de entorno en el directorio de inicio del usuario de destino (raíz de forma predeterminada) según lo especificado por la base de datos de contraseñas. Dependiendo de la política, este puede ser el comportamiento predeterminado.sudo
el directorio de inicio de la persona que llamasudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudo
comando no es idéntico en todos los sistemas y se puede configurar a través del visudo
comando, consulte la página de sudoers(5)
manual para obtener más información.El uso de sudo regular para ejecutar programas gráficos ocasionalmente arruinará los permisos de algunos archivos. Para estar seguro, gksudo (o kdesudo, según corresponda) debe usarse para ejecutar programas con una GUI. Creo que esto es realmente un error, aunque escuché explicaciones de que gksudo entiende las variables del servidor X y sudo posiblemente no genere problemas. Solo como una propina; si está ejecutando programas gráficos como root, en lugar de abrir un terminal para cada programa que desea ejecutar, escriba ALT-F2 (alt y la tecla de función 2 al mismo tiempo), luego escriba el cuadro de diálogo que aparece "gksudo programa "sin las comillas y el programa reemplazado por la aplicación que desea ejecutar.
sudo se ejecuta como el usuario actual con privilegios elevados. Esto tiene el potencial de cambiar los permisos de archivo de ciertos archivos de configuración de usuario (relacionados con su entorno gráfico) al ejecutar aplicaciones gráficas. Puede encontrar errores al ejecutar estas aplicaciones nuevamente sin sudo.
gksudo (kdesudo bajo KDE) ejecuta las aplicaciones como usuario root, por lo tanto, cualquier permiso de archivo tocado está en los archivos root, no en los archivos de los usuarios. ejecutar estas aplicaciones nuevamente sin gksudo / kdesudo siempre tendrá el comportamiento esperado.
La respuesta actual es incorrecta. De acuerdo con la wiki Ubuntu RootSudo :
"Nunca debe usar sudo normal para iniciar aplicaciones gráficas como root. Debe usar gksudo (kdesudo en Kubuntu) para ejecutar dichos programas. Gksudo establece HOME = ~ root y copia .Xauthority en un directorio tmp. Esto evita archivos en su hogar el directorio se convirtió en propiedad de root. (AFAICT, esto es todo lo que tiene de especial el entorno del proceso iniciado con gksudo vs. sudo) ".