จะซ่อน (ใน Thunar และ Nautilus) ไดเรกทอรีโดยไม่ใส่จุดในชื่อได้อย่างไร


14

โดยปกติแล้วโปรแกรม Linux จะเก็บการตั้งค่าของผู้ใช้ในไดเรกทอรี ~ /.* แต่น่าเสียดายที่นักพัฒนาบางคน (บางแอพพลิเคชั่นที่ฉันต้องการ) ไม่ปฏิบัติตามกฎนี้และอย่าเริ่มต้นชื่อโฟลเดอร์เก็บข้อมูลการตั้งค่าด้วยจุด ส่งผลให้เกิดโฟลเดอร์ที่ไม่เคยใช้งานผู้ใช้เกะกะ (ไม่ใช่คำที่เหมาะสมเนื่องจากอาจมีไม่มากนัก แต่ก็น่ารำคาญอยู่ดี) โฮมไดเร็กตอรี่ การเปลี่ยนชื่อไม่ใช่ตัวเลือกเนื่องจากแอปพลิเคชันจะไม่พบในกรณีนี้ (และจะสร้างขึ้นใหม่)

มีวิธีซ่อนโฟลเดอร์ที่ไม่มีจุดเริ่มต้นชื่อจากการแสดงในเบราว์เซอร์ระบบไฟล์ทั่วไป (จริง ๆ แล้วฉันใช้ Thunar ของ XFCE ควบคู่ไปกับ Midnight Commander และ Krusader แต่ก็ไม่ต้องกังวลเกี่ยวกับ Nautilus ด้วย)

คำตอบ:


18

Nautilus (อัปเดต: ควรใช้กับ Thunar ทันที)จะซ่อนไฟล์หรือโฟลเดอร์ใด ๆ ที่อยู่ในรายการของไฟล์ที่.hiddenอยู่ในไดเรกทอรีเดียวกัน

มีสองวิธีในการซ่อนโฟลเดอร์ใน Nautilus:

สคริปต์ Nautilus

  1. บันทึกรหัสต่อไปนี้ในไฟล์ใหม่ในโฟลเดอร์บ้านของคุณ 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. รันคำสั่งต่อไปนี้เพื่อติดตั้งสคริปต์:

    cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide
    
  3. ใน Nautilus ให้เลือกไฟล์ / โฟลเดอร์หนึ่งไฟล์ขึ้นไปและคลิกขวา เลือกซ่อนจากเมนูสคริปต์ :

    ป้อนคำอธิบายรูปภาพที่นี่

    โหลดตำแหน่งปัจจุบัน ( F5) อีกครั้งและไฟล์ / โฟลเดอร์ที่เลือกจะถูกซ่อน

บรรทัดคำสั่ง

สมมติว่าคุณต้องการซ่อนโฟลเดอร์ชื่อ "Rick Astley's Greatest Hits" เพียงแค่เรียกใช้คำสั่งต่อไปนี้:

echo "Rick Astley's Greatest Hits" >> .hidden

2
คำตอบที่ฉันอยากได้ แต่น่าเสียดายที่มันใช้ไม่ได้กับ Thunar
Ivan

@Ivan หวังว่าพวกเขาจะเพิ่มในที่สุดดูรายงานข้อผิดพลาดที่ฉันเชื่อมโยงในคำตอบของฉัน
อิสยาห์

ทำไมต้องใส่เครื่องหมายอัญประกาศคู่กัน "ObnoxiousFolder"?
karthick87

ปีงบประมาณรายงานข้อผิดพลาดถูกปิดเป็น WONTFIX (ค่อนข้าง IMO หยาบคายเนื่องจากมีแพทช์สำหรับมันแล้วและผู้ดูแลโครงการมักพูดว่า "ฉันไม่สนใจ") เราจะต้องแก้ปัญหาอื่น ...
วาลดีริยาน

Thunar รุ่นล่าสุดรองรับสิ่งนี้เนื่องจากใช้ GIO เพื่อตรวจสอบไดเรกทอรีที่ซ่อนอยู่และตอนนี้ GIO ใช้การสนับสนุน.hiddenไฟล์
Brian Campbell

1

เปิด synaptic และค้นหา "nautilus-hide" ติดตั้ง ออกจากระบบและเข้าสู่ระบบ ตอนนี้คลิกขวาที่ไฟล์หรือโฟลเดอร์ใด ๆ ตอนนี้คุณจะเห็นตัวเลือก "ซ่อน" ในเมนูบริบท

มันจะไม่แก้ไขชื่อ แต่ซ่อนโฟลเดอร์


0

ฉันแก้ไขสคริปต์ที่ดีของ Alvinให้เป็น Pythonic (หวังว่า) (และอาจจะเร็วกว่านี้หากมีการเพิ่มไฟล์หลายไฟล์เนื่องจาก.hiddenเปิดเพียงครั้งเดียว):

#!/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()]))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.