Solusi tertulis
1. Tampilan perpustakaan diperbarui secara otomatis
Dengan skrip latar belakang di bawah ini, Anda dapat mengatur direktori, yang secara virtual menunjukkan konten gabungan dari sejumlah folder lain yang sewenang-wenang.
Konten folder (ada symlink) secara dinamis disinkronkan dengan sumber (gabungan).
Bagaimana itu bekerja
Skrip secara berkala mencantumkan konten folder sumber serta folder yang ditargetkan untuk tampilan "perpustakaan".
- Jika ada item di salah satu folder sumber, tidak ada di perpustakaan, symlink akan dibuat di perpustakaan.
- jika ada item di perpustakaan, tidak ada di folder sumber mana pun (sebenarnya tautan rusak), item tersebut dihapus dari perpustakaan.
Membandingkan daftar sangat ringan (terprogram) dan sumber daya yang rendah. Saya menguji skrip dengan loop yang lebih cepat daripada skrip di bawah ini, dengan sejumlah item sekitar 500 dalam satu level direktori, tanpa tambahan (yang terlihat) memuat apa pun.
Script dan cara menggunakannya
#!/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)
- Salin skrip ke file kosong, simpan sebagai
library_view.py
Tes-jalankan skrip dengan direktori yang ditargetkan , untuk melihat direktori gabungan di, sebagai argumen pertama , direktori sumber sebagai argumen berikutnya, misalnya:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
Perintah ini akan menampilkan konten folder source1
dan source2
in virtual_library
.
Jika semua berfungsi dengan baik, tambahkan ke aplikasi startup: Dash> Aplikasi Startup> Tambah. Tambahkan perintah:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
Catatan
Seperti yang disebutkan, Anda dapat menambahkan lebih dari dua direktori soure jika Anda mau.
2. Versi manual
Jika Anda memilih untuk tidak menggunakan skrip latar belakang karena suatu alasan, Anda dapat memperbarui (menyinkronkan) folder pustaka secara manual, dengan perintah yang persis sama di bawah tombol pintas, menggunakan skrip di bawah ini:
#!/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)
Pilih: Pengaturan Sistem> "Keyboard"> "Pintasan"> "Pintasan Khusus". Klik "+" dan tambahkan perintah untuk kombinasi tombol pilihan Anda:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
sudo mount --bind olddir newdir
tapi ini mungkin tidak persis apa yang Anda cari ...