caja 데스크탑에서 삼바 공유의 아이콘 위치 조작

caja 데스크탑에서 삼바 공유의 아이콘 위치 조작

gio set다음 명령을 사용하여 바탕 화면 아이콘의 위치를 ​​조작하는 방법을 알고 있습니다.

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

그러나 이는 삼바 공유에서는 작동하지 않습니다. 삼바 공유도 찾을 수 없습니다. ~.local/share/gvfs-metadata/(외장 드라이브는 어디에 있나요?)

Caja 데스크탑에서 gio를 사용하여 삼바 공유 아이콘을 작동하는 방법은 무엇입니까?

답변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

관련 정보