web-dev-qa-db-ja.com

Nautilusでこのファイル名が切り捨てられるのはなぜですか?

Ubuntuでは、ファイル名の「拡張子」、つまり、ドット(。)の後の部分が通常表示されます。 lsコマンドが完全なファイル名であることを明確に示しているのに、NautilusがEclipse.desktopの拡張子を表示しないのはなぜですか?

これはlist viewです; icon viewではありません。

screenshot

7
H2ONaCl

.desktopファイルとその特別な機能について

.desktopファイルは特別なファイルです。それらは、デスクトップまたはDash/UnityのGUIの /アプリケーションを表します。これを行うには、GUI-アプリケーションの名前がファイル内の行に設定されますラインで

Name=Eclipse

.desktopファイルの file 名を変更せずに、.desktopファイル内のこの行を変更することにより、DashおよびUnityでのアプリケーションの表示方法の名前を簡単に変更できます。その場合、ファイルが実行可能かどうかは関係ありません。

.desktopファイルがデスクトップ上にある場合、ただし not 実行可能ファイルである場合は、ランチャーとして機能しません。 souravacの回答、および独自の(ファイル)名での「表示」:

Eclipse.desktop

is 実行可能ファイルでデスクトップ上にある場合、ランチャーとして機能するため、アプリケーションを表します。 Then は、Name=行で設定されているアプリケーションの名前を表示します

言語固有の名前

.desktopファイルに次の行がある場合:

X-Ubuntu-Gettext-Domain

ファイルには、言語ファイルから取得された言語固有の名前も表示され、DashとUnityで表示されます。


複雑な例:filename = inkskape.desktop、 "basic"インターフェイス名= Inkskape、翻訳名= Inkskape Vector Graphics Editor

enter image description here

Lsコマンド

lsコマンドでは、純粋に気候ベースであり、常に file -nameを表示します。

18
Jacob Vlijm

buntuのセキュリティポリシー からの引用:

実行許可ビットが必要

  • デスクトップとシェルを含むアプリケーションは、両方の場合、ファイルから実行可能コードを実行しないでください。

    • 実行可能ビットがない
    • ユーザーのホームディレクトリまたは一時ディレクトリにあります。
  • これには、*。desktop、*。jar、および* .exeファイルが含まれます。

ユーザーのホームディレクトリの下にある有効な.desktopファイルは何ですか?

Ubuntuのセキュリティポリシーによると、.desktopsファイルとシェルスクリプトの実行権限は、ユーザーのホームディレクトリにあるファイルから実行可能コードを実行するために必須です。

Nautilusは、ユーザーのホームディレクトリにある実行可能ビットがない限り、.desktopファイルを有効なアプリケーションショートカットと見なしません。

一方、ファイル名と拡張子を無視して、.desktopファイル内のName=またはName[$LANG]フィールドから有効な.desktopファイルの名前を表示するようにnautilusのソースコードにハードコーディングされています。これは、nautilusの.shまたは.jarファイルには適用されません。

例:Ubuntuの新規インストールでは、すべてのユーザーがホームディレクトリでexamples.desktopを取得します。ファイル名はexamples.desktopです。しかしnautilusでは、Examplesとして見ることができます。 .desktopファイルの内部を見ると、次のように表示されます(その一部のみを表示しています)。

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

ls -la /path/to/filename.extensionおよびEclipse.desktopの許可を確認できます(smartgit.desktopを試してください)。前者には実行可能ビットが設定されていますが、後者には設定されていません。

そのため、nautilusはEclipse.desktopをアプリケーションのショートカットとして認識し、その拡張子を表示しません。

20
souravc

.desktopファイルが実行可能な場合、Nautilusはデスクトップショートカットとして認識し、ファイルの名前ではなく、ファイルのName=プロパティの値として設定された文字列を表示します。

6
AlexP

これで link author "fragos"はこう書いています:

残念ながら、nautilusでそのフォルダーを開くと、ファイルで指定されたアイコンとファイル内で呼び出されたファイル名で.desktopファイルが表示されます。

彼が「内で呼び出されたファイル名」と言うとき、彼は表示されたファイル名が内部から取られることを意味します。 「実行可能ビットが設定されているときにファイル名が呼び出される」と言います。これは不幸なことだと彼は言うかもしれません。奇妙なことに、実行ビットが設定されているものとそうでないものがあります。実行ビットが設定されていないものは不幸の原因ではありませんが、なぜ幸運だったかはわかりません。ビットが設定されている場合、おそらくそれは奇抜またはバグと見なすことができます。

0
H2ONaCl