노틸러스 파일 관리자가 열린 탭을 기억하게하려면 어떻게해야합니까? 열 때 열린

노틸러스 파일 관리자를 닫았다가 다시 열 때 열린 탭을 유지할 수 있습니까?

다른 로그 아웃 및 재시작에서도 가능합니다.



답변

노틸러스의 (매우) 제한된 명령 행 옵션

불행하게도, 노틸러스는 열린 창의 디렉토리를 읽을 수있는 명령 줄 옵션을 제공하지 않으며 기존의 창을 다른 디렉토리 로 보내는 옵션도 없습니다 . 보이지 않는 내용을 기억할 수 없으므로 첫눈에 옵션이 부족합니다.

하나

우리는하지 xdotool말아야 할 것을 nautilus하지 말고 적어도 당신이 묘사 한 행동을 위조 해야합니다. 어떻게해야할지 모른다면 “믿을 것”과 같은 방식으로 그렇게 할 수 있습니다.

아래의 해결책으로 다시 시작해도 살아남지는 않지만 “기억”창과 열려있는 모든 디렉토리는 한 세션 내에서 가능합니다. “두 번째 선택”에 관심이 있다고 언급 했으므로 여기에 있습니다.

작동 방식; 과정

우리는 할 수 없지만 종료 창을하고 탭을 열어 디렉토리를 유지, 우리는 할 수 있습니다 겉으로는 (완전히)의 도움으로 사라질 기존 창을 xdotool.

우리는 이후의 동작을 변경하는 경우 nautilus그 방식으로 실행을 먼저 수를 찾습니다 매핑되지 않은 창을 다시 매핑은, 새를 열기 전에 효과적으로 우리가 정확히 것처럼 동일한 동작 nautilus마지막으로 사용 된 창 (들)을 기억하고있다.

설정 방법

  1. 아래 스크립트를 빈 파일로 복사하여 다른 이름으로 저장하십시오. remember.py

    #!/usr/bin/env python3
    import subprocess
    import os
    
    app = "nautilus"
    
    wfile = os.environ["HOME"]+"/.unmapped_"+app
    
    def get(cmd):
        # simply a helper function
        return subprocess.check_output(cmd).decode("utf-8").strip()
    
    def check_windowtype(w_id):
        # check the type of window; only unmap "NORMAL" windows
        return "_NET_WM_WINDOW_TYPE_NORMAL" in get(["xprop", "-id", w_id])
    
    def get_pid(app):
        # (try to) get the pid of the application 
        try:
            return get(["pgrep", app])
        except subprocess.CalledProcessError:
            pass
    
    def get_matches(pid):
        # get the window list, select the valid (real) app's windows
        ws = get(["wmctrl", "-lpG"]).splitlines()
        matches = [w.split() for w in ws if pid in w]
        return [w for w in matches if check_windowtype(w[0]) == True]
    
    try:
        # try to read the file with unmapped windows
        wininf = [l.split() for l in open(wfile).readlines()]
    except FileNotFoundError:
        # if there are no, unmap the current app's windows
        filebrowserwins = get_matches(get_pid(app))
        if filebrowserwins:
            open(wfile, "wt").write(("\n").join((" ").join(l) for l in filebrowserwins))
            for w in [w[0] for w in filebrowserwins]:
                subprocess.Popen(["xdotool", "windowunmap", w])
        else:
            arg = "--new-window" if app == "nautilus" else ""
            subprocess.Popen([app, arg])
    else:
        # re- map unmapped windows
        for w in wininf:
            wid = w[0]; geo = w[3:7]
            subprocess.call(["xdotool", "windowmap", wid])
            subprocess.Popen(["wmctrl", "-ir", wid, "-e", "0,"+(",").join(geo)])
        os.remove(wfile)
  2. 스크립트는 모두 필요 wmctrl하고를 xdotool:

    sudo apt-get install wmctrl xdotool
    
  3. 복사 nautilus에서 런처 /usr/share/applications~/.local/share/applications

    15.04 이상 :

    cp /usr/share/applications/org.gnome.Nautilus.desktop ~/.local/share/applications
    

    이전 우분투 버전의 경우 :

    cp /usr/share/applications/nautilus.desktop  ~/.local/share/applications
    
  4. gedit로 로컬 사본을 엽니 다.

    gedit ~/.local/share/applications/org.gnome.Nautilus.desktop
    

    (의 경우 15.04 +)

    로 시작 하는 첫 번째 줄을 찾으십시오 Exec=. 다음으로 변경하십시오.

    Exec=python3 /path/to/remember.py
    

    파일을 저장하고 닫습니다.

  5. 동일한 명령으로 키보드 단축키를 생성하십시오 : 시스템 설정> “키보드”> “바로 가기”> “사용자 정의 단축키”를 선택하십시오. “+”를 클릭하고 다음 명령을 추가하십시오.

    python3 /path/to/remember.py
    
  6. 이제 로그 아웃했다가 다시 로그인하십시오

사용하는 방법

사용법은 매우 간단합니다.

  • 창을 열려면 평소와 같이하십시오. 노틸러스 실행기를 클릭하십시오. 원하는대로 창을 탭하십시오.

  • 창을 확실하게 닫으려면 창의 “닫기”( x ) 상자 를 클릭하여 창을 닫으십시오 .

  • 창과 모든 탭 을 유지 하려면
    바로 가기 키를 누릅니다. 창이 사라집니다 (겉보기에는 닫힙니다).

  • 다음에 시작 관리자를 클릭하면 노틸러스 창이 마지막과 똑같이 표시되며 창 위치도 그대로 유지됩니다.

그게 다야

노트

  • 내가 실행 한 테스트에서 찾을 수없는 수 있는 단점 (1404). 당신이 어떤에 빠질 수 있다면, 언급하십시오!
  • 에서 사용하는 방법 -section, 나는 가능한 매핑되지 않은 창문을 매핑하기 위해 노틸러스 아이콘을 클릭 제안했다. 그러나 바로 가기 키도 동일하게 작동하므로 가장 편리한 기능을 확인할 수 있습니다. 또한 폴더 를 매핑 해제 한 후 두 번 클릭하여 폴더를 열면 매핑되지 않은 폴더가 바로 가기로 다시 매핑됩니다.

편집하다:

니모 사용자

Nemo 사용자는 위의 솔루션을 동일하게 사용할 수 있지만 다음을 수행하십시오.

  • 스크립트의 헤드 섹션에서 다음을 변경하십시오.

    app = "nautilus"
    

    으로:

    app = "nemo"
    
  • 포인트 3에서 다음을 사용하십시오.

    cp /usr/share/applications/nemo.desktop ~/.local/share/applications
    
  • 포인트 4에서 다음을 사용하십시오.

    gedit ~/.local/share/applications/nemo.desktop
    

테스트, 니모와 함께 일하는 것으로 입증 됨


답변

노틸러스에는 해당 기능이 없으므로 다른 파일 관리자를 대신 사용하는 것이 좋습니다 .

트릭을 수행하는 대체 앱은 다음과 같습니다. SpaceFM

설치 방법은 다음과 같습니다.

물론 마지막 탭 다시 열기 와 같은 다양한 기능이 있습니다 .

기본 파일 관리자로 설정 하려면 다음을 수행하십시오 .

xdg-mime default spacefm.desktop inode/directory


답변

이 스크립트를 사용하여 노틸러스 파일 관리자의 탭을 저장하고 복원하십시오.
https://github.com/susurri/nautilus_save_tabs/


답변

폴더에 액세스하는 가장 쉬운 방법은 북마크입니다. 탭을 열어 두지 않아도 최소한 원하는 폴더를 빠르게 볼 수 있습니다 (생각하면 북마크가 탭으로 작동 함).

노틸러스에서 폴더를 열고 북마크 메뉴로 이동하여 북마크를 추가하십시오.