cajaデスクトップ上のSamba共有のアイコン位置の操作

cajaデスクトップ上のSamba共有のアイコン位置の操作

gio set次のコマンドを使用してデスクトップアイコンの位置を操作する方法を知っています。

gio set -t string '/home/user/Schreibtisch/example' 'metadata::cajas-icon-position' '500,500'

しかし、これはSamba共有では機能しません。 Samba共有も見つかりません。~.local/share/gvfs-metadata/(外付けドライブはどこにありますか?)

Cajaデスクトップでgioを使用してSamba共有アイコンを操作するには?

ベストアンサー1

ドライブ、共有、フォルダの場所はここにテキストファイルとして保存されます。

~/.config/caja/デスクトップメタデータ

テキストエディタを使用して、このテキストファイルのアイコンの位置を変更できます。 caja -q または pkill caja を実行すると、アイコンが新しい場所に表示されます。

アイコンの場所(フォルダアイコンを含む)を保存してロードするbashスクリプトを作成しました。使い方は

./icons.sh save [name]
./icons.sh load [name]

他の構成を保存する場合は、nameパラメーターはオプションです。オペレーティングシステムに合わせて#config infoの下の行を調整する必要があるかもしれません。

#!/bin/bash

#config info
desktop=~/Desktop/*
metastr="metadata::caja-icon-position"
metafile=~/.config/caja/desktop-metadata
saveicon=~/.icon.txt
savemeta=~/.iconmeta.txt
file_manager=caja

saveinfo(){
cat /dev/null > "$saveicon"
for f in $desktop;do
p=$(gio info -a "$metastr" "$f"|grep "$metastr"|awk '{print $2}')
echo "$f;$p">>"$saveicon"
done
#save metafile
cp "$metafile" "$savemeta"
zenity --notification --window-icon="/usr/share/icons/gnome/48x48/categories/applications-other.png" --text "Icon Positions Saved"
}

loadinfo(){
str=$(cat "$saveicon")
if [ -z "$str" ];then
echo "$saveicon not found"
exit
fi

for fl in $str;do
f=$(echo "$fl"|cut -d';' -f1)
p=$(echo "$fl"|cut -d';' -f2)
gio set -t string "$f" "$metastr" "$p"
done
#load metafile
cp "$savemeta" "$metafile"
#restart file manager
pkill "$file_manager"
}

if [ -z "$1" ];then
echo "Saves or loads icon positions"
echo " Usage:"
echo "$0 save [name]"
echo "$0 load [name]"
exit
fi

if [ -n "$2" ];then
  saveicon="$2"
  savemeta="$2_meta"
fi

if [ "$1" = "save" ];then
saveinfo
fi

if [ "$1" = "load" ];then
loadinfo
fi

おすすめ記事