
Tengo un ícono en el escritorio que no funciona. Cuando intento usarlo me sale el error
Archivo de escritorio no confiable Este archivo de escritorio no es de confianza y no se puede iniciar. Para habilitar el inicio, haga clic derecho, luego: Habilite "Permitir inicio"
No aparece este elemento del menú "Permitir inicio" cuando:
- Hago clic derecho en el ícono en el escritorio.
- Hago clic derecho en su archivo en Dolphin
- Hago clic derecho en este archivo en el "Administrador de archivos"
Así que intenté hacerlo desde la línea de comando siguiendo las instrucciones de esta página web:¿Cómo marcar un archivo .desktop como confiable desde la línea de comandos en Ubuntu 18.04?. Como tengo muchos enlaces de iniciadores que no son de confianza, utilicé esta secuencia de comandos y obtuve esta respuesta:
$ chmod u+xrw /home/stephen/Desktop/*.desktop
$ chmod g+xrw /home/stephen/Desktop/*.desktop
$ chmod o+xr /home/stephen/Desktop/*.desktop
$ gio set "/home/stephen/Desktop/*.desktop" "metadata::trusted" yes
gio: Setting attribute metadata::trusted not supported
Recibí el mismo error cuando le di a gio un archivo específico en lugar del carácter comodín *, también cuando intenté ejecutar gio como root.
¿Cuál es el atributo correcto para darle el comando gio? ¿En qué exploradores de archivos debería aparecer el elemento de menú "Permitir inicio"?
Mi sistema operativo es Ubuntu 22.04 bloqueado
Aquí está uno de los archivos .desktop con los que tengo este problema:
[Desktop Entry]
Comment=Powerful yet simple to use screenshot software.
Comment=Powerful yet simple to use screenshot software.
Comment[en_US]=Powerful yet simple to use screenshot software.
Exec=flameshot launcher
GenericName=
GenericName=
GenericName[en_US]=
Icon=flameshot
MimeType=
Name=Flameshot (Snappy Edition)
Name=Flameshot (Snappy Edition)
Path=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
Seguí las recomendaciones que ubfan1 hizo en los comentarios del 6 de septiembre de 2022. Los resultados:
stephen@stephen:~$ desktop-file-validate /home/stephen/Desktop/Flameshot.desktop
/home/stephen/Desktop/Flameshot.desktop: error: file contains multiple keys named "Comment" in group "Desktop Entry"
/home/stephen/Desktop/Flameshot.desktop: error: file contains multiple keys named "GenericName" in group "Desktop Entry"
/home/stephen/Desktop/Flameshot.desktop: error: file contains multiple keys named "Name" in group "Desktop Entry"
/home/stephen/Desktop/Flameshot.desktop: warning: value "" for key "Path" in group "Desktop Entry" does not look like an absolute path
/home/stephen/Desktop/Flameshot.desktop: warning: key "TerminalOptions" in group "Desktop Entry" is deprecated
¿En qué se debe configurar la clave Ruta? Sin saber esto, y también porque era sólo una advertencia, edité el resto del archivo en consecuencia. Este es el resultado de esas ediciones:
[Desktop Entry]
Comment=Powerful yet simple to use screenshot software.
Comment[en_US]=Powerful yet simple to use screenshot software.
Exec=flameshot launcher
GenericName=
GenericName[en_US]=
Icon=flameshot
MimeType=
Name=Flameshot (Snappy Edition)
Path=
StartupNotify=false
Terminal=false
Type=Application
Version=1.0
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-Desktop-File-Install-Version=0.26
X-KDE-SubstituteUID=false
X-KDE-Username=
Ahora obtengo estos resultados:
stephen@stephen:~$ desktop-file-validate /home/stephen/Desktop/Flameshot.desktop
/home/stephen/Desktop/Flameshot.desktop: warning: value "" for key "Path" in group "Desktop Entry" does not look like an absolute path
stephen@stephen:~$ sudo desktop-file-install /home/stephen/Desktop/Flameshot.desktop
/usr/share/applications/Flameshot.desktop: warning: value "" for key "Path" in group "Desktop Entry" does not look like an absolute path
stephen@stephen:~$ sudo desktop-file-edit /home/stephen/Desktop/Flameshot.desktop
/home/stephen/Desktop/Flameshot.desktop: warning: value "" for key "Path" in group "Desktop Entry" does not look like an absolute path
Aún así, el elemento del menú "Permitir inicio" no aparece.
Luego descubrí que Flameshot.desktop ya no es ejecutable. Entonces usé Dolphin para hacerlo así. Después de hacer esto, descubrí que el hecho de hacerlo ejecutable provocó que el contenido de Flameshot.desktop volviera a ser lo que comencé arriba. Se reintrodujeron las entradas clave duplicadas y terminé justo donde comencé.
Quizás la advertencia de la clave Path fue más importante de lo que supuse. Antes de volver a intentarlo necesito saber cómo configurarlo. Cualquier otra sugerencia también será muy apreciada.
Creé una hoja de cálculo para comparar los resultados del comando "strace gio set" realizado en la cuenta de prueba, que es una nueva cuenta temporal creada para pruebas en la que puedo crear iconos de escritorio que funcionen, y la cuenta de Stephen, que es la cuenta principal. cuenta y la creada durante la instalación de Ubuntu, donde no puedo. Se puede descargar desde:
https://www.mediafire.com/file/xz4dy7280wfx3u8/giosetenablecomparison.ods/file
La columna A es el resultado del comando en la cuenta principal y la columna B es el resultado del comando en la cuenta de prueba. Los resultados son estrechamente comparables hasta la fila 59. En la cuenta de prueba, esto muestra "cerrar(3)" para la cuenta principal y "cerrar(3) = 0" en la cuenta de prueba.
En la cuenta de Stephen, el resultado finaliza en la fila 59. En la cuenta de prueba, el resultado continúa hasta la fila 516.
No sé qué significa todo este resultado. Me parece que algún error está finalizando el proceso antes de tiempo en la cuenta de stephen. Alguien aquí puede ver qué salió mal y sugerir una solución.
La computadora antigua desde la que migré tiene Pop!_OS 21.04. La nueva computadora a la que migré y con la que tengo problemas con este ícono tiene Ubuntu 22.04. Cuando hice la migración, copié todos los archivos binarios en/opt y todos los archivos en/home. Al copiar todos los archivos en /opt esperaba ahorrarme tiempo y esfuerzo para realizar todas las instalaciones del software nuevamente. Sé que hay archivos binarios en otros lugares, como /user/bin y /snap. No los copié y tenía la intención de instalarlos en la nueva computadora usando archivos de instalación. Sabía que habría enlaces rotos en el directorio /Desktop hasta que se instalaran las aplicaciones a las que están vinculados. Ahora creo que esto puede haber sido un error y que todo debería haberse instalado desde los archivos de instalación en la nueva computadora.
El resultado de los comandos solicitados porconductor de aceroen su comentario:
stephen@stephen:~$ echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/run/user/1000/bus
stephen@stephen:~$ id -u
1000
Respuesta1
gio set "/home/stephen/Desktop/*.desktop" "metadata::trusted" yes
no es correcto. 3 cuestiones:
necesitas usar
dbus-launch
. Sidbus-launch
no está instalado primero haga:sudo apt install dbus-x11
No puedes utilizar comodines.
es "verdadero", no "sí", a partir de Ubuntu 20.04.
El comando:
dbus-launch gio set /home/stephen/Desktop/{name}.desktop "metadata::trusted" true
(donde {nombre} debe reemplazarse por el nombre real)
Respuesta2
El elemento del menú "Permitir inicio" no apareció porque otras personas podían escribir en el directorio: "~/Desktop". Tuve que encontrar y analizar el código fuente de GNU para descubrir esto. La clave era la línea 200 del archivo:
/usr/share/gnome-shell/extensions/ding(at)rastersoft.com/fileItemMenu.js"
.
(sustituir (arroba) por @)
Esto es:
if (fileItem.isValidDesktopFile && !this._desktopManager.writableByOthers && !fileItem.writableByOthers && (selectedItemsNum == 1 )) {
Debido a que otros podían escribir en el directorio "~/Desktop", el término "!this._desktopManager.writableByOthers" era falso y, por lo tanto, el elemento del menú no aparecía.
El requisito de que el directorio "~/Desktop" no tenga permiso de escritura por parte de otros no está documentado, y debe estarlo. Me habría ahorrado mucho tiempo si así fuera.