मैं GUI के बिना थुनार में प्रतीक कैसे स्थापित करूं?


9

मैं एक स्क्रिप्ट का उपयोग करके थुनार में एक फ़ाइल में प्रतीक जोड़ना चाहूंगा, लेकिन मुझे इस पर कोई दस्तावेज नहीं मिल सकता है।

क्या इसे करना संभव है? और यदि हां, तो कैसे?

वही सवाल पूछा गया था यहाँ , लेकिन वे एक उल्लेख ~/.cache/Thunar/metafile.tdbफ़ाइल जो अपने सिस्टम पर मौजूद नहीं है। मुझे लगता है कि सवाल और जवाब पुराना है।


क्या आप सुनिश्चित हैं कि इसका अस्तित्व नहीं है? ~/.cacheएक छुपी हुई फाइल है जिसे आप जानते हैं ..
सेठ

~/.cache/Thunar/मौजूद भी नहीं है। थूनार में एक फ़ाइल में एक प्रतीक जोड़ने के बाद भी नहीं। मेरे पास थुनर संस्करण 1.6.3 स्थापित है।
रेमको हेज़िंग

जवाबों:


13

संस्करण 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मेटाडेटा का प्रकार जिसे आप बदलना चाहते हैं (जैसे emblems) और इसके लिए मेटाडेटा के रूप में new 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 कृपया मेरे संपादित उत्तर की जाँच करें, मैंने एक त्रुटि की और अब इसे ठीक कर दिया है।
सेठ

मैं जानना चाहता था, क्योंकि मैं एक स्क्रिप्ट लिखना चाहता था जो मेरे ड्रॉपबॉक्स फ़ोल्डर्स की स्थिति को इंगित करने के लिए प्रतीक सेट करती है। मुझे पता चला कि मुझे नए जोड़े गए प्रतीक को देखने के लिए थुनार को फिर से शुरू करना होगा और इसके बाद आपके अपडेट किए गए उत्तर में पढ़ना होगा। क्या आप जानते हैं कि थूनार किसी तरह दौड़ते हुए इन बदलावों को उठा सकता है या नहीं?
रेमो हसिंग

@RemcoHaszing नहीं, यह वास्तव में संभव नहीं है AFAIK। थूनर को लगातार बदलाव के लिए चुनाव करना होगा और इसके लिए बहुत सारे संसाधन लेने होंगे। मैं थूनर के सभी चल रहे उदाहरणों को बंद करने के लिए स्क्रिप्ट को संपादित कर सकता हूं और अपने ड्रॉपबॉक्स फ़ोल्डरों में एक नया उदाहरण खोल सकता हूं, जो इस बात पर निर्भर करता है कि आप वास्तव में क्या करने की कोशिश कर रहे हैं।
सेठ

बहुत अच्छी स्क्रिप्ट और कमांड। यह पूरी तरह से फाइलों और निर्देशिकाओं पर काम करता है। हालाँकि, मेरा ड्रॉपबॉक्स फ़ोल्डर का अपना विभाजन / dev / sda2 है, लेकिन यह ~ / ड्रॉपबॉक्स पर निर्भर करता है। मैं ~ / ड्रॉपबॉक्स के लिए प्रतीक स्थापित करने की कोशिश की, लेकिन यह काम नहीं किया। कोई विचार? धन्यवाद
jbrock

@jbrock क्या आपने फ़ाइल प्रबंधक को पुनः आरंभ किया? पुनः आरंभ होने तक परिवर्तन प्रभावित नहीं करते हैं। अगर वह इसे हल नहीं करता है, तो मुझे डर है कि मुझे नहीं पता। आप एक नया प्रश्न पूछ सकते हैं। मैं मदद करना पसंद करूंगा, लेकिन वर्तमान में इस विशिष्ट समस्या का परीक्षण करने के लिए मेरे पास संसाधनों की कमी है। माफ़ करना!
सेठ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.