ディレクトリに作成したエンブレムやメモをコピーして友達のマシンに転送しても、うまくいきません。
コピーで移動することはできますか?はいの場合、2台のUbuntuマシン間でエンブレムとメモをコピーで移動するにはどうすればよいですか?
メモとエンブレムは、~/.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