web-dev-qa-db-fra.com

Pourquoi ce nom de fichier est-il tronqué dans Nautilus?

Dans Ubuntu, "l'extension" d'un nom de fichier, c'est-à-dire que la partie après le point (.) Est normalement visible. Pourquoi Nautilus ne montre-t-il pas l'extension de Eclipse.desktop alors que la commande ls indique clairement qu'il s'agit du nom de fichier complet?

C'est le list view; pas le icon view.

screenshot

7
H2ONaCl

À propos des fichiers .desktop et de leurs fonctions spéciales

Les fichiers .desktop sont des fichiers spéciaux. Ils représentent ​​applications dans l'interface graphique, sur votre bureau ou dans Dash/Unity. Pour ce faire, un GUI - nom de l'application est défini dans une ligne à l'intérieur du fichier dans la ligne

Name=Eclipse

Vous pouvez simplement changer le nom de l'application dans Dash et Unity, en modifiant cette ligne dans le fichier .desktop, sans modifier le nom fichier du fichier .desktop. Dans ce cas, peu importe si le fichier est exécutable ou non.

Si le fichier .desktop est sur votre burea, cependant, s'il est not ​​exécutable, il ne fonctionne pas comme un programme de lancement, pour des raisons expliquées dans la réponse de souravac, et "montre" sous son propre nom (fichier):

Eclipse.desktop

S'il est est ​​exécutable et sur votre bureau, il fonctionne comme un lanceur et représente donc une application. Then affiche le nom de l'application, tel qu'il est défini dans la ligne Name=

Nom spécifique à la langue

Si le fichier .desktop contient la ligne:

X-Ubuntu-Gettext-Domain

le fichier affiche même un nom spécifique à la langue, extrait d'un fichier de langue, qui apparaîtra ensuite dans Dash et Unity.


ci-dessous un exemple compliqué: nomfichier = inkskape.desktop, nom d'interface "de base" = Inkskape, nom traduit = éditeur Inkskape Vector Graphics

enter image description here

La commande ls

Dans la commande ls, elle est purement basée sur le client et affiche toujours le nom fichier.

18
Jacob Vlijm

Citant de politique de sécurité d'Ubunt :

Bit d'exécution-autorisation requis

  • Les applications, y compris les bureaux et les shells, ne doivent pas exécuter de code exécutable à partir de fichiers lorsqu'elles sont à la fois:

    • manque le bit exécutable
    • situé dans le répertoire de base ou le répertoire temporaire d'un utilisateur.
  • Cela inclut les fichiers * .desktop, * .jar et * .exe.

Qu'est-ce qu'un fichier .desktop valide sous le répertoire de base de l'utilisateur?

Selon la politique de sécurité d'Ubuntu, l'autorisation d'exécution dans les fichiers et les scripts shell .desktops est indispensable pour exécuter le code exécutable à partir de ces fichiers lorsqu'ils se trouvent dans le répertoire de base d'un utilisateur.

Nautilus ne considère pas un fichier .desktop comme un raccourci d’application valide, sauf s’il dispose d’un bit exécutable lorsqu’il se trouve dans le répertoire de base de l’utilisateur.

D'autre part, il est codé en dur dans le code source de Nautilus qu'il indiquera un nom de fichier .desktop valide à partir du champ Name= ou Name[$LANG] à l'intérieur du fichier .desktop en ignorant le nom de fichier. et extension. Ceci ne s'applique pas aux fichiers .sh ou .jar dans Nautilus.

Exemple: Lors d'une nouvelle installation Ubuntu, chaque utilisateur obtient examples.desktop dans son répertoire personnel. Le nom du fichier est examples.desktop. Mais en nautile, on peut le voir comme Examples. Si vous regardez à l'intérieur du fichier .desktop, vous pouvez voir ce qui suit (je n'en montre qu'une partie):

Nom = Exemples 
 Nom [aa] = Ceelallo 
 .. 
 Nom [en_AU] = Exemples 
 Nom [en_CA] = Exemples 
 Nom [ en_GB] = Exemples 
 .. 

Vous pouvez vérifier l'autorisation (essayez ls -la /path/to/filename.extension) de Eclipse.desktop et smartgit.desktop. Le premier a le bit exécutable défini alors que le dernier ne l’a pas.

C’est pourquoi Nautilus reconnaît Eclipse.desktop comme raccourci d’application et n’affiche pas son extension.

20
souravc

Si un fichier .desktop est exécutable, Nautilus le reconnaîtra comme un raccourci sur le bureau et n’affichera pas le nom du fichier, mais plutôt la chaîne définie comme valeur de la propriété Name= du fichier.

6
AlexP

À cet lien auteur "fragos" écrit:

Malheureusement, si vous ouvrez ce dossier dans Nautilus, les fichiers .desktop apparaissent avec l’icône spécifiée dans le fichier et le nom du fichier appelé dans le fichier.

Quand il dit "nom de fichier appelé à l'intérieur", il signifie que le nom de fichier affiché est pris de l'intérieur. Je dirais "nom de fichier appelé lorsque le bit exécutable est défini". Il a peut-être raison de dire que c'est regrettable. Étrangement, certains ont le bit d'exécution défini et d'autres non. Ceux qui n'ont PAS le bit d'exécution défini ne sont pas une cause de malheur mais je ne sais pas pourquoi j'ai eu de la chance. Lorsque le bit est défini, cela peut être considéré comme une erreur ou un bogue.

0
H2ONaCl