
Eu tenho um ícone na área de trabalho que não funciona. Quando tento usá-lo, recebo o erro
Arquivo de área de trabalho não confiável Este arquivo da área de trabalho não é confiável e não pode ser iniciado. Para ativar o lançamento, clique com o botão direito e: Ative "Permitir lançamento"
Não recebo esse item de menu "Permitir inicialização" quando:
- Clico com o botão direito no ícone na área de trabalho
- Clico com o botão direito em seu arquivo no Dolphin
- Clico com o botão direito neste arquivo no "Gerenciador de Arquivos"
Então tentei fazer isso na linha de comando usando as instruções nesta página da web:Como marcar um arquivo .desktop como confiável na linha de comando no Ubuntu 18.04?. Como tenho muitos links de inicialização não confiáveis, usei esta sequência de comandos e obtive esta resposta:
$ 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
Recebi o mesmo erro quando dei ao gio um arquivo específico em vez do caractere curinga *, também quando tentei executar o gio como root.
Qual é o atributo correto para dar o comando gio? Em quais navegadores de arquivos o item de menu "Permitir inicialização" deve aparecer?
Meu sistema operacional é Ubuntu 22.04 congestionado
Aqui está um dos arquivos .desktop com os quais tenho problemas:
[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=
Segui as recomendações do ubfan1 feitas nos comentários de 6 de setembro de 2022. Os 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
Como a chave Path deve ser definida? Sem saber disso, e também porque era apenas um aviso, editei o resto do arquivo de acordo. Este é o resultado dessas edições:
[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=
Agora obtenho estes 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
Ainda assim, o item de menu "Permitir lançamento" não aparece.
Então descobri que o Flameshot.desktop não é mais executável. Então usei o Dolphin para fazer isso. Depois de fazer isso, descobri que o ato de torná-lo executável fez com que o conteúdo de Flameshot.desktop revertesse para o que comecei acima. As entradas de chave duplicadas foram reintroduzidas e acabei exatamente onde comecei.
Talvez o aviso da chave Path fosse mais importante do que eu imaginava. Antes de tentar novamente, preciso saber como configurá-lo. Quaisquer outras sugestões também seriam muito apreciadas.
Criei uma planilha para comparar os resultados do comando "strace gio set" feito na conta de teste, que é uma nova conta temporária criada para testes na qual consigo criar ícones funcionais na área de trabalho, e a conta stephen, que é a principal conta, e aquela criada durante a instalação do Ubuntu, onde não consigo. Ele pode ser baixado em:
https://www.mediafire.com/file/xz4dy7280wfx3u8/giosetenablecomparison.ods/file
A coluna A é o resultado do comando na conta principal e a coluna B é o resultado na conta de teste. Os resultados são bastante comparáveis até a linha 59. Na conta de teste isso mostra "close(3)" para a conta principal e "close(3) = 0" na conta de teste.
Na conta Stephen, a saída termina na linha 59. Na conta de teste, a saída continua até a linha 516.
Não sei o que significa toda essa saída. Parece-me que algum erro está encerrando o processo prematuramente no relato de Stephen. Alguém aqui pode ver o que deu errado e sugerir uma solução.
O computador antigo do qual migrei tem um Pop!_OS 21.04. O novo computador para o qual migrei e com o qual tenho problemas com esse ícone tem Ubuntu 22.04. Quando fiz a migração copiei todos os binários em/opt e todos os arquivos em/home. Ao copiar todos os arquivos em /opt, eu esperava poupar tempo e esforço para fazer todas as instalações de software novamente. Eu sei que existem binários em outros lugares, como/user/bin e/snap. Não os copiei e pretendia instalá-los no novo computador usando arquivos de instalação. Eu sabia que haveria links quebrados no diretório /Desktop até que os aplicativos aos quais eles estão vinculados fossem instalados. Acho que agora isso pode ter sido um erro e que tudo deveria ter sido instalado a partir dos arquivos de instalação no novo computador.
O resultado dos comandos solicitados porchave de açoem seu comentário:
stephen@stephen:~$ echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/run/user/1000/bus
stephen@stephen:~$ id -u
1000
Responder1
gio set "/home/stephen/Desktop/*.desktop" "metadata::trusted" yes
não está correto. 3 questões:
você precisa usar
dbus-launch
. Sedbus-launch
não estiver instalado primeiro faça:sudo apt install dbus-x11
Você não pode usar curingas.
é "verdadeiro" e não "sim" no Ubuntu 20.04.
O comando:
dbus-launch gio set /home/stephen/Desktop/{name}.desktop "metadata::trusted" true
(onde {nome} precisa ser substituído pelo nome real)
Responder2
O item de menu "Permitir inicialização" não apareceu porque o diretório: "~/Desktop" era gravável por outras pessoas. Eu tive que encontrar e analisar o código-fonte do GNU para descobrir isso. A chave para isso era a linha 200 do arquivo:
/usr/share/gnome-shell/extensions/ding(at)rastersoft.com/fileItemMenu.js"
.
(substitua (at) por @)
Isso é:
if (fileItem.isValidDesktopFile && !this._desktopManager.writableByOthers && !fileItem.writableByOthers && (selectedItemsNum == 1 )) {
Como o diretório "~/Desktop" era gravável por outras pessoas, o termo "!this._desktopManager.writableByOthers" era falso e, portanto, o item de menu não aparecia.
O requisito de que o diretório "~/Desktop" não tenha permissão de gravação por terceiros não está documentado e precisa ser. Teria me poupado muito tempo se assim fosse.