¿Cómo puedo crear un iniciador .desktop para que un comando Sudo ejecute el programa GfxTablet?

¿Cómo puedo crear un iniciador .desktop para que un comando Sudo ejecute el programa GfxTablet?

Soy nuevo aquí y he estado tratando de encontrar una manera de crear un ícono .desktop para que el comando sudo abra el programa llamado GfxTablet, pero no puedo obtener ninguna información que realmente funcione.

Toda la gran cantidad de comandos que he probado no logran iniciar el terminal tilix o ingresar un comando, he creado muchos archivos .desktop iniciando programas ellos mismos, pero nunca para que una línea de comando se ejecute en sudo o ninguno sudo.

Lo único que sé es que la línea Ejecutiva tiene que ser precisa en lo que dicta para realizar la operación. Si intento iniciar el terminal predeterminado escribiendo la línea Exec para indicar Exec=tilix, no sucede nada en absoluto, pero si entro en UXterm y escribo tilix y luego presiono Enter, se abre, intenté cambiar el terminal predeterminado a uno de 3. o 4 terminales en esta versión de disco dingo 19.04, pero ninguno se inicia desde la línea Exec= si incluye la ubicación de la carpeta seguida del nombre del archivo cuando escribo el iniciador .desktop.

Lo estoy haciendo ejecutable y ejecutándolo haciendo clic derecho para abrir con la opción Ejecutar software e incluso arrastrando el archivo .desktop a tilix y presionando Enter.

El archivo que quiero iniciar no sé qué tipo de archivo es ni cómo encontrar el nombre de la extensión de ese tipo de archivo, ya que hice propiedades haciendo clic con el botón derecho, lo que no da ningún nombre para el tipo de archivo allí, o haciendo clic derecho eligiendo la opción Mire su ubicación para ver que su ruta tampoco proporciona ninguna indicación para una extensión de archivo.

La ruta al archivo para el que quiero crear este iniciador .desktop es la siguiente:

/home/pc/GfxTablet/entrada-del-controlador/networktablet

El nombre del archivo que necesito ejecutar es el siguiente:

tableta de red

iniciar la aplicación que funciona en todos los terminales si se escribe el comando para iniciar es el siguiente:

sudo ./networktablet

He estado en esto más de 36 horas tratando de resolverlo. Había estado recibiendo ayuda intermitente en línea pero falló, me está volviendo loco, quiero que agregue el ícono al muelle, ya que estoy creando mi propio ícono personalizado. distribución.

Pero me gustaría transferirlo a otras máquinas si es necesario en algún momento cuando esté completamente personalizado, por lo que necesito que se guarde cuando se complete como una copia de seguridad del sistema para hacerlo de la manera más fácil con todo listo para funcionar, lo quiero encendido. la base al reinstalar o instalar en cualquier máquina y la facilidad de acceder a ella en cualquier máquina desde la base simplemente haciendo clic en un ícono en lugar de escribirlo para iniciarlo todo el tiempo a través de una terminal en la que tengo que hacer clic y abrir Primero, lo mismo si deseo agregar más líneas de comando para abrir con un clic en lugar de abrir un shell de comandos y luego escribirlo, me gustaría tenerlas en la búsqueda de aplicaciones, lo que significa que deben ser un archivo .desktop en el En la carpeta .local/share/applications he aprendido mucho al crear otros lanzadores.

Por favor, ¿alguien puede ayudarme? Soy muy nuevo en Linux como en los últimos días, pero soy bueno con Windows, no tanto en la línea de comandos sino en cualquier otra cosa. Acabo de cambiar de sistema operativo para siempre. Prefiero la seguridad, la velocidad y la fluidez del sistema operativo Ubuntu.

Espero que llegue algo de ayuda para poder mantener mi cabello como está antes de arrancarlo todo jajaja.

gracias de antemano

Respuesta1

En versiones anteriores de Ubuntu, la respuesta habría sido fácil: utilizar gksudoen la línea "Exec=" del lanzador. Antes de iniciar el programa real, proporcionaría un cuadro de diálogo gráfico para ingresar la contraseña del usuario. Sin embargo, "gksudo" permitía indiscriminadamente a un usuario privilegiado ejecutar cualquier programa gráfico como root, y esto ahora está en desuso. Ha sido reemplazado por pkexec, que además de solicitar una contraseña primero verificará si está intentando ejecutar un programa que explícitamente puede ejecutarse como root. Además, de forma predeterminada nunca permitirá que un programa gráfico se ejecute completamente como root. Sin embargo, todavía existe la posibilidad de dar cabida a programas gráficos heredados diseñados para ejecutarse completamente como root.

man pkexecexplica cómo puede proceder para ejecutar su ejecutable personalizado como root.

  1. Cree un archivo de acción, basado en la plantilla que encuentre man pkexec(consulte en Ejemplo). Proporcione el suyo propio <action id=y cámbielo <annotate key="org.freedesktop.policykit.exec.path">al comando completo de su ejecutable. Opcionalmente, puede adoptar parámetros como el icono, descripción, información del proveedor, etc.

  2. Coloque el archivo en el directorio./usr/share/polkit-1/actions

En el iniciador de .desktop, preceda el comando completo de su ejecutable con pkexec. Si todo va bien, al hacer clic en el iniciador debería aparecer un cuadro de diálogo para ingresar su contraseña, junto con el mensaje especificado en el archivo.

Si el comando proporciona un resultado de terminal que desea ver, incluya una línea "Terminal=true" en su archivo .desktop. De esa manera, el comando se iniciará en una terminal que permanecerá abierta mientras se ejecute el comando.

información relacionada