Bagaimana cara menyembunyikan (di Thunar dan Nautilus) direktori tanpa meletakkan titik di namanya?

14

Biasanya program Linux menyimpan pengaturan pengguna di direktori ~ /.*. Namun sayangnya beberapa pengembang (dari beberapa aplikasi yang saya butuhkan) tidak mengikuti aturan ini dan tidak memulai pengaturan folder penyimpanan nama mereka dengan sebuah titik. Ini menghasilkan folder yang tidak pernah digunakan oleh pengguna menjadi berantakan (mungkin bukan kata yang tepat, karena jumlahnya tidak banyak, tetapi tetap saja mengganggu) direktori home. Mengganti nama mereka bukanlah suatu opsi, karena aplikasi tidak akan menemukannya dalam hal ini (dan akan membuatnya lagi).

Apakah ada cara untuk menyembunyikan folder tanpa titik mulai namanya ditampilkan di browser sistem file yang umum (saya benar-benar menggunakan Thunar of XFCE, bersama dengan Midnight Commander dan Krusader, tetapi tidak akan keberatan untuk mengetahui tentang Nautilus juga).

Ivan
sumber

Jawaban:

18

Nautilus (Pembaruan: Ini juga harus bekerja dengan Thunar sekarang) akan menyembunyikan file atau folder apa pun yang tercantum dalam file yang .hiddenterletak di direktori yang sama.

Ada dua cara untuk menyembunyikan folder di Nautilus:

Skrip Nautilus

  1. Simpan kode berikut dalam file baru di folder rumah Anda. Beri nama Hide.

    #!/usr/bin/env python
    
    import commands
    from os.path import join
    
    
    files = commands.getoutput("echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
    cwd = commands.getoutput("echo $NAUTILUS_SCRIPT_CURRENT_URI")
    cwd = cwd[7:]
    
    for f in files.split(" /"):
    
        f = f.split("/")[-1]
    
        commands.getoutput("echo "+f+" >> "+join(cwd, ".hidden"))
  2. Jalankan perintah berikut untuk menginstal skrip:

    cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide
    
  3. Di Nautilus, pilih satu atau lebih file / folder dan klik kanan. Pilih Sembunyikan dari menu Skrip :

    masukkan deskripsi gambar di sini

    Muat ulang lokasi saat ini ( F5) dan file / folder yang dipilih akan disembunyikan.

Garis komando

Katakanlah Anda ingin menyembunyikan folder yang disebut "Hit Hebat Terbesar Rick Astley", jalankan saja perintah berikut:

echo "Rick Astley's Greatest Hits" >> .hidden
Yesaya
sumber
2
Sejenis jawaban yang ingin saya dapatkan. Tapi, sayangnya, tidak berhasil untuk Thunar.
Ivan
@Van, Semoga mereka akan menambahkannya nanti, lihat laporan bug yang saya tautkan dalam jawaban saya.
Yesaya
Mengapa mengutip ganda "ObnoxiousFolder" ??
karthick87
FYI, laporan bug ditutup sebagai WONTFIX (IMO agak kasar, karena sudah ada tambalan untuk itu, dan pengelola proyek pada dasarnya mengatakan "Saya tidak peduli"). Kami akan membutuhkan solusi lain ...
waldyrious
Versi terbaru dari Thunar mendukung ini karena mereka menggunakan GIO untuk menentukan direktori tersembunyi, dan GIO sekarang mengimplementasikan dukungan untuk .hiddenfile tersebut.
Brian Campbell
1

Buka sinaptik dan cari "nautilus-hide" menginstalnya. Logout dan login. Sekarang klik kanan pada file atau folder apa pun. Anda sekarang akan melihat opsi "Sembunyikan" di Menu Konteks.

Itu tidak akan mengubah nama tetapi menyembunyikan folder.

Magang Penasaran
sumber
0

Saya memodifikasi skrip Alvin yang bagus menjadi (semoga) lebih Pythonic (dan berpotensi lebih cepat jika banyak file ditambahkan, karena .hiddendibuka hanya sekali):

#!/usr/bin/env python

import os

files = os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].split()
# According to https://help.ubuntu.com/community/NautilusScriptsHowto
# the list is newline-delimited, which is split()'s default separator

# No need for NAUTILUS_SCRIPT_CURRENT_URI
cwd = os.path.dirname(files[0])
# Assuming all selected files are in the same path, I cannot imagine why not

# Instead of relying on "echo ... >> ..." use Python's IO:
with open(os.path.join(cwd, ".hidden"), "a") as hidden:
    hidden.write("\n".join(
        [os.path.basename(f) for f in files.split()]))
Tobias Kienzler
sumber