Почему это имя файла является усеченным в Наутилусе?

В Ubuntu "расширение" имени файла, то есть, часть после того, как точка (.) обычно видима. Почему Наутилус не показывает расширение eclipse.desktop когда ls команда ясно показывает, что это - полное имя файла?

Это list view; не icon view.

screenshot

7
задан 9 December 2016 в 11:43

4 ответа

О .desktop файлах и их специальной функции

.desktop файлы являются специальными файлами. Они представляют приложения в GUI, или на Вашем рабочем столе или в Тире/Единица. Для этого GUI - имя приложения определяется в строке в файле в строке

Name=Eclipse

, можно просто изменить имя того, как приложение показывает в Тире и Единице, путем изменения этой строки в .desktop файл, не изменяясь название файла .desktop файл. В этом случае это не важно, если файл является исполняемым файлом или нет.

, Если .desktop файл на Вашем рабочем столе однако, если это не исполняемый файл, это не работает средством запуска, по причинам, объясненным в ответе souravac, и "показывает" под его собственным (файл) имя:

eclipse.desktop

, Если это исполняемый файл и на Вашем рабочем столе, это работает средством запуска и таким образом, это, представляет приложение. Затем это показывает название приложения, как установлено в строке Name=

собственное имя Языка

, Если .desktop файл имеет строку:

X-Ubuntu-Gettext-Domain

файл даже показывает язык - собственное имя, выбранное из файла языка, который затем покажет в Тире и Единице.


ниже сложного примера: имя файла = inkskape.desktop, "основное" имя интерфейса = Inkskape, переведенное имя = Редактор Векторной графики Inkskape

enter image description here

ls команда

В эти ls команда просто cli-базирующаяся и всегда показывает файл - имя.

18
ответ дан 23 November 2019 в 06:07

Если .desktop файл будет исполняемым файлом затем, то Наутилус распознает его как настольный ярлык и не отобразит название файла, а скорее строковый набор как значение Name= свойство в файле.

6
ответ дан 23 November 2019 в 06:07

В этом ссылка автор "fragos" записи:

, К сожалению, при открытии той папки в наутилусе, .desktop файлы появляются со значком, указанным в файле и с именем файла, вызванным в файле.

, Когда он говорит "имя файла, вызванное в", он подразумевает, что отображенное имя файла взято из. Я сказал бы "имя файла, вызванное в том, когда исполняемый бит установлен". Он может быть прав, что это неудачно. Странно у меня есть некоторые, которые имеют выполнить набор битов и некоторых, которые не делают. Те, которые НЕ имеют выполнить набора битов, не являются причиной неудачи, но я не знаю, почему я был удачлив. Когда бит установлен, возможно, это можно считать причудой или ошибкой.

0
ответ дан 23 November 2019 в 06:07

Заключение в кавычки от политики безопасности Ubuntu:

Необходимый выполнять-бит-полномочий

  • Приложения, включая рабочие столы и оболочки, не должны выполнять исполняемый код из файлов, когда они - оба:

    • недостаток в исполняемом бите
    • расположенный в корневом каталоге пользователя или временном каталоге.
  • Это включает *.desktop, *.jar, и *.exe файлы.

Что такое допустимое .desktop файл в соответствии с корневым каталогом пользователя?

Согласно политике безопасности Ubuntu разрешение выполнения в .desktops сценарий файлов и оболочек - необходимость для выполнения исполняемого кода из тех файлов, когда они расположены в корневом каталоге пользователя.

Наутилус не рассмотрит a .desktop файл как ярлыки действительного приложения, если это не имеет исполняемый бит, когда они расположены в корневом каталоге пользователя.

С другой стороны, это трудно кодируется в исходном коде наутилуса, что это покажет допустимое .desktop имя файла от Name= или Name[$LANG] поле в .desktop файл, игнорирующий имя файла и расширение. Это не относится .sh или .jar файлы в наутилусе.

Пример: На новой установке Ubuntu добирается каждый пользователь examples.desktop в их корневом каталоге. Имя файла examples.desktop. Но в наутилусе каждый видит его как Examples. Если Вы смотрите в .desktop файл Вы видите следующее (я показываю только часть его):

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

Можно проверить разрешение (попытка ls -la /path/to/filename.extension) из Eclipse.desktop и smartgit.desktop. У первого есть исполняемый набор битов, тогда как позже не имеет.

Именно поэтому наутилус распознает Eclipse.desktop как ярлыки приложения и не показ его расширения.

20
ответ дан 23 November 2019 в 06:07

Другие вопросы по тегам:

Похожие вопросы: