web-dev-qa-db-ja.com

エンブレムとメモをコピーで移動する

ディレクトリに作成したエンブレムやメモをコピーして友達のマシンに転送しても、うまくいきません。

enter image description hereenter image description here

コピーで移動することはできますか?はいの場合、2台のUbuntuマシン間でエンブレムとメモをコピーで移動するにはどうすればよいですか?

4
Achu

メモとエンブレムは、~/.local/share/gvfs-metadata/または(Ubuntuの古いバージョン(2008-ish)の場合)~/.nautilus/metafiles/にバイナリ形式で保存されます。

エンブレムについて。この答えを見てください: ターミナルから複数のファイルのアイコンを変更する方法は?

注意事項について。から CRC OKウェブログ

メモはファイルに埋め込まれていません。メモを失うことなくファイルをアーカイブにバックアップすることはできません。また、ファイルを外部ストレージにコピーすることも、同じ論理ディスク内でファイルを自由に移動することもできません。ドキュメントをあるユーザーアカウントから別のユーザーアカウントに移動すると、ドキュメントに追加されたメモは失われます。

そのWebサイトには、.ntext拡張子の付いたメモごとに1つのファイルにメモをバックアップするスクリプトもあります。

#!/bin/bash

process_dir() {
 local -a subdirs=()
 echo "Scanning directory: $1"

 # Scan the directory, processing files and collecting subdirs
 for file in "$1"/*; do
 if [[ -f "$file" ]]; then
 echo "Processing file: $file"
 # actually deal with the file here...

 #gvfs-info $file | grep annotation | sed s/' metadata::annotation: '/''/g > $file.note
 note=$(gvfs-info "$file" | grep annotation | sed s/' metadata::annotation: '/''/g)
 #len=`echo ${#note}`
 #echo $len
 if [ -z "$note" ]
 then
 echo "No note for file $file"
 else
 echo "Found a note for file \"$file\", saying: \"$note\""
 echo "$note" > $file.ntext

 fi     # $String is null.

 Elif [[ -d "$file" ]]; then
 subdirs+=("$file")
 # If you don't care about processing all files before subfolders, just do:
 # process_dir "$file"
 fi
 done

 # Now go through the subdirs
 for d in "${subdirs[@]}"; do
 process_dir "$d"
 done
}

clear
if [[ -z "$1" ]]; then
 read -p "Please enter a directory for me to scan " dir
else
 dir="$1"
fi
process_dir "$dir"

独自のリスクでのスクリプトの使用

次のようにスクリプトを開始します。

./extract_notes /home/rinzwind/ 

そして、メモを含むファイルを/home/rinzwind/でスキャンし、そのディレクトリの.ntextで終わるfilenameになります。

それらをコピーしたファイルに戻す...

gvfs-set-attribute -t string rinzwind.txt metadata::annotation "hello Achu" 
gvfs-info -a metadata::annotation rinzwind.txt 
    attributes: 
    metadata::annotation: hello Achu

enter image description here

gvfs-infogvfs-set-attributegvfs-binInstall gvfs-bin

3
Rinzwind