Precisa de alguns esclarecimentos sobre as permissões dos .desktop
arquivos. Eu posso ver que todos os .desktop
arquivos /usr/share/applications/
pertencentes ao root têm permissão,
-rw-r--r--
Também examples.desktop
na $HOME
propriedade do usuário tem a mesma permissão. Todos eles correm corretamente.
Mas quando vou criar um .desktop
arquivo personalizado com a mesma permissão, ele lança a seguinte mensagem de erro,
Iniciador de aplicativos não confiáveis
O iniciador de aplicativos "myapp.desktop" não foi marcado como confiável. Se você não souber a origem deste arquivo, iniciá-lo pode não ser seguro.
Mas adicionar a permissão de execução está permitindo a execução sem nenhum problema.
P: Por que os
.desktop
arquivos personalizados precisam ter+x
permissões para serem executados ou como alguns.desktop
arquivos podem ser executados sem a permissão de execução? É possível executar um.desktop
arquivo personalizado sem permissão de execução?
fonte
Respostas:
Isto é da política de segurança do Ubuntu :
Portanto, sim, de acordo com essa política, deve ser possível executar um arquivo .desktop sem o conjunto de bits executável. De acordo com essa política, você só tem que mover o arquivo para fora dos
/home/
e/tmp/
diretórios e então você pode lançá-lo sem o bit executável. Isso está em teoria / de acordo com a política.Na prática, o nautilus permitirá que você inicie arquivos .desktop sem o bit executável definido nos diretórios XDG_DATA_DIR e no
~/.gnome2/
diretório Você pode verificar o XDG_DATA_DIRS com oecho $XDG_DATA_DIRS
comando Portanto, se você colocar seu arquivo .desktop em um XDG_DATA_DIR ou em~/.gnome2/
você poderá iniciá-lo no nautilus sem o conjunto de bits executável. Pelo menos em 12.04 funciona assim. Como isso está de acordo com a política acima mencionada que eu não conheço.Para o
examples.desktop
mencionado na pergunta: Esse arquivo .desktop é um tipo diferente de arquivo .desktop. É um "Link", não quer executar nada, basicamente funciona como um link simbólico. Esses tipos de arquivos .desktop funcionam em qualquer lugar.fonte
.desktop
arquivo externo/home
sem o bit executável não funcionou para mim. [ii] Posso adicionar alguma pasta$XDG_DATA_DIRS
?, tenteiexport XDG_DATA_DIRS=$XDG_DATA_DIRS:~/.local/share/applications/
sem sucesso./home/
diretório. Como eu escrevi, na prática o nautilus se comporta de maneira diferente e até executa alguns .desktop de um diretório inicial (~/.gnome2/
), mas não é executado em todos os diretórios fora de / home, apenas no XDG_DATA_DIRS. Então, acho que o comportamento do nautilus não está perfeitamente alinhado com a política. [ii] Sobre como adicionar um diretório, confira esta postagem no blog .Você pode criar e colocar o
.desktop
arquivo~/.local/share/applications
- então ele aparecerá no painel / menu / o que seja.Será necessário algo parecido com isto:
Isso ocorre porque os arquivos
~/.local/share/applications
funcionam da mesma forma que os arquivos/usr/share/applications
- ambos na maioria dos sistemas funcionam bem sem permissões executáveis, também quando pertencem a um usuário que não seja root. No entanto, isso nem sempre parece ser o caso.Para realmente clicar e abrir o arquivo, ele precisará de permissões executáveis.
fonte
.desktop
arquivo a~/.local/share/applications
menos que ele tenha a permissão de execução.-rw-r--r--
....Parece que não, você não pode sem modificar o GNOME. Há um relatório de bug da barra de ativação , que é confirmado, mas não foi acionado, sobre esse problema exato.
Quando você cria um
.desktop
arquivo personalizado/usr/share/applications/
com a raiz do proprietário, ele não requer permissão de execução.fonte