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

Dec 06 2016

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

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

回答

18 JacobVlijm Dec 07 2016 at 07:38

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

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

Name=Eclipse

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

ただし、.desktopファイルがデスクトップ上にある場合、実行可能でない場合は、souravacの回答で説明されている理由により、ランチャーとして機能せず、独自の(ファイル)名で「表示」されます。

eclipse.desktop

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

言語固有の名前

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

X-Ubuntu-Gettext-Domain

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


複雑な例の下:ファイル名= inkskape.desktop、「基本的な」インターフェース名= Inkskape、翻訳された名前= Inkskapeベクターグラフィックエディター

lsコマンド

ではlsコマンド純粋cli-ベースと常に表示されているファイル-nameを。

20 souravc Dec 07 2016 at 06:29

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

実行許可ビットが必要

  • デスクトップとシェルを含むアプリケーションは、両方が次の場合、ファイルから実行可能コードを実行してはなりません。

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

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

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

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

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

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

名前=例
名前[aa] = Ceelallo
..
名前[en_AU] =例
名前[en_CA] =例
名前[en_GB] =例
..

あなたはパーミッション(TRYチェックできるls -la /path/to/filename.extensionのが)Eclipse.desktopしてsmartgit.desktop。前者には実行可能ビットが設定されていますが、後者には設定されていません。

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

6 AlexP Dec 07 2016 at 06:48

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

H2ONaCl Dec 07 2016 at 08:46

このリンクで、作者「fragos」は次のように書いています。

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

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