स्क्रिप्टेड समाधान
1. स्वचालित रूप से अद्यतन पुस्तकालय दृश्य
नीचे पृष्ठभूमि स्क्रिप्ट के साथ, आप एक निर्देशिका सेट कर सकते हैं, वस्तुतः अन्य फ़ोल्डरों की मनमानी संख्या की संयुक्त सामग्री दिखा सकते हैं।
फ़ोल्डर की सामग्री (सिमिलिंक का मौजूदा) गतिशील रूप से (संयुक्त) स्रोतों के साथ सिंक्रनाइज़ है।
यह काम किस प्रकार करता है
स्क्रिप्ट समय-समय पर "लाइब्रेरी" -व्यू के लिए स्रोत फ़ोल्डर की सामग्री और साथ ही लक्षित फ़ोल्डर को सूचीबद्ध करती है।
- यदि किसी भी स्रोत फ़ोल्डर में आइटम हैं, तो लाइब्रेरी में मौजूद नहीं है, लाइब्रेरी में एक सिमलिंक बनाया जाएगा।
- यदि लाइब्रेरी में आइटम हैं, तो किसी भी स्रोत फ़ोल्डर में मौजूद नहीं है (वास्तव में एक टूटी हुई लिंक), आइटम को लाइब्रेरी से निकाल दिया जाता है ।
तुलनात्मक सूची अत्यंत हल्के वजन (प्रोग्रामिक रूप से) और संसाधनों पर कम है। मैंने स्क्रिप्ट का परीक्षण बहुत तेज़ लूप के साथ किया, फिर नीचे की स्क्रिप्ट में, एकल निर्देशिका स्तर में लगभग 500 की संख्या के साथ, कोई अतिरिक्त (ध्यान देने योग्य) लोड नहीं किया।
स्क्रिप्ट और कैसे उपयोग करना है
#!/usr/bin/env python3
import os
import sys
import time
# --- set loop time below (or leave it as it is)
loop = 5
# ---
# don't change anything below
target = sys.argv[1]
sources = sys.argv[2:]
while True:
currlinks = os.listdir(target)
compare = []
for dr in sources:
for f in os.listdir(dr):
compare.append(f)
if not f in currlinks:
# create link
os.symlink(dr+"/"+f, target+"/"+f)
# clean up possible broken links
for link in currlinks:
if not link in compare:
os.remove(target+"/"+link)
# loop time
time.sleep(loop)
- स्क्रिप्ट को एक खाली फ़ाइल में कॉपी करें, इसे इस रूप में सहेजें
library_view.py
टेस्ट- लक्षित निर्देशिका के साथ स्क्रिप्ट को चलाएं , संयुक्त निर्देशिका को पहले तर्क के रूप में देखने के लिए , अगली निर्देशिका के रूप में स्रोत निर्देशिकाओं को, जैसे:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
यह कमांड फ़ोल्डर्स की सामग्री को दिखाएगा source1
और source2
अंदर virtual_library
।
यदि सभी ठीक काम करते हैं, तो इसे स्टार्टअप एप्लिकेशन में जोड़ें: डैश> स्टार्टअप एप्लिकेशन> जोड़ें। कमांड जोड़ें:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
ध्यान दें
जैसा कि उल्लेख किया गया है, यदि आप चाहें तो आप दो से अधिक सॉरे निर्देशिकाओं को जोड़ सकते हैं।
2. मैनुअल संस्करण
यदि आप किसी कारण से पृष्ठभूमि स्क्रिप्ट का उपयोग नहीं करना पसंद करते हैं, तो आप लाइब्रेरी स्क्रिप्ट को मैन्युअल रूप से अपडेट (सिंक्रनाइज़ कर सकते हैं), शॉर्टकट कुंजी के तहत एक ही कमांड के साथ, नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं:
#!/usr/bin/env python3
import os
import sys
target = sys.argv[1]
sources = sys.argv[2:]
currlinks = os.listdir(target)
compare = []
for dr in sources:
for f in os.listdir(dr):
compare.append(f)
if not f in currlinks:
# create link
os.symlink(dr+"/"+f, target+"/"+f)
# clean up possible broken links
for link in currlinks:
if not link in compare:
os.remove(target+"/"+link)
चुनें: सिस्टम सेटिंग्स> "कीबोर्ड"> "शॉर्टकट"> "कस्टम शॉर्टकट"। "+" पर क्लिक करें और कमांड यो को अपनी पसंद का एक महत्वपूर्ण संयोजन जोड़ें:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
sudo mount --bind olddir newdir
लेकिन यह संभवत : ठीक वैसा नहीं है जैसा आप ...