Actualmente lo uso dolphin 17.04.3
y cada vez que lo ejecuto como sudo, me da el siguiente error
Executing Dolphin as root is not possible.
sin explicar por qué o dar una alternativa. Entonces, ¿cómo puedo ejecutar dolphin como root para copiar o eliminar archivos?
14
Respuestas:
Corto:
Dolphin 17.04
El Dolphin 17.04 o posterior tiene un cheque:
Una solución alternativa
Puede editar las fuentes y deshabilitar la verificación. Entonces el Dolphin funcionará como antes.
Delfín 18.08
Poca solicitud de revisión
Vuelva a permitir ejecutar Dolphin como usuario root (pero aún no usa sudo): https://phabricator.kde.org/D12795
Mostrar una advertencia cuando se ejecuta como usuario root: https://phabricator.kde.org/D12732
Dolphin 18.08.0 está utilizando estos cambios y Dolphin se puede iniciar con el comando pkexec como superusuario administrativo.
Más: KDE Foruns - ¿Cómo ejecutar Dolphin 18.08 como root con Kubuntu o KDE neon? - https://forum.kde.org/viewtopic.php?f=224&t=153655
Antecedentes:
Anteriormente - Foros de KDE - ¿Cómo ejecutar Dolphin como root ?: https://forum.kde.org/viewtopic.php?f=224&t=141836
Por razones de seguridad: no permita ejecutar Dolphin como root en Linux: https://cgit.kde.org/dolphin.git/commit/?id=0bdd8e0b0516555c6233fdc7901e9b417cf89
No permita ejecutar kate y kwrite como root en Linux: https://phabricator.kde.org/R40:9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e
Mas consejos
KDE Reddit: raíz de delfines en la aplicación KDE 17.04: https://www.reddit.com/r/kde/comments/6785b1/dolphin_root_on_kde_app_1704/
Omitir "No es posible ejecutar Dolphin como root" y recuperar los privilegios de root de KDE Dolphin: https://www.reddit.com/r/kde/comments/6xs3mp/bypass_executing_dolphin_as_root_is_not_possible/
Futuro
Soporte de Polkit en KIO: https://phabricator.kde.org/T6561
Cuando esté listo, Dolphin mostrará la consulta de contraseña si es necesario. Ahora, con el parche Dolphin & KIO:
fuente
No es una respuesta, solo una solución para el propósito mencionado por el OP (
copying or deleting files
).La idea es
instale otro administrador de archivos que no tenga esa limitación y que no traiga muchas dependencias
cree un menú contextual "Abrir como root" en Dolphin para este otro administrador de archivos.
Se pueden usar los principales administradores de archivos de otros escritorios (Nautilus, Nemo, Caja, Thunar), pero traen algunas dependencias. Incluso PCManFM y PCManFM-Qt hacen eso. Si necesita uno de esos para algún otro propósito, agregar ese podría ser una buena solución.
He descubierto que Krusader (que creo que en el pasado solía instalarse de manera predeterminada en algunos sistemas KDE) puede instalarse fácilmente, no tiene dependencias en Kubuntu 18.04 y puede usarse como root.
Bajo sus Herramientas tiene la opción "Root".
que pide contraseña en una interfaz gráfica de usuario.
Para agregar un menú contextual en Dolphin, cree la carpeta
~/.local/share/kservices5/ServiceMenus
y luego hagay añadir
Por alguna razón
kdesu krusader
no funciona, y he usado la solución desde aquí . Lo que también funciona eskonsole -e sudo krusader
, pero eso muestra el terminal en lugar de una interfaz gráfica de usuario para la solicitud de contraseña.Entonces, verás en Dolphin:
trayendo un diálogo
que es uno que funciona ..
fuente
He hecho mi propia versión basada en las respuestas anteriores. Entonces, para agregar un menú contextual para abrir Dolphin como root, siga estos pasos:
DolphinAsRoot.desktop
en el directorio~/.local/share/kservices5/ServiceMenus/
Eso es todo, espero que les ayude a todos como me ayudó a mí;)
fuente
Todo lo que hice fue agregar el Terminal a la barra de herramientas (aunque el método abreviado de teclado está vinculado a F4) y usé la línea de comandos para realizar operaciones tan sudo como fuera necesario.
Al igual que
Sí, puede que no sea tan conveniente, pero te obliga a comenzar a aprender la línea de comando mientras te da una representación visual de cómo funciona realmente el comando.
Esto está en Arch, pero la funcionalidad debería ser la misma en Ubuntu. Espero que haya ayudado.
fuente
Aquí hay una solución para Dolphin 17.x:
llegar
libkdeinit5_dolphin.so
desde aquíProbado por mí, funciona bien en Ubuntu bionic.
fuente
fuente
Es trivial!
Solo mira el código fuente de kate y kwrite:
En las primeras líneas de código directamente al comienzo de la función "principal", encontrará:
Dolphin no es diferente, excepto que esto sucede en libkdeinit5_dolphin.so.
Entonces, ejecutar como root es trivial, todo lo que debemos hacer es omitir la comprobación if uid = 0
La forma en que hacemos esto es mediante parches permanentes de kate, kwrite y dolphin.
Entonces, lo primero que hacemos es volcar el contenido binario en un archivo de texto:
Ahora puede mirar el archivo con
gedit ~/kate.txt
, y si busca getuid, encontrará algo como:Ahora, en el lado izquierdo, encontrará la dirección de memoria, después de los dos puntos (:) verá el código de instrucciones binarias (hexadecimal) y a la derecha de eso, verá el desensamblaje de ese código (también conocido como lo que significa) .
Ahora, ya ves, allí llama a getuid, prueba si eso es cero y salta a la instrucción if, es decir si el valor de retorno es igual a cero (je: jump if equal).
Ahora no queremos saltar al if, así que simplemente eliminamos esa basura allí. Pero solo eliminar esa basura cambiaría las direcciones en 6 bytes, destruyendo cualquier salto relativo en el programa en el proceso y, como consecuencia, el programa. Así que en lugar que acaba de sustituir toda la longitud de la instrucción de salto con NOP (abreviatura de N o Op ración) instrucciones, también conocido como 0x90 en el código de instrucción / hex.
Por lo tanto, debe reemplazar cada byte de salto allí con 0x90, así que donde tenía anteriormente
usted tendrá
Esto se puede hacer simplemente con un editor hexadecimal.
Entonces instalamos uno:
Ahora en el editor hexadecimal, busca 0f 84 e9 1e 00 00, y reemplaza eso con 90 90 90 90 90 90. Si solo hay una ocurrencia de 0f 84 e9 1e 00 00, y la hay, entonces esto es trivialmente simple. Simplemente cambie los bytes en hexadecimal a 90 90 90 90 90 90 y guarde. Terminado. Kate o kwrite ahora se abrirán, ya sea que seas root o no.
Si haces lo mismo con Dolphin, te darás cuenta de que
objdump -Crd /usr/bin/dolhin
produce un desmontaje muy corto.si corre
ldd /usr/bin/dolphin
, verá que dolphin carga la biblioteca compartida libkdeinit5_dolphin.soEntonces haces el objdump en libkdeinit5_dolphin.so:
Ahora abra el objdump:
gedit ~/libkdeinit5_dolphin.txt
Busque getuid y verá que uno de los resultados de búsqueda es:
Esto es genial, ya ves, más basura como en Kate y Kwrite.
Ahora ábralo
/usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
en su editor hexadecimal, búsquelo0f 84 58 1a 00 00
y reemplácelo con90 90 90 90 90 90
.Presiona guardar, y listo.
Dolphin ahora se ejecuta como root.
Nota: es una buena idea hacer una copia de seguridad de los archivos que modifique, en caso de que se arruine.
Además, puede descargar la fuente de kate, kwrite y dolphin, eliminar esa basura del código fuente, compilar e instalar. Pero dado que al estúpido sistema cmake le falta alguna plantilla de basura para algunos estúpidos, como iconos, probablemente porque el cmake suministrado por el repositorio es demasiado viejo, esto no funciona. Lástima, hubiera sido demasiado simple si simplemente funcionara, ¿no?
Pero solo parchear los ejecutables como describí es más rápido, así que a quién le importa de todos modos.
Usted ve, no es sencillo, pero es trivial.
PD:
Ahora, cada vez que kate, kwrite o dolphin se actualicen a través de apt, sus cambios se sobrescribirán. Tendrá que volver a aplicarlos. Dejaré automatizar el proceso de parche en tus manos más que capaces, y tu lenguaje de programación joice;)
¿Se puede hacer esto en puro golpe?
Además, si desea parchear vlc para la misma basura, puede hacerlo con sed:
Simplemente ponga esa declaración sed en un script, para que pueda volver a aplicar, si alguna vez lo necesita, si está desconectado y no tiene acceso a Internet.
Hackeo feliz - con kate, kwrite y dolphin - como root - mientras mira / escucha algo en vlc.
PS2:
Las comprobaciones de raíz malísimas siguieron el camino del Dodo en KDE v19.04.
¿Quién ha dicho n evolución fue una mala cosa.
Para progresar - ¡Salud!
fuente
No es una solución, sino una sugerencia ... Alterar Dolphin y los archivos es bastante arriesgado. Double Commander es una excelente alternativa y se encuentra en el repositorio. Se instalará sin necesidad de root. Para obtener root, simplemente ingrese 'sudo doublecmd' en la terminal. Tiene muchas ventajas cuando se trabaja con grandes y millones de archivos.
fuente