В Ubuntu "расширение" имени файла, то есть, часть после того, как точка (.) обычно видима. Почему Наутилус не показывает расширение eclipse.desktop
когда ls
команда ясно показывает, что это - полное имя файла?
Это list view
; не icon view
.
.desktop
файлы являются специальными файлами. Они представляют приложения в GUI, или на Вашем рабочем столе или в Тире/Единица. Для этого GUI - имя приложения определяется в строке в файле в строке
Name=Eclipse
, можно просто изменить имя того, как приложение показывает в Тире и Единице, путем изменения этой строки в .desktop
файл, не изменяясь название файла .desktop
файл. В этом случае это не важно, если файл является исполняемым файлом или нет.
, Если .desktop
файл на Вашем рабочем столе однако, если это не исполняемый файл, это не работает средством запуска, по причинам, объясненным в ответе souravac, и "показывает" под его собственным (файл) имя:
eclipse.desktop
, Если это исполняемый файл и на Вашем рабочем столе, это работает средством запуска и таким образом, это, представляет приложение. Затем это показывает название приложения, как установлено в строке Name=
, Если .desktop
файл имеет строку:
X-Ubuntu-Gettext-Domain
файл даже показывает язык - собственное имя, выбранное из файла языка, который затем покажет в Тире и Единице.
ниже сложного примера: имя файла = inkskape.desktop, "основное" имя интерфейса = Inkskape, переведенное имя = Редактор Векторной графики Inkskape
В эти ls
команда просто cli-базирующаяся и всегда показывает файл - имя.
Если .desktop
файл будет исполняемым файлом затем, то Наутилус распознает его как настольный ярлык и не отобразит название файла, а скорее строковый набор как значение Name=
свойство в файле.
В этом ссылка автор "fragos" записи:
, К сожалению, при открытии той папки в наутилусе, .desktop файлы появляются со значком, указанным в файле и с именем файла, вызванным в файле.
, Когда он говорит "имя файла, вызванное в", он подразумевает, что отображенное имя файла взято из. Я сказал бы "имя файла, вызванное в том, когда исполняемый бит установлен". Он может быть прав, что это неудачно. Странно у меня есть некоторые, которые имеют выполнить набор битов и некоторых, которые не делают. Те, которые НЕ имеют выполнить набора битов, не являются причиной неудачи, но я не знаю, почему я был удачлив. Когда бит установлен, возможно, это можно считать причудой или ошибкой.
Заключение в кавычки от политики безопасности 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
как ярлыки приложения и не показ его расширения.