명령 줄과 그래픽 파일 브라우저의 좋은 조합이 있습니까?


15

명령 줄과 그래픽 파일 브라우저의 장점을 결합한 것보다 실현 가능한 솔루션이 있습니까?

예를 들어, 명령 행은 디렉토리를 변경하고 명령을 실행하는 것이 좋지만 축소판을 표시 할 수 없으며 파일 브라우저는 직관적이며 트리의 위치에 대한 개요는 잘 설명하지만 "토론"할 수는 없습니다 명령 줄에서와 같은 컴퓨터.

편집 : 나에게 명령 줄 사용자로서 일부 명령 줄 기능이있는 파일 브라우저보다 파일 브라우저 기능이 추가 된 명령 줄이 필요합니다.

답변:


9

돌고래 는 당신이 찾고있는 것 같습니다 :

그러나 터미널은 디렉토리 탐색의 슬레이브입니다 (GUI에서 디렉토리를 변경하면 터미널에서 변경되지만 다른 방법은 아닙니다).

터미널에서 현재 디렉토리를 변경할 때 응용 프로그램 디렉토리를 변경하기 위해 쉘이 Dolphin에 메시지를 보내 뷰를 업데이트하도록 할 수 있습니다. 이것을 쉘 rc 파일에 추가하십시오 ( 경고 : 철저히 테스트되지는 않았지만 가장 일반적인 상황에서는 여기에서 작동합니다. 사용자 책임)

세게 때리다:

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      builtin cd "$@"
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

Zsh :

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    chpwd() {
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

이것에 문제가 있습니다. 돌고래 윈도우가 현재 디렉토리를 변경하면, 터미널은 포커스를 잃습니다. 원하는 경우 개발자에게 버그 수정 (또는이 기능에 대한 완전한 기본 지원)을 요청할 수 있습니다.


불행히도 커맨드 라인에서 디렉토리를 변경하는 것은 나에게 중요한 기능 중 하나입니다.
dStulle

@dStulle : 키보드를 사용하여 디렉토리를 변경하려는 경우 Ctrl-LDolphin을 입력 하여 커서를 주소 표시 줄로 이동하면 새 디렉토리의 주소를 입력 하고을 눌러 해당 디렉토리 Enter로 이동할 수 있습니다. cd명령 줄에 실제로 입력 qdbus하려면 메시지 org.kde.dolphin.MainWindow.changeUrl($PWD)를 Dolphin으로 다시 보내기 위해 실행되는 핵을 만들 수 있어야합니다 . 그러나 나는 당신이 그것을 시도해야한다고 생각합니다. 그것은 GUI 터미널 통합의 새로운 패러다임에 주로 익숙해지고 있습니다.
Juliano

위치를 "입력"하는 것이 아니라 명령 줄에 "있을"것입니다. qdbus는 매우 훌륭하고 이것을 위해 작동 할 수 있지만 터미널을 돌고래 인스턴스에 연결하는 방법을 찾을 수 없습니다. 둘 이상의 Dolphin 창이 열려 있으면 변경할 URL을 결정할 수없는 것으로 보이고 현재 명령 줄 디렉토리를 변경하는 별칭, 스크립트 또는 함수도 찾을 수 없습니다. 편집 : 내가 시도하는 동안 다른 사람이 한 것처럼 보입니다 ...
dStulle

Dolphin 서비스는 $ KONSOLE_DBUS_SERVICE env 변수에서 터미널에서 볼 수 있습니다. 동일한 돌고래 인스턴스에서 두 개의 창이 열려 있으면 실제 문제입니다. 나는 정말로 그것들을 구별하는 방법을 모른다. $ KONSOLE_DBUS_SESSION이 있지만 돌고래 창이 아닌 곤솔 세션에만 연결됩니다. 어쨌든,이 기능을 돌고래 개발자에게 제안해야하며 그 중 절반은 위에 구현되어 있습니다.
Juliano

명확히하기 위해 : Dolphin이 부족한 것은 : (1) changeUrl ()이 호출 될 때 터미널 위젯에서 초점을 맞추지 않고 (2) 터미널이 연결된 창을 알려주는 환경 변수로 위의 스크립트가 올바른 창에 메시지.
Juliano

4

Gnome Commander 는 맨 아래에 쉘 명령 행이있는 파일 관리자입니다. 자정 사령관 (mc) 은 비슷하지만 텍스트 모드입니다. (둘 다 Norton Commander 에서 영감을 얻으십시오 .)


불행히도 명령 줄에 중요한 [tab]-자동 완성 기능과 실제 파일 축소판 미리보기가 부족한 것 같습니다.
dStulle

Ctrl-O는 Midnight Commander의 쉘로 이동하고 Ctrl-Enter는 선택된 항목의 이름을 명령 행에 배치합니다. [tab] 자동 완성과 동일하지는 않지만 아주 가깝습니다.

3

노틸러스 터미널 은 노틸러스 (Gnome의 파일 관리자) 용 플러그인입니다.

디렉토리 명령 줄을 따르지 않는, 그러나 할 합리적으로 빠르다 pwd | xclip, <Ctrl> +<l>,<Ctrl>+<v>


또한 훌륭하지만 언급 한 바와 같이 파일 브라우저는 명령 줄을 따르지 않습니다. 또한 새 디렉토리에 "cd"가 아닌 것처럼 보이지만 완전히 새로운 bash 인스턴스를 시작합니다. "ctrl-a"와 같은 일부 단축키는 명령 줄에는 영향을 미치지 않지만 파일 브라우저에는 영향을 미치지 않습니다.
dStulle


0

다음은 dolphin + qdbus + 터미널을 사용한 @Juliano의 답변 변형입니다 (코드 스 니펫의 형식을 지정하기 위해 주석 대신 답변으로 여기에 추가됨).이 변형에는 제한이 있으며 확실히 해킹입니다.

또한 "돌고래"가 연결된 터미널을 실행 중이라고 가정합니다 (보기> 패널> 터미널; 또는 "F4"를 누름). 다른 제안과 마찬가지로 콘솔에서 PWD와 일치하도록 GUI의 경로를 업데이트하라는 명령을 돌고래에게 보냅니다. 터미널이 포커스를 유지하도록하려면 xte (xautomation)를 사용하여 닫기 / 열기 (f4 + f4)를 터미널 창에 보냅니다. 즉, 터미널을 자동으로 닫았다가 즉시 다시 열면 포커스를 다시 얻습니다.

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      [ "$1" != "$PWD" ] && do_send=true || do_send=false;
      builtin cd "$@"
      if $do_send ; then
        qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null 2>&1
        xte 'key F4' >/dev/null > /dev/null 2>&1 
        xte 'key F4' >/dev/null > /dev/null 2>&1 
      fi
    }
  fi
fi

터미널이 닫히거나 다시 열릴 때 약간의 깜박임 외에 주요 문제는 돌고래 (어떤 이유로 든)가 "control + c"와 "cd {dir}"을 추가하는 것입니다 (여기서 "dir"은 파일의 경로입니다) 터미널을 다시 열 때마다 입력되는 다른 명령을 방해하여 터미널로 이동합니다. (편집 : 다른 해결 방법으로 해킹시 해킹을 추가 alias ccd=cd 하려면이 컨트롤 + c의 "c"문자가 항상 a 앞에 삽입 된 것처럼 보임 cd {path}...)

물론 돌고래에 적절한 수정을하고, 터미널에 초점을 유지하거나 돌고래에이 모든 기능을 내장하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.