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

Dec 06 2016

Dans Ubuntu, l '"extension" d'un nom de fichier, c'est-à-dire la partie après le point (.) Est normalement visible. Pourquoi Nautilus n'affiche-t-il pas l'extension eclipse.desktoplorsque la lscommande indique clairement qu'il s'agit du nom complet du fichier?

Ceci est le list view; pas le icon view.

Réponses

18 JacobVlijm Dec 07 2016 at 07:38

À propos des fichiers .desktop et de leur fonction spéciale

.desktoples fichiers sont des fichiers spéciaux. Ils représentent des applications dans l'interface graphique, sur votre bureau ou dans Dash / Unity. Pour ce faire, un nom GUI 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 la façon dont l'application affiche au tableau de bord et l' unité, en changeant cette ligne dans le .desktopfichier, sans changer le fichier nom du .desktopfichier. Dans ce cas, peu importe si le fichier est exécutable ou non.

Cependant, si le .desktopfichier est sur votre bureau , s'il n'est pas exécutable, il ne fonctionne pas comme un lanceur, pour les raisons expliquées dans la réponse de souravac, et "s'affiche" sous son propre nom (de fichier):

eclipse.desktop

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

Nom spécifique à la langue

Si le .desktopfichier a la ligne:

X-Ubuntu-Gettext-Domain

le fichier affiche même un nom spécifique à une langue, extrait d'un fichier de langue, qui s'affichera ensuite dans Dash et Unity.


ci-dessous un exemple compliqué: filename = inkskape.desktop, "basic" interface name = Inkskape, translation name = Inkskape Vector Graphics Editor

La commande ls

Dans la lscommande est purement basée sur le client et affiche toujours le nom du fichier .

20 souravc Dec 07 2016 at 06:29

Citant la politique de sécurité d' Ubuntu :

Bit d'autorisation d'exécution requis

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

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

Qu'est-ce qu'un .desktopfichier valide dans le répertoire personnel de l'utilisateur?

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

Nautilus ne considérera pas un .desktopfichier comme des raccourcis d'application valides sauf s'il a un bit exécutable lorsqu'ils se trouvent dans le répertoire personnel d'un utilisateur.

D'autre part, il est codé en dur dans le code source de nautilus qu'il affichera .desktople nom d' un fichier valide à partir du champ Name=ou Name[$LANG]à l'intérieur du .desktopfichier en ignorant le nom de fichier et l'extension. Cela ne s'applique pas aux fichiers .shou .jardans Nautilus.

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

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

Vous pouvez vérifier l'autorisation (essayer ls -la /path/to/filename.extension) de Eclipse.desktopet smartgit.desktop. Le premier a des bits exécutables alors que le second ne l'a pas.

C'est pourquoi nautilus reconnaît Eclipse.desktopcomme des raccourcis d'application et ne montre pas son extension.

6 AlexP Dec 07 2016 at 06:48

Si un .desktopfichier 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 Name=propriété dans le fichier.

H2ONaCl Dec 07 2016 at 08:46

À ce lien, l' 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 avec le nom de 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é à l'intérieur lorsque le bit exécutable est défini". Il a peut-être raison de dire que c'est malheureux. Étrangement, j'en ai certains qui ont le bit d'exécution défini et d'autres pas. Ceux qui n'ont PAS le bit d'exécution défini ne sont pas une cause de malchance, mais je ne sais pas pourquoi j'ai eu de la chance. Lorsque le bit est défini, cela peut peut-être être considéré comme une bizarrerie ou un bogue.