.desktopファイルのアイコンパス


11

デスクトップに.desktopファイルがあります。入力すると:

Icon=/home/ianbell/Pictures/myLogo.png

.desktopファイルのアイコンが変更されます(予期される結果)。

しかし、私がタイプすると:

Icon=~/Pictures/myLogo.png

動作しません。

~/ショートカットではありません/home/$USERか?


1
〜はシェルではホームディレクトリの略です。
user253751

@JacobVlijm:すみません、私は眠りに落ちました、私は昼と夜をプログラミングしています:-)

1
@IanBell Haha私は気持ちを知っています:)
Jacob Vlijm

/ home / $ USERは機能しません。あなたが探しているようです-/ home / $(whoami)。以下の私のコメントを参照してください。
Ajay Kumar

回答:


10

.desktopファイルでのパスの使用

では.desktop、ファイル、あなたが使用する必要が絶対完全なパスを。したがって~展開されません。

これはよくある間違いです:)

アイコンに関する例外はここで説明されています

ファイルマネージャ、メニューなどに表示するアイコン。名前が絶対パスの場合、指定したファイルが使用されます。名前が絶対パスでない場合は、アイコンテーマの仕様で説明されているアルゴリズムを使用してアイコンが検索されます。

そしてここ

アイコンフィールドは、ランチャーが使用するアイコンであり、アプリケーションを表します。ディレクトリの下にあるすべてのアイコンに /usr/share/pixmaps絶対パスを指定する必要はありませんが、拡張子なしのファイル名を指定します。たとえば、アイコンファイルがの場合、アイコン /usr/share/pixmaps/wallch.pngフィールドは「wallch」のみになります。他のすべてのアイコンには、フルパスを指定する必要があります。

詳しくは

.desktopファイル:

ではIcon=ライン、あなたがされているスペースを使用することを許可します:

Icon=/home/jacob/Thema/icon/some folder/some icon.png

結構です。

しかしながら

このExec=行では、引数の場合を除き、スペースを使用できません。それ以外の場合はすべて、パスステップをスペースで引用する必要があります。

Exec=/home/jacob/Bureaublad/some folder/application

失敗しますが、

Exec="/home/jacob/Bureaublad/some folder/application"

または

Exec=/home/jacob/Bureaublad/"some folder"/application

うまくいきます


では、「ユーザーのホームディレクトリ」からの相対パスをどのように参照すればよいでしょうか。
アーロンフランケ2018

Aaron Franke、$(whoami)を使用して現在のユーザー名を取得できます。私は試していませんが、これはうまくいくはずです-現在のユーザーのホームディレクトリ-/ home / $(whoami)。
Ajay Kumar

私が試したところ、それはアーロンで動作します。
Ajay Kumar

4

つまり、.desktopファイルのIcon=パスは絶対パスを認識しますが、チルダ展開は認識しません。これは、ファイルの動作方法を定義する仕様のためです.desktop

チルダ拡張

  • チルダ(~)が$HOME環境変数に展開されている場所は、多くの場合、たとえばbashです。これは、コマンドプロンプトで操作する通常のログインシェルです。
  • bash、および他のPOSIX準拠のシェルは、シェルの POSIX仕様と一致するチルドから$ HOMEへの展開を行います

.desktopファイル

  • ただし、.desktopファイルはシェルと同じではなく、プレーンテキストの設定ファイルであるため.desktop、Linuxでファイルとシェルの両方が見つかる場合でも、必ずしも同じように機能するとは限りません。
  • .desktopのファイルの動作方法は、Freedesktopのデスクトップエントリ仕様で定義されています。

デスクトップエントリの仕様についてIcons

名前が絶対パスの場合、指定されたファイルが使用されます。

これは、絶対パスを使用できた理由です。仕様でカバーされているためです。

名前が絶対パスでない場合は、アイコンテーマの仕様で説明されているアルゴリズムを使用してアイコンが検索されます。

Icon Theme Specificationを確認すると、POSIXのチルダ拡張に完全に従う必要があるとは何も言われていません。

概要

したがって、.desktopIcon=設定に関するFreedesktopの仕様により、絶対パスがサポートされていますが、ご存知のように、POSIXのチルドから$ HOMEへの展開はサポートされていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.