GUIなしでThunarにエンブレムを設定するにはどうすればよいですか?


9

スクリプトを使用してThunarのファイルにエンブレムを追加したいのですが、これに関するドキュメントが見つかりません。

これは可能ですか?もしそうなら、どうやって?

同じ質問がここで尋ねられましたが、彼らは~/.cache/Thunar/metafile.tdb私のシステムに存在しないファイルについて言及しています。その質問と答えは時代遅れだと思います。


それは存在しませんか?~/.cacheはあなたが知っている隠しファイルです..
セス

~/.cache/Thunar/さえ存在しません。Thunarでファイルにエンブレムを追加した後でもそうではありません。Thunarバージョン1.6.3がインストールされています。
Remco Haszing 2014年

回答:


13

Thunarはバージョン1.6以降、gvfs-metadataデーモンを使用してメタデータを格納し始めました。メタデータはに保存されてい~/.local/share/gvfs-metadataますが、ファイルから読み取ることはできません(私が思うに、バイナリ形式で保存されています)。メタデータを読み取るには、gvfs-info次のようなコマンドを使用します。

gvfs-info -a metadata:: /some/location  

のメタデータが出力され/some/locationます。

メタデータを変更したい場合は、gvfs-set-attribute次のようなコマンドを使用できます。

gvfs-set-attribute /some/location -t stringv metadata::mdtype value  

/some/locationは、メタデータを編集するファイル/フォルダーの場所です。-t stringvコマンドに文字列の入力を予期するように指示し、mdtype変更するメタデータのタイプ(例:)emblemsnew value設定valueし、のメタデータとして設定しmdtypeます。例えば:

gvfs-set-attribute Downloads -t stringv metadata::emblems emblem-default  

Downloadsフォルダにdefaultエンブレムを与えます。

noneエンブレムを削除するには、値をに設定します。変更を確認するには、ファイルマネージャを再起動する必要があります。


一度に複数のフォルダー/ファイルのエンブレムを変更できる小さなスクリプトを書きました。

run() {    
cd # make sure we're in the home directory
echo 'What emblem do you want to apply?'
read emblem

if ! [ -z $emblem ]; then
    for i in $@
    do
        echo 'Changing stuff...'
        $(gvfs-set-attribute $i -t stringv metadata::emblems $emblem)
    done
    echo 'Done!'
else
    echo 'Emblem must be specified! Exiting...'
    exit  
fi
}

init() {

if [[ -z $@  ]]; then
    echo "No arguments provided"
else   
    run $@
fi
}

init $@  

出典:


@RemcoHaszing編集した回答を確認してください。エラーが発生し、修正しました。
Seth

Dropboxフォルダのステータスを示すようにエンブレムを設定するスクリプトを書きたかったので、知りたかったのです。新しく追加されたエンブレムを確認し、後でこれを最新の回答で読むために、Thunarを再起動する必要があることがわかりました。Thunarが実行中にこれらの変更を取得できるかどうかを知っていますか?
Remco Haszing 2014年

@RemcoHaszingいいえ、それは実際には不可能です。Thunarは継続的に変更をポーリングする必要があり、そのためには多くのリソースが必要になります。スクリプトを編集して、実行しようとしていることに応じて、Thunarのすべての実行中のインスタンスを閉じ、Dropboxフォルダーで新しいインスタンスを開くことができます。
Seth

とても素敵なスクリプトとコマンド。これは、ファイルとディレクトリに対して完全に機能します。ただし、私のDropboxフォルダは独自のパーティション/ dev / sda2ですが、〜/ Dropboxにマウントされます。〜/ Dropboxのエンブレムを設定しようとしましたが、機能しませんでした。何か案は?ありがとう
jbrock

@jbrockファイルマネージャを再起動しましたか?変更は、再起動するまで有効になりません。それでも解決しない場合は、私にはわかりません。新しい質問をしてみてください。手助けしたいのですが、現在、この特定の問題をテストするためのリソースが不足しています。ごめんなさい!
Seth
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.