이름에 점을 넣지 않고 디렉토리를 숨기는 방법 (thunar 및 Nautilus에서)?


14

일반적으로 Linux 프로그램은 ~ /.* 디렉토리에 사용자 설정을 저장합니다. 그러나 불행히도 (필요한 일부 응용 프로그램의) 일부 개발자는이 규칙을 따르지 않고 설정 저장소 폴더 이름을 점으로 시작하지 않습니다. 이로 인해 사용자가 사용하지 않은 폴더가 홈 디렉토리에 어수선해질 수 있습니다. 이 경우 응용 프로그램에서 찾지 못하므로 다시 이름을 바꾸므로 이름을 바꾸는 것은 옵션이 아닙니다.

일반적인 파일 시스템 브라우저에 이름을 시작하는 점이없는 폴더를 숨길 수있는 방법이 있습니까?

답변:


18

노틸러스 (업데이트 : 이제 Thunar에서도 작동).hidden동일한 디렉토리 에있는 파일 에 나열된 파일 또는 폴더를 숨 깁니다 .

노틸러스에서 폴더를 숨기는 방법은 두 가지가 있습니다.

노틸러스 스크립트

  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. 노틸러스에서 하나 이상의 파일 / 폴더를 선택하고 마우스 오른쪽 버튼을 클릭합니다. 스크립트 메뉴 에서 숨기기 를 선택하십시오 .

    여기에 이미지 설명을 입력하십시오

    현재 위치를 다시로드하면 ( F5) 선택한 파일 / 폴더가 숨겨집니다.

커맨드 라인

"Rick Astley 's Greatest Hits"라는 폴더를 숨기려면 다음 명령을 실행하십시오.

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

2
정확히 내가 원하는 답변입니다. 그러나 불행히도 Thunar에서는 작동하지 않습니다.
Ivan

@Ivan, 희망적으로 그들은 결국 그것을 추가 할 것입니다. 내 답변에서 연결된 버그 보고서를보십시오.
이사야

왜 큰 따옴표 "ObnoxiousFolder"??
karthick87

참고로, 버그 보고서는 WONTFIX로 닫혔습니다 (이미 패치가 있었기 때문에 무례한 IMO이며 프로젝트 관리자는 기본적으로 "무관합니다"라고 말함). 또 다른 해결책이 필요합니다.
waldyrious

Thunar의 최신 버전은 GIO를 사용하여 숨겨진 디렉토리를 판별 할 때이를 지원하며 GIO는 이제 .hidden파일 지원을 구현 합니다.
Brian Campbell

1

시냅틱을 열고 "nautilus-hide"를 검색하여 설치하십시오. 로그 아웃 및 로그인 이제 파일이나 폴더를 마우스 오른쪽 버튼으로 클릭하십시오. 상황에 맞는 메뉴에 "숨기기"옵션이 나타납니다.

이름은 수정되지 않지만 폴더는 숨겨집니다.


0

Alvin의 좋은 스크립트 를 더 파이썬적인 것으로 수정했습니다 (많은 파일이 추가 .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.