Por que esse nome de arquivo é truncado no Nautilus?

7

No Ubuntu, a "extensão" para um nome de arquivo, ou seja, a parte após o ponto (.) é normalmente visível. Por que o Nautilus não está mostrando a extensão de eclipse.desktop quando o comando ls mostra claramente que é o nome completo do arquivo?

Este é o list view ; não é o icon view .

    
por H2ONaCl 07.12.2016 / 06:30

4 respostas

18

Sobre arquivos .desktop e sua função especial

.desktop arquivos são arquivos especiais. Eles representam aplicativos na GUI, na sua área de trabalho ou no Dash / Unity. Para fazer isso, um nome GUI do aplicativo é definido em uma linha dentro do arquivo na linha

Name=Eclipse

Você pode simplesmente alterar o nome de como o aplicativo mostra em Dash e Unity, alterando essa linha dentro do arquivo .desktop , sem alterar o nome do arquivo do arquivo .desktop . Nesse caso, é irrelevante se o arquivo é executável ou não.

Se o arquivo .desktop estiver na sua área de trabalho , se não for executável, ele não funcionará como um iniciador, por razões explicadas na resposta da souravac, e "mostra" com seu próprio nome (arquivo):

eclipse.desktop

Se for executável e na sua área de trabalho, ele funcionará como um inicializador e, portanto, representará um aplicativo. Então mostra o nome da aplicação, como definido na linha Name=

Nome específico da linguagem

Se o arquivo .desktop tiver a linha:

X-Ubuntu-Gettext-Domain

o arquivo ainda mostra um nome específico do idioma, obtido de um arquivo de idioma, que será exibido no Dash e no Unity.


abaixo de um exemplo complicado: nome do arquivo = inkskape.desktop, nome da interface "básica" = Inkskape, nome traduzido = Inkskape Editor de gráficos vetoriais

O comando ls

No comando ls é puramente baseado em cliques e sempre mostra o arquivo     

por Jacob Vlijm 07.12.2016 / 08:38
20

Citações de Política de segurança do Ubuntu :

  

Bits de permissão de execução

     
  • Aplicativos, incluindo desktops e shells, não devem executar código executável a partir de arquivos quando eles são ambos:

         
    • sem o bit executável
    •   
    • localizado no diretório inicial ou no diretório temporário de um usuário.
    •   
  •   
  • Isso inclui arquivos * .desktop, * .jar e * .exe.

  •   

O que é um arquivo .desktop válido no diretório inicial do usuário?

De acordo com a política de segurança do Ubuntu, a permissão de execução em .desktops arquivos e scripts shells é uma obrigação para executar código executável a partir desses arquivos quando eles estão localizados no diretório home do usuário.

O Nautilus não considerará um arquivo .desktop como atalhos de aplicativos válidos, a menos que tenha um bit executável quando eles estiverem localizados no diretório inicial de um usuário.

Por outro lado, é codificado no código-fonte do nautilus que mostrará um nome de arquivo .desktop válido do campo Name= ou Name[$LANG] dentro do arquivo .desktop , ignorando o nome do arquivo e a extensão. Isso não se aplica aos arquivos .sh ou .jar no nautilus.

Exemplo: Em uma nova instalação do Ubuntu, cada usuário recebe examples.desktop em seu diretório pessoal. O nome do arquivo é examples.desktop . Mas no nautilus pode-se ver como Examples . Se você olhar dentro do arquivo .desktop , você pode ver o seguinte (estou mostrando apenas parte dele):

Name=Examples
Name[aa]=Ceelallo
..
Name[en_AU]=Examples
Name[en_CA]=Examples
Name[en_GB]=Examples
..

Você pode verificar a permissão (tente ls -la /path/to/filename.extension ) de Eclipse.desktop e smartgit.desktop . O primeiro tem o bit executável definido, enquanto o posterior não possui.

É por isso que o nautilus está reconhecendo Eclipse.desktop como atalhos de aplicativos e não mostrando sua extensão.

    
por souravc 07.12.2016 / 07:29
6

Se um arquivo .desktop for executável, o Nautilus o reconhecerá como um atalho na área de trabalho e não exibirá o nome do arquivo, mas sim a string definida como o valor da propriedade Name= no arquivo.

    
por AlexP 07.12.2016 / 07:48
0

Neste link , o autor "fragos" escreve:

  

Infelizmente, se você abrir essa pasta no nautilus, os arquivos .desktop   aparece com o ícone especificado no arquivo e com o nome do arquivo   chamado dentro do arquivo.

Quando ele diz "nome do arquivo chamado dentro" ele significa que o nome do arquivo exibido é retirado de dentro. Eu diria "nome do arquivo chamado dentro quando o bit executável é definido". Ele pode estar certo de que isso é lamentável. Estranhamente eu tenho alguns que têm o bit de execução definido e outros que não. Aqueles que NÃO têm o bit de execução não são causa de infelicidade, mas eu não sei porque tive sorte. Quando o bit está definido, talvez possa ser considerado um capricho ou bug.

    
por H2ONaCl 07.12.2016 / 09:46